lowdown
Un convertisseur de markdown vers différent formats.
Convertir du markdown en gemtext:
lowdown content/about.md -tgemini
Convertir du markdown en HTML:
lowdown content/about.md -thtml
Voici un exemple plus complet où lowdown est combiné à d'autres applications POSIX shell (sort, head, grep, cat) pour créer un générateur de site minimaliste:
#!/bin/sh
# md2web.sh
#
# Conventions:
# - Les noms des fichiers markdown doivent êtres préfixés avec une date au format YYYY-MM-DD-nom-de-la-page.md
# - Dans ces fichiers le titre de premier niveau doit être sur la première ligne
# Créer feed.md et effacer son contenu à chaque exécution
touch feed.md & echo "" > feed.md
find . -type f -name "*.md" ! -name "index.md" ! -name "feed.md" | sort -r | while read -r mdfile; do
# Chemin du fichier sans l'extension .md
bname="$(basename "$mdfile" .md)"
# Extraire la date du nom du fichier
date="$(echo "$bname" | grep -Eo '[0-9]{4}-[0-9]{2}-[0-9]{2}')"
# Extraire le titre du fichier
title="$(cat < "$mdfile" | head -n 1 | grep -Eo '[^#{1}\s].+')"
# URL du fichier HTML
url="$bname.html"
# Entrée du site au format markdown
entry="* $date [$title]($url)"
# Créer la page HTML correspondante
lowdown -s "$mdfile" -o "$url" -thtml -M title="$title - monsiteweb.com"
echo "$entry" >> feed.md
done
# Créer l'index en y incluant feed.md
cat <<EOF | lowdown -s - -o "index.html" -thtml -M title="Mon site web - monsiteweb.com"
# Un site web
$(cat feed.md)
EOF
- Le flag
-ssignifie standalone et permet de générer une page HTML complète (html>head+body); - le tiret seul
-, indique que le markdown sera passé par stdin; - le paramètre
-Mpermet l'ajout de métadonnées, tel que la balise title; - de la même façon, vous pourriez ajouter une feuille de styles:
lowdown -s - -o "index.html" -thtml -M title="Mon site web - monsiteweb.com" -M css="styles.css".
Sinon, une autre manière de personnaliser le HTML généré, est de
modifier les templates par défaut de lowdown. Il sagit de copier
l'original et d'indiquer l'alternative avec le paramètre --template.
Les originaux se trouvent, selon de votre système d'exploitation, à
quelque part comme ici: /usr/local/share/lowdown.
Vous copiez le template à modifier dans l'arborescence de votre projet:
cp /usr/local/share/lowdown/html/default.html ~/Applications/md2web/index.tpl.html
Après avoir procédé aux changements, vous l'utilisez comme ceci:
lowdown -s - -o "index.html" -thtml --template index.tpl.html
Pour plus de détails, visiter le site officiel de lowdown: https://kristaps.bsd.lv/lowdown/.