diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 7497729..fb31c38 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -1,8 +1,8 @@ html, body { font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; - background: #111; - color: #fff; + background: #dddddd; + color: #111; min-height: 100vh; } body { diff --git a/routes/index.js b/routes/index.js index cf0ba7b..20adad8 100644 --- a/routes/index.js +++ b/routes/index.js @@ -17,6 +17,7 @@ let jsonAllData = { stats: {}, projects: {}, tags: {}, + weeklyDevReport: '' } /* GET home page. */ /** @@ -70,7 +71,6 @@ router.get('/', async function (req, res, next) { title: "Conversion de GTG tâches", json: jsonAllData, markdown: markdownExportData, - weeklyDevReport, getPercent, computeBgColorOnProportionOfOpenTasks, getPercentOfOpenTasks @@ -113,6 +113,7 @@ function computeData(jsonConvertedData) { listOpenMonthly: [], listClosed: [], listClosedWeekly: [], + tasksListIsDismissByTitle: [], listDevWeeklyClosed: [], listDevWeeklyOpen: [], listClosedMonthly: [], @@ -165,39 +166,41 @@ function computeData(jsonConvertedData) { for (let tag of jsonAllData.stats.listTags) { // console.log('tag', tag) - // jsonAllData.tags.tagstore.tag.map(elem => { - // // console.log('elem', elem) - // if (elem['$'].name == tag) { - // if (!elem.tasks) { - // elem.tasks = 0 - // } - // if (!elem.tasksListById) { - // elem.tasksListById = [] - // } - // if (!elem.tasksListByTitle) { - // elem.tasksListByTitle = [] - // } - // if (!elem.tasksListIsActiveByTitle) { - // elem.tasksListIsActiveByTitle = [] - // } - // if (!elem.tasksListIsDoneByTitle) { - // elem.tasksListIsDoneByTitle = [] - // } - // elem.tasks++ - // elem.tasksListById.push(taskItem['$'].id) - // elem.tasksListByTitle.push(taskItem.title) - // if (taskItem['$'].status == "Active") { - // elem.tasksListIsActiveByTitle.push(taskItem.title) - // - // } - // if (taskItem['$'].status == "Done") { - // elem.tasksListIsDoneByTitle.push(taskItem.title) - // } - // } - // if (elem.tasks > gtgData.stats.maxTasksCountPerTag) { - // jsonAllData.stats.maxTasksCountPerTag = elem.tasks - // } - // }) + jsonAllData.stats.listTags.map(elem => { + // console.log('elem', elem) + if (elem['$'].name == tag) { + if (!elem.tasks) { + elem.tasks = 0 + } + if (!elem.tasksListById) { + elem.tasksListById = [] + } + if (!elem.tasksListByTitle) { + elem.tasksListByTitle = [] + } + if (!elem.tasksListIsActiveByTitle) { + elem.tasksListIsActiveByTitle = [] + } + if (!elem.tasksListIsDoneByTitle) { + elem.tasksListIsDoneByTitle = [] + } + elem.tasks++ + elem.tasksListById.push(taskItem['$'].id) + elem.tasksListByTitle.push(taskItem.title) + if (taskItem['$'].status == "Active") { + elem.tasksListIsActiveByTitle.push(taskItem.title) + } + if (taskItem['$'].status == "Done") { + elem.tasksListIsDoneByTitle.push(taskItem.title) + } + if (taskItem['$'].status == "Dismiss") { + elem.tasksListIsDismissByTitle.push(taskItem.title) + } + } + if (elem.tasks > jsonAllData.stats.maxTasksCountPerTag) { + jsonAllData.stats.maxTasksCountPerTag = elem.tasks + } + }) } } @@ -256,119 +259,123 @@ function computeBgColorOnProportionOfOpenTasks(someProportionNumber) { let datenow = new Date(); let markdownExportData = '' -let weeklyDevReport = '' +let dataTagsMd = '' + function exportToMarkdown(res) { - + let weeklyDevReport = '' console.log('jsonAllData.stats', jsonAllData.stats); markdownExportData = `# Export de Tâches GTG \n date: ` + datenow.toLocaleString() -// // fichier de rapport des tâches fermées durant les 7 derniers jours -// weeklyDevReport = `\n# Rapport hebdomadaire de dev `; -// weeklyDevReport += `\n## 1/ Actions passées ou en cours -// \n ` - // weeklyDevReport += `\r\n## ${jsonAllData.stats.listDevWeeklyClosed.length} ont été fermées - // \n___`; - // jsonAllData.stats.listDevWeeklyClosed.map(elem => { - // weeklyDevReport += `\n| ${elem['$'].tags} | ${elem.title}|`; - // }) -// weeklyDevReport += ` -// \n___ -// \n -// \n## 2/ Actions à venir -// \n ` -// weeklyDevReport += `\r\n## ${jsonAllData.stats.listDevWeeklyOpen.length} ont été ouvertes -// \n___`; -// jsonAllData.stats.listDevWeeklyOpen.map(elem => { -// // weeklyDevReport += `\n| ${elem['$'].tags} | ${elem.title}|`; -// weeklyDevReport += `\n| ${elem.title}|`; -// }) -// weeklyDevReport += ` -// \n___ -// \n -// \n## 3/ Points de blocage / points en retard corrigés cette semaine -// \n -// \n## 4/ Points de blocage existants / points en retard à traiter -// \n -// \n## 5/ Points forts de la semaine -// \n -// \n## 6/ Points de vigilance de la semaine -// \n -// \n## 7/ Points forts de la réunion -// \n -// \n## 8/ Points de vigilance de la réunion `; -// -// markdownExportData += `\n ${weeklyDevReport}`; -// markdownExportData += `\n---`; -// markdownExportData += `\n `; -// markdownExportData += `\n# Rapport des tâches durant les 7 derniers jours `; -// markdownExportData += `\n `; -// markdownExportData += `\n## ${jsonAllData.stats.listClosedWeekly.length} ont été fermées `; -// markdownExportData += `\n `; -// jsonAllData.stats.listClosedWeekly.map(elem => { -// markdownExportData += `\n * ${elem.title}`; -// }) -// markdownExportData += `\n## ${jsonAllData.stats.listOpenWeekly.length} ont été ouvertes `; -// markdownExportData += `\n `; -// jsonAllData.stats.listOpenWeekly.map(elem => { -// markdownExportData += `\n * ${elem.title}`; -// }) -// markdownExportData += `\n--- `; -// // fichier de rapport des tâches fermées durant les 31 derniers jours -// markdownExportData += `\n# Rapport des autres tâches durant le mois `; -// markdownExportData += `\n `; -// markdownExportData += `\n## ${jsonAllData.stats.listClosedMonthly.length} ont été fermées `; -// markdownExportData += `\n `; -// jsonAllData.stats.listClosedMonthly.map(elem => { -// markdownExportData += `\n * ${elem.title}`; -// }) -// markdownExportData += `\n## ${jsonAllData.stats.listOpenMonthly.length} ont été ouvertes `; -// markdownExportData += `\n `; -// jsonAllData.stats.listOpenMonthly.map(elem => { -// markdownExportData += `\n * ${elem.title}`; -// }) -// -// markdownExportData += `\n--- `; -// // stats de fermeture des tâches -// markdownExportData += `\n# Stats de fermeture des tâches `; -// markdownExportData += `\n `; -// markdownExportData += `\n--- `; -// markdownExportData += `\n `; -// markdownExportData += `\n# Export de toutes les ${jsonAllData.stats.listOpen.length} tâches ouvertes GTG \n `; -// markdownExportData += `\n `; + // fichier de rapport des tâches fermées durant les 7 derniers jours + weeklyDevReport = `\n# Rapport hebdomadaire de dev `; + weeklyDevReport += `\n## 1/ Actions passées ou en cours +\n ` + weeklyDevReport += `\r\n## ${jsonAllData.stats.listDevWeeklyClosed.length} ont été fermées + \n___`; + jsonAllData.stats.listDevWeeklyClosed.map(elem => { + weeklyDevReport += `\n| ${elem['$'].tags} | ${elem.title}|`; + }) + weeklyDevReport += ` +\n___ +\n +\n## 2/ Actions à venir +\n ` + weeklyDevReport += `\r\n## ${jsonAllData.stats.listDevWeeklyOpen.length} ont été ouvertes + \n___`; + jsonAllData.stats.listDevWeeklyOpen.map(elem => { + // weeklyDevReport += `\n| ${elem['$'].tags} | ${elem.title}|`; + weeklyDevReport += `\n| ${elem.title}|`; + }) + weeklyDevReport += ` +\n___ +\n +\n## 3/ Points de blocage / points en retard corrigés cette semaine +\n +\n## 4/ Points de blocage existants / points en retard à traiter +\n +\n## 5/ Points forts de la semaine +\n +\n## 6/ Points de vigilance de la semaine +\n +\n## 7/ Points forts de la réunion +\n +\n## 8/ Points de vigilance de la réunion `; - // jsonAllData.stats.listOpen.map(elem => { - // dataTagsMd += `\n## ${elem.title} `; - // dataTagsMd += `\n statut : ${elem['$'].status} `; - // dataTagsMd += `\n créé le : ${elem.addeddate} `; - // dataTagsMd += `\n modifié le : ${elem.modified} `; - // dataTagsMd += `\n prévu pour : ${elem.duedate | ''} `; - // dataTagsMd += `\n ${elem.content} `; - // }) - // markdownExportData += `\n--- `; - // markdownExportData += `\n `; - // markdownExportData += `\n# Export de toutes les ${jsonAllData.stats.listClosed.length} tâches fermées GTG \n `; - // markdownExportData += `\n `; - // - // jsonAllData.stats.listClosed.map(elem=>{ - // dataTagsMd += `\n * ${elem.title} `; - // }) + markdownExportData += `\n ${weeklyDevReport}`; + markdownExportData += `\n---`; + markdownExportData += `\n `; + markdownExportData += `\n# Rapport des tâches durant les 7 derniers jours `; + markdownExportData += `\n `; + markdownExportData += `\n## ${jsonAllData.stats.listClosedWeekly.length} ont été fermées `; + markdownExportData += `\n `; + jsonAllData.stats.listClosedWeekly.map(elem => { + markdownExportData += `\n * ${elem.title}`; + }) + markdownExportData += `\n## ${jsonAllData.stats.listOpenWeekly.length} ont été ouvertes `; + markdownExportData += `\n `; + jsonAllData.stats.listOpenWeekly.map(elem => { + markdownExportData += `\n * ${elem.title}`; + }) + markdownExportData += `\n--- `; + // fichier de rapport des tâches fermées durant les 31 derniers jours + markdownExportData += `\n# Rapport des autres tâches durant le mois `; + markdownExportData += `\n `; + markdownExportData += `\n## ${jsonAllData.stats.listClosedMonthly.length} ont été fermées `; + markdownExportData += `\n `; + jsonAllData.stats.listClosedMonthly.map(elem => { + markdownExportData += `\n * ${elem.title}`; + }) + markdownExportData += `\n## ${jsonAllData.stats.listOpenMonthly.length} ont été ouvertes `; + markdownExportData += `\n `; + jsonAllData.stats.listOpenMonthly.map(elem => { + markdownExportData += `\n * ${elem.title}`; + }) - // markdownExportData += `\n `; - // markdownExportData += `\n# Export de Tags GTG \n `; - // markdownExportData += `\n `; - // markdownExportData += `\n `; + markdownExportData += `\n--- `; + // stats de fermeture des tâches + markdownExportData += `\n# Stats de fermeture des tâches `; + markdownExportData += `\n `; + markdownExportData += `\n--- `; + markdownExportData += `\n `; + markdownExportData += `\n# Export de toutes les ${jsonAllData.stats.listOpen.length} tâches ouvertes GTG \n `; + markdownExportData += `\n `; + + jsonAllData.stats.listOpen.map(elem => { + dataTagsMd += `\n## ${elem.title} `; + dataTagsMd += `\n statut : ${elem['$'].status} `; + dataTagsMd += `\n créé le : ${elem.addeddate} `; + dataTagsMd += `\n modifié le : ${elem.modified} `; + dataTagsMd += `\n prévu pour : ${elem.duedate | ''} `; + dataTagsMd += `\n ${elem.content} `; + }) + markdownExportData += `\n--- `; + markdownExportData += `\n `; + markdownExportData += `\n# Export de toutes les ${jsonAllData.stats.listClosed.length} tâches fermées GTG \n `; + markdownExportData += `\n `; + + jsonAllData.stats.listClosed.map(elem=>{ + dataTagsMd += `\n * ${elem.title} `; + }) + + markdownExportData += `\n `; + markdownExportData += `\n# Export de Tags GTG \n `; + markdownExportData += `\n `; + markdownExportData += `\n `; + + let sortedTagsByTitle = _.sortBy(jsonAllData.stats.listTags, [(o) => { + o["$"].name + }]) + + sortedTagsByTitle.map(elem => { + markdownExportData += `\n * ${elem['$'].name} , ${elem.tasks | 0}`; + }) + + markdownExportData += `\n `; + markdownExportData += `\n rapport généré avec gtg2nodejs par tykayn - contact@cipherbliss.com `; + + jsonAllData.weeklyDevReport = weeklyDevReport; - // let sortedTagsByTitle = _.sortBy(jsonAllData.tags.tagstore.tag, [(o) => { - // o["$"].name - // }]) - // - // sortedTagsByTitle.map(elem => { - // markdownExportData += `\n * ${elem['$'].name} , ${elem.tasks | 0}`; - // }) - // - // markdownExportData += `\n `; - // markdownExportData += `\n rapport généré avec gtg2nodejs par tykayn - contact@cipherbliss.com `; // write file to disk fs.writeFile(`output/export_hebdo.md`, markdownExportData, `utf8`, (err) => { diff --git a/views/index.jade b/views/index.jade index 4b3a6f4..cb73f2e 100644 --- a/views/index.jade +++ b/views/index.jade @@ -10,6 +10,7 @@ block content li #{json.stats.listOpenWeekly.length} ouvertes cette semaine li #{json.stats.listOpenMonthly.length} ouvertes ce mois-ci li #{json.stats.listClosed.length} fermées + li #{json.stats.tasksListIsDismissByTitle.length} dismissed li #{json.stats.listClosedWeekly.length} fermées cette semaine li #{json.stats.listClosedMonthly.length} fermées ce mois-ci section.markdown @@ -18,6 +19,9 @@ block content section.tags h2 #{json.stats.listTags.length} Tags p maximum de #{json.stats.maxTasksCountPerTag} tâches pour un tag. + h2 Liste de rapport hebdo + .report= json.weeklyDevReport + h2 Tags ul.tags li.head span.name nom