enrichir le readme pour définir les 3 parties du projet

This commit is contained in:
Tykayn 2023-07-19 22:59:56 +02:00 committed by tykayn
parent e2fae4d826
commit 1b844ce08b
7 changed files with 61561 additions and 10 deletions

View File

@ -1,26 +1,59 @@
# org-report-stats
Compte rendu html des tâches réalisées dans des fichiers Orgmode
Compte rendu html des tâches réalisées dans des fichiers Orgmode.
Ce dépot permet plusieurs choses:
- convertir des fichiers orgmode en json
- faire fonctionner un serveur web express / node pour afficher un compte rendu HTML interprêtant un fichier json représentant des tâches orgmode exportées à partir d'ox-json dans emacs.
pour le lancer: npm start.
- convertir des exports de services numériques en fichier tsv et json, afin d'être utilisé par les autres parties pour en faire un compte rendu en html.
![report in preview](screenshot.png "screenshot of the report in html")
# Prérequis
* une connaissance d'Orgmode pour exporter les tâches archivées
* un export json de vos tâches archivées (voir ox-json)
* mettre l'export json dans le dossier source
* avoir Nodejs version stable
* avoir Nodejs en version stable et installer les modules node.
# Utilisation
## Configuration
Vérifiez les variables de chemin dans **parse_orgmode_to_json.mjs**, surtout outputAbsolutePath pour avoir un lieu de génération de fichier.
## compiler les fichiers org et les convertir en json
Il suffit de lancer cette commande du Makefile
```bash
make convert
```
Elle réalise la concaténation des fichiers tasks.org et tasks.org_archive faite dans all_tasks.org qui est ensuite utilisé par le script **parse_orgmode_to_json.mjs** pour fabriquer un fichier json.
la sortie est générée dans "outputAbsolutePath" définie dans "parse_orgmode_to_json.mjs"
## Données générées
### Des statistiques
* Les nombres et le type de tâches agrégées par semaine, mois et années.
* le nombre de tâches avec une date.
* le nombre de tâches sans date.
* la date de la tâche la plus ancienne
* données agrégées
* Les nombres de fois que des tags sont utilisés dans les tâches.
* Les nombres de fois que des mots sont utilisés dans les tâches.
* des données sur l'auteur, la date de génération du json, le fichier source .org ayant servi à la conversion.
###
## voir le rendu
Lancer l'exécution du fichier app avec node, et consulter l'output html.
```bash
npm start
```
# TODO
## Memacs
Les scripts inspirés de Memacs (le package python-pip) sont dans le dossier **converters**, ils permettent de convertir des fichiers exportés de divers outils numériques en feuilles de calcul pour avoir un historique général d'activités simple à lire pour les humains, et facile à analyser pour d'autres scripts.
# feuille de route TODO
Proposer une sortie json qui soit du même format que l'export ox-json d'emacs.
# DONE

View File

@ -12,7 +12,7 @@ import moment from 'moment';
const sourceFileName = 'all_tasks.org'
const sourceFilePath = './sources/' + sourceFileName;
const outputAbsolutePath = '/home/tykayn/Nextcloud/ressources/social sorting/output/';
const outputAbsolutePath = '~/Nextcloud/ressources/social sorting/output/';
const outputFileNameJson = 'export_' + sourceFileName + '_parsed.json';
let headers = []
@ -513,7 +513,7 @@ export async function writeFileInOuputFolderFromJsonObject(fileName, jsonObjectT
return await fs.writeFile(
`${outputAbsolutePath}${fileName}`,
JSON.stringify(jsonObjectThing),
JSON.stringify(jsonObjectThing, null,2),
"utf8",
(err) => {
if (err) {

61518
source/tasks.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
import fs from "node-fs";
import {headersTsv, writeFileInOuputFolderFromJsonObject} from "./utils.mjs";
import {headersTsv, writeFileInOuputFolderFromJsonObject} from "../../utils.mjs";
/**
convertir un json représentant toutes les tâches orgmode en un json rangé par dates

View File

@ -1,7 +1,7 @@
import fs from "node-fs";
import {writeFileInOuputFolderFromJsonObject} from "./parse_orgmode_to_json.mjs";
import {writeFileInOuputFolderFromJsonObject} from "../../parse_orgmode_to_json.mjs";
import moment from "moment";
import {headersTsv} from "./utils.mjs";
import {headersTsv} from "../../utils.mjs";
/**********************

View File

@ -1,5 +1,5 @@
import fs from "node-fs";
import {writeFileInOuputFolderFromJsonObject} from "./parse_orgmode_to_json.mjs";
import {writeFileInOuputFolderFromJsonObject} from "../../parse_orgmode_to_json.mjs";
import moment from "moment";

View File

@ -1,5 +1,5 @@
import fs from "node-fs";
import {headersTsv, writeFileInOuputFolderFromJsonObject} from "./utils.mjs";
import {headersTsv, writeFileInOuputFolderFromJsonObject} from "../../utils.mjs";
/**
convertir un json représentant toutes les tâches orgmode en un json rangé par dates