Add "Export board as PDF" feature 📄
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 70/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, react
- Área
- frontend
Línea de trabajo
Empieza en client/src/pages/Dashboard.jsx y lee cómo están disponibles allí las tareas y los estados del tablero. Añade la exportación a PDF usando el enfoque jsPDF propuesto y, después, verifica que el archivo descargado incluya las columnas del tablero y sus tareas, y tenga un diseño limpio y fácil de leer.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Add "Export board as PDF" feature 📄
File: client/src/pages/Dashboard.jsx
Print exists but no proper PDF export 💀
PDF should look clean and professional fr!!
Fix: use jsPDF package:
npm install jspdf
import jsPDF from 'jspdf'
const handleExportPDF = () => {
const doc = new jsPDF()
doc.setFontSize(18)
doc.text('DevBoard Export', 20, 20)
doc.setFontSize(10)
doc.text(Generated: ${new Date() .toLocaleDateString()}, 20, 28)
let y = 40
const COLUMNS = ['backlog','inprogress',
'review','done']
COLUMNS.forEach(col => {
const colTasks = tasks.filter(
t => t.status === col
)
doc.setFontSize(12)
doc.setTextColor(127, 119, 221)
doc.text(col.toUpperCase(), 20, y)
y += 6
doc.setTextColor(0, 0, 0)
doc.setFontSize(9)
colTasks.forEach(task => {
doc.text(• ${task.title}, 25, y)
y += 5
if (y > 270) { doc.addPage(); y = 20 }
})
y += 5
})
doc.save('devboard-export.pdf')
}
~25 lines! jsPDF is tiny ✅
No backend needed 🎯
- Lenguaje dominante
- JavaScript
- Estrellas
- 39
- Forks
- 105
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 47
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de anoopcodehack/DevBoard
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anoopcodehack/DevBoard#648 ·
Los mantenedores suelen responder en 2 días
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
anoopcodehack/DevBoard#647 ·
Los mantenedores suelen responder en 2 días
-
Show "No snippets yet" empty state in task modal 💻Posiblemente ocupada @tu-lasizzzz la tomó hace 1 día. Abiertogood first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 96/100
anoopcodehack/DevBoard#639 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 96/100
anoopcodehack/DevBoard#637 ·
Los mantenedores suelen responder en 2 días
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
anoopcodehack/DevBoard#627 ·
Los mantenedores suelen responder en 2 días
Todos los issues de anoopcodehack/DevBoard
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
rescript-lang/rescript#8996 ·
Los mantenedores suelen responder en 1 día
-
Add: Ministerstvoidey.ruAbiertocheck:passed logos:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
fossasia/visdom-dev#69 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
-
建议写成 1949-Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
DeanChensj/jiangshan-map#133 ·
Los mantenedores suelen responder en 1 día