53 votes

visualisateur de markdown de style inférieur pour les systèmes UNIX

J'ai une chaîne Markdown en JavaScript, et j'aimerais l'afficher (avec des caractères gras, etc.) dans un fichier de type less (ou, je suppose, more )-style de visualisation pour la ligne de commande.

Par exemple, avec une chaîne de caractères

"hello\n" + 
"_____\n" + 
"*world*!"

J'aimerais avoir un pop up de sortie avec un contenu défilant qui ressemble à ceci

Bonjour

monde

Est-ce possible, et si oui, comment ?

68voto

Keith Thompson Points 85120

Pandoc peut convertir le format Markdown en pages de manuel groff.

Ceci (grâce au commentaire de nenopera) :

 pandoc -s -f markdown -t man foo.md | man -l -

devrait faire l'affaire. Le site -s lui demande de générer des en-têtes et des pieds de page appropriés.

Il existe peut-être d'autres convertisseurs de la démarque à la racine, mais il se trouve que Pandoc est le premier que j'ai trouvé.

Une autre alternative est le markdown ( apt-get install markdown sur les systèmes Debian), qui convertit Markdown en HTML. Par exemple :

markdown README.md | lynx -stdin

(en supposant que vous ayez le lynx navigateur web basé sur un terminal).

Ou (grâce à la suggestion de Danny) vous pouvez faire quelque chose comme ceci :

markdown README.md > README.html && xdg-open README.html

xdg-open (sur certains systèmes) ouvre le fichier ou l'URL spécifié dans l'application préférée. Cela ouvrira probablement README.html dans votre navigateur web GUI préféré (ce qui n'est pas exactement un "moindre style", mais qui peut être utile).

31voto

Joel Cross Points 422

J'ai essayé d'écrire ceci dans un commentaire ci-dessus, mais je n'ai pas pu formater mon bloc de code correctement. Pour écrire un "moins de filtre", essayez, par exemple, de sauvegarder le texte suivant sous la forme ~/.lessfilter :

#!/bin/sh

case "$1" in
    *.md)
        extension-handler "$1"
        pandoc -s -f markdown -t man "$1"|groff -T utf8 -man -
        ;;
    *)
        # We don't handle this format.
        exit 1
esac

# No further processing by lesspipe necessary
exit 0

Ensuite, vous pouvez taper less FILENAME.md et il sera formaté comme une page de manuel.

9voto

Red Pill Points 443

Si vous aimez couleurs alors cela vaut peut-être la peine de vérifier aussi :

terminal_markdown_viewer

Il peut être utilisé directement à partir d'autres programmes ou de modules python.

Et il a un lot de styles, comme plus de 200 pour le markdown et le code qui peuvent être combinés.

pic2

Avis de non-responsabilité

  • C'est une version alpha, il peut y avoir encore des bugs.

  • J'en suis l'auteur, peut-être que certaines personnes l'apprécient ;-)

5voto

Alban Points 778

Une alternative totalement différente est fou . C'est un shell script que je viens de découvrir. Il est très facile à installer et il rend assez bien le markdown dans une console.

3voto

Mark Points 49079

J'ai écrit quelques fonctions basées sur Réponse de Keith :

mdt() {
    markdown "$*" | lynx -stdin
}

mdb() {
    local TMPFILE=$(mktemp)
    markdown "$*" > $TMPFILE && ( xdg-open $TMPFILE > /dev/null 2>&1 & )
}

Si vous utilisez zsh il suffit de placer ces deux fonctions dans ~/.zshrc et ensuite les appeler depuis votre terminal comme

mdt README.md
mdb README.md

"t" pour "terminal", "b" pour "browser".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X