La Lanterne Rouge

Warning: Geek Inside

Migration Hedgedoc vers Joplin : exporter toutes ses notes au format Markdown

- Posted in Sans catégorie by

Je m'étais mis il y a quelques temps à Hedgedoc pour gérer mes notes, au début seulement persos mais ensuite j'ai étendu ça à la prise de notes pour le boulot.

Hedgedoc

C'est simple, léger, efficace, et surtout on peut partager ensuite la version mise en forme via une URL dédiée (pratique pour l'envoyer aux collègues donc).

Sauf que...

Je me suis rendu compte à l'usage qu'il manquait une fonctionnalité pourtant "évidente" : la recherche fulltext dans les notes. Bien sûr, on peut mettre des tags, on peut chercher par titre, mais si on veut retrouver les notes qui mentionnent un mot-clé, point de salut. Et avec la quantité de notes qui augmente, le problème devenait rédhibitoire.

J'ai donc finalement repris la recherche d'alternative (ou de complément nous dirons) à Hedgedoc, recherche que j'avais initiée il y a quelques mois et qui avait finalement fait chou blanc, n'arrivant pas à trouver la perle rare qui cochait toutes mes cases.

Puis finalement, en acceptant le compromis que je n'aurai pas d'éditeur web, mon choix s'est porté sur Joplin. Hormis le point cité précédemment, les principales contraintes restent satisfaites :

  • libre
  • auto-hébergeable
  • éditeur Markdown
  • gestion des bloc-notes (y compris arborescence complexe)
  • gestion des contenus multimédia
  • Support Android
  • export des notes pour publication (comme Hedgedoc donc)
  • chiffrement E2EE optionnel

Joplin

Mais pour vraiment migrer de l'un à l'autre, il fallait bien que je puisse réimporter mes notes existantes depuis Hedgedoc vers Joplin. C'est en réalité très simple grâce d'un côté à hedgedoc-cli pour exporter en masse les notes depuis une instance existante, puis ensuite depuis Joplin en important le dossier complet contenant les notes exportées précédemment.

Un petit script côté hedgedoc-cli permet de générer facilement et proprement un dossier contenant toutes les notes, prêtes pour être réimportées dans Joplin :

#!/bin/bash

git clone https://github.com/hedgedoc/cli.git hedhedoc-cli
cd hedhedoc-cli/bin

HEDGEDOC_LOGIN=user@domain.tld
export HEDGEDOC_SERVER=https://hedgedoc.domain.tld

./hedgedoc login --email $HEDGEDOC_LOGIN
# Saisir le mot de passe à l'invite

mkdir -p export-by-title
while IFS=$'\t' read id name; do
  ./hedgedoc export --md $id "export-by-title/$name.md";
done <<< $(./hedgedoc history)