Intéragir en ligne de commandes avec codimd

:warning: Attention ceci est réservé aux plus geeks d’entre nous :wink:


Il est possible d’utiliser hedgedoc cli pour effectuer diverses actions sur codimd (importer ou exporter une note, historique des notes…)

Pour cela :

  • cloner le dépôt git
  • copier le fichier bin/hedgedoc dans le PATH
  • il faut se connecter sur codimd puis récupérer ses cookies sous forme d’un fichier texte. Une extension firefox ou une pour chrome permettent de le faire.
  • puis dans un terminal :
export HEDGEDOC_SERVER=https://codimd.math.cnrs.fr
export HEDGEDOC_COOKIES_FILE=/le/chemin/vers/cookies.txt

# lister les notes
hedgedoc history # --json pour afficher la sortie au format json

# exporter une note
# l'identifiant peut-être récupéré via hedgedoc history ou dans l'URL sur l'interface web
# en markdown
hedgedoc export --md identifiant 
# ou
hedgedoc export --md identifiant nom_fichier.md
# en pdf
hedgedoc export --pdf identifiant

# créer une note à partir d'un fichier markdown
hedgedoc import /chemin/vers/mon_fichier.md

En bonus un petit script qui permet de sauvegarder sur sa machine l’ensemble de ses notes (il faut avoir la commande jq installée). Chaque fichier sera nommé titre_de_la_note.md :

#!/bin/sh
export HEDGEDOC_SERVER=https://codimd.math.cnrs.fr
# attention à bien mettre à jour le fichier des cookies avant d'exécuter le script !
export HEDGEDOC_COOKIES_FILE=/le/chemin/vers/cookies.txt

for note in $(hedgedoc history --json | jq -r '.history[].id')
do
  title=$(hedgedoc history --json | jq -r ".history[] | select(.id==\"${note}\") | .text" | sed 's/ /_/g')
  ./hedgedoc export --md "$note" "${title}.md"
done

1 « J'aime »