Je me demande s'il existe un utilitaire de ligne de commande pour prendre un fichier Markdown aromatisé GitHub et le rendre au format HTML.
J'utilise un wiki GitHub pour créer du contenu de site Web. J'ai cloné le référentiel sur mon serveur et je voudrais ensuite le traiter en HTML standard. Il est important pour moi que ce qui apparaît sur GitHub soit exactement à quoi il devrait ressembler pour mon site Web. J'aimerais aussi vraiment utiliser les blocs clôturés avec ~~~
, donc je préfère ne pas utiliser uniquement la syntaxe Markdown standard.
J'ai examiné un peu l'aperçu en direct de JavaScript en pensant que je pouvais le connecter à Node.js, mais ils disent qu'il est obsolète. J'ai regardé le référentiel redcarpet, mais il ne semble pas avoir d'interface de ligne de commande.
J'ai toutefois lancé ma propre solution, car aucune solution ici n'est clairement meilleure que les autres, je vais laisser la question sans réponse sélectionnée.
--out
argument à saisir pour effectuer un rendu dans un fichier HTML au lieu du navigateur, cela serait-il acceptable?--export
option, qui rend GFM et ses styles dans un seul fichier. Est-ce que cela répond à la question?Réponses:
J'ai écrit une petite CLI en Python et ajouté le support GFM. Cela s'appelle Grip (Github Readme Instant Preview) .
Installez-le avec:
Et pour l'utiliser, simplement:
Ensuite, visitez
localhost:5000
pour afficher lereadme.md
fichier à cet endroit.Vous pouvez également spécifier votre propre fichier:
Et changez de port:
Et bien sûr, restituez spécifiquement GitHub-Flavored Markdown, éventuellement avec le contexte du référentiel:
Caractéristiques notables:
stdin
et exporter versstdout
ajouté en 3.0J'espère que cela aide quelqu'un ici. Vérifiez-le .
la source
grip
fonctionne dès la sortie de la boîte.Je n'ai pas trouvé de méthode rapide et facile pour Markdown au goût de GitHub, mais j'ai trouvé une version légèrement plus générique - Pandoc . Il convertit de / vers un certain nombre de formats, y compris Markdown, Rest, HTML et autres.
J'ai également développé un
Makefile
pour convertir tous les fichiers .md en .html (en grande partie à l'exemple de Writing, Markdown et Pandoc ):la source
<pre/>
balise multiligne dans votre source GFM, Pandoc placera des<br/>
balises pour les sauts de ligne, tandis que le rendu de GitHub, cependant il dépouille les espaces blancs de premier plan, semble autrement laisser le contenu seul.brew install pandoc
gfm
ni lesmarkdown_github
formats d'entrée ne rendent correctement les choses comme les blocs de code.Cela pourrait peut-être aider:
Aucune documentation n'existe, mais je l'ai obtenue de la documentation de gollum . En regardant rubydoc.info , il semble que vous pouvez utiliser:
dans votre code Ruby. Vous pouvez envelopper cela facilement dans un script pour le transformer en un utilitaire de ligne de commande:
Exécutez-le avec
./render.rb path/to/my/markdown/file.md
. Notez que ce n'est pas sûr pour une utilisation en production sans désinfection.la source
Il ne gère pas les extensions GitHub, mais c'est mieux que rien. Je pense que vous pouvez étendre le module pour gérer les ajouts de GitHub.
la source
Probablement pas ce que vous voulez, mais puisque vous avez mentionné Node.js: je n'ai pas pu trouver un bon outil pour prévisualiser la documentation de GitHub Flavored Markdown sur mon lecteur local avant de les valider sur GitHub, alors aujourd'hui j'en ai créé un, basé sur Node.js: https : //github.com/ypocat/gfms
Vous pouvez donc peut-être réutiliser le showdown.js pour votre Wiki, si votre question est toujours d'actualité. Sinon, peut-être que d'autres personnes confrontées au même problème que moi trouveront (tout comme moi) cette question et cette réponse.
la source
Pour lire un fichier README.md dans le terminal que j'utilise:
Pandoc le produit au format HTML, que Lynx rend dans votre terminal.
Cela fonctionne très bien: il remplit mon terminal, les raccourcis sont indiqués ci-dessous, je peux faire défiler et les liens fonctionnent! Il n'y a qu'une seule taille de police, mais les couleurs + retrait + alignement compensent cela.
Installation:
la source
pandoc readme.md -o readme.md.html
et ouvrez le fichier résultant.function md { pandoc $@ | lynx -stdin }
GitHub dispose d' une API Markdown que vous pouvez utiliser.
la source
jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' < README.md | curl --data @- https://api.github.com/markdown > README.html
grip
... Vous avez choisi. : PUtilisez marqué . Il prend en charge GitHub Flavored Markdown, peut être utilisé comme module Node.js et à partir de la ligne de commande.
Un exemple serait:
la source
^D
?Il s'agit principalement d'un suivi de la réponse de @ barry-staes pour l'utilisation de Pandoc . Homebrew l'a aussi, si vous êtes sur un Mac:
Pandoc prend en charge GFM comme format d'entrée via le
markdown_github
nom.Sortie dans un fichier
Ouvrir dans Lynx
Ouvrir dans le navigateur par défaut sous OS X
Intégration TextMate
Vous pouvez toujours diriger la sélection ou le document actuel vers l'un des éléments ci-dessus, comme la plupart des éditeurs le permettent. Vous pouvez également configurer facilement l'environnement afin qu'il
pandoc
remplace le processeur Markdown par défaut utilisé par le bundle Markdown .Tout d'abord, créez un script shell avec le contenu suivant (je l'appellerai
ghmarkdown
):Vous pouvez ensuite définir la
TM_MARKDOWN
variable (dans Préférences → Variables) sur/path/to/ghmarkdown
, et elle remplacera le processeur Markdown par défaut.la source
J'ai créé un outil similaire à la fonctionnalité Aperçu d'Atom, mais en tant qu'application autonome. Je ne sais pas si c'est ce que vous recherchez, mais cela pourrait être utile. - https://github.com/yoshuawuyts/vmd
la source
pandoc
avecbrowser
fonctionne bien pour moi.Usage:
cat README.md | pandoc -f markdown_github | browser
Installation (en supposant que vous utilisez Mac OSX):
$ brew install pandoc
$ brew install browser
Ou sur Debian / Ubuntu:
apt-get install pandoc browser
la source
apt-get isntall pandoc
fera l'affaire, pas besoin d'utiliser des trucs locaux non sécurisés comme de la bière.Voir également https://softwareengineering.stackexchange.com/a/128721/24257 .
Ruby-script, qui utilise Redcarpet , sera un "utilitaire de ligne de commande", si vous avez Ruby local
la source
Sur la base de ce commentaire, j'ai écrit un one-liner pour frapper l' API Github Markdown en utilisant
curl
etjq
.Collez cette fonction bash sur la ligne de commande ou dans votre
~/.bash_profile
:Et puis pour voir le rendu HTML exécuté dans le navigateur:
Remplacez-le
open "$HTMLFILE"
parlynx "$HTMLFILE"
si vous avez besoin d'une solution terminale pure.la source
GitHub a (depuis) développé un bel éditeur de texte modulaire appelé Atom (basé sur Chromium et utilise des modules Node.js pour les packages).
Un package préinstallé par défaut Markdown Preview vous permet d'afficher votre aperçu dans un onglet séparé à l'aide de Ctrl+ Shift+ M.
Je n'ai pas testé sa syntaxe complète, mais comme il provient de GitHub, je serais très surpris si la syntaxe de l'aperçu était différente de la leur (blocs clôturés utilisant du
~~~
travail).Maintenant, bien qu'il ne soit pas techniquement basé sur la ligne de commande, il utilise Node.js et sort vers un moteur de rendu basé sur DOM , ce qui pourrait aider toute personne essayant de rendre le code HTML basé sur la syntaxe GitHub sur un serveur Web basé sur Node.js, ou simplement la modifier / son fichier README.md hors ligne.
la source
Ma dernière solution a été d'utiliser Python Markdown . J'ai roulé ma propre extension qui a fixé les blocs de clôture.
la source
Il existe un outil très agréable et simple pour parcourir les documents GFM Markdown:
GFMS - Github Flavored Markdown Server
C'est un serveur HTTP simple et léger (aucune configuration nécessaire) que vous pouvez démarrer dans n'importe quel répertoire contenant des fichiers de démarque pour les parcourir.
Fonctionnalités:
la source
J'ai réussi à utiliser un script Ruby d'une ligne à cet effet (bien qu'il devait être placé dans un fichier séparé). Tout d'abord, exécutez ces commandes une fois sur chaque machine cliente à partir de laquelle vous pousserez les documents:
Ensuite, installez ce script dans votre image client et appelez-le
render-readme-for-javadoc.rb
:Enfin, invoquez-le comme ceci:
ETA: Cela ne vous aidera pas avec StackOverflow-flavour Markdown, qui semble échouer dans cette réponse.
la source
J'utilise Pandoc avec l'option
--from=gfm
pour GitHub Flavored Markdown comme ceci:la source
pandoc: Unknown reader: gfm
. Aller à 2.2.1 résout ce problème.sudo apt install pandoc
?Amélioration de la solution de @ barry-stae. Collez cet extrait dans ~ / .bashrc
Ensuite, nous pouvons afficher rapidement le fichier à partir de la ligne de commande. Fonctionne également très bien sur les sessions SSH / Telnet.
la source
Ajout tardif mais showdownjs dispose d'un outil CLI que vous pouvez utiliser pour analyser MD en HTML.
la source
J'ai trouvé un site Web qui le fera pour vous: http://tmpvar.com/markdown.html . Collez votre Markdown et il l'affichera pour vous. Cela semble très bien fonctionner!
Cependant, il ne semble pas gérer l'option de coloration syntaxique pour le code; c'est-à-dire que la
~~~ruby
fonctionnalité ne fonctionne pas. Il imprime juste «rubis».la source
En améliorant les réponses @ barry-stae et @Sandeep pour les utilisateurs réguliers d'elinks, vous ajouteriez ce qui suit à .bashrc:
N'oubliez pas d'installer pandoc (et elinks).
la source
Sur la base de la réponse de Jim Lim , j'ai installé la gemme GitHub Markdown. Cela comprenait un script appelé gfm qui prend un nom de fichier sur la ligne de commande et écrit le code HTML équivalent dans la sortie standard. J'ai légèrement modifié cela pour enregistrer le fichier sur le disque, puis pour ouvrir le navigateur standard avec Launchy:
la source
ruby,
concombre, etc.) semblent être reconnues comme des clôtures (car elles sont rendues en texte à largeur fixe), il n'y a pas de coloration syntaxique. Une idée pourquoi?Une approche «rapide et sale» consiste à télécharger les pages HTML wiki à l'aide de l'
wget
utilitaire, au lieu de le cloner. Par exemple, voici comment j'ai téléchargé le wiki Hystrix depuis GitHub (j'utilise Ubuntu Linux):Le premier appel téléchargera la page d'entrée du wiki et toutes ses dépendances. La seconde appellera toutes les sous-pages sur elle. Vous pouvez maintenant parcourir le wiki en ouvrant
Netflix/Hystrix/wiki.1.html
.Notez que les deux appels à
wget
sont nécessaires. Si vous exécutez simplement le second, vous manquerez certaines dépendances nécessaires pour afficher correctement les pages.la source
J'ai récemment fait ce que vous vouliez, car j'avais besoin de générer de la documentation à partir de fichiers Markdown et le style GitHub est plutôt sympa. Essayez-le. Il est écrit en Node.js.
gfm
la source