J'ai récemment commencé à apprendre Markdown à utiliser avec la documentation et j'ai besoin d'imprimer quelques-unes de mes pages de Markdown. Je souhaite utiliser un utilitaire de ligne de commande, de terminal, etc. qui me permet de convertir un format de type Markith au format Github en PDF. La syntaxe doit être correctement mise en évidence et ne doit pas sembler horrible. Merci pour toute aide.
J'ai eu du succès avec grip pour afficher les balises dans Chrome, puis utiliser l’option "Enregistrer au format PDF" de Chrome dans la boîte de dialogue Imprimer.
pip install grip
grip your_markdown.md
grip rendra le démarquage sur localhost: 5000 - modifiez-le et actualisez le navigateur. Imprimez quand vous êtes prêt.
Cela donnait une représentation plus fiable que pandoc et était plus léger que l’installation de latex (requis par pandoc pour la génération pdf).
L’impression n’est pas une ligne de commande dans cette réponse, mais nous l’avons tout de même trouvée plus facile/plus fiable (ressemblait à 100% à Github pour un long document comprenant des images relativement liées et une mise en surbrillance du code).
Vous pouvez également utiliser Node.js based markdown-pdf
npm install -g markdown-pdf
markdown-pdf /path/to/markdown
Jetez un coup d'oeil à pandoc . Il a mis en évidence la syntaxe. Vous devrez peut-être apporter des modifications (mineures) à votre document car il a sa propre saveur de démarque et je ne sais pas à quel point il correspond à la saveur de GitHub.
Si le fichier de démarquage était hébergé sur le dépôt github, gitprint est une option intéressante pour créer un fichier pdf/print.
Tout ce que vous avez à faire est de remplacer github.com
par gitprint.com
dans l'URL. Voici un exemple de la page d'accueil de gitprint.
Malheureusement, cela ne fonctionne pas avec les index de démarques et ne fonctionne qu'avec les fichiers de démarques dans le référentiel.
Un convertisseur en ligne est disponible sur http://www.markdowntopdf.com
Ceci fournit une coloration syntaxique immédiate et constitue la solution la plus simple que j'ai vue jusqu'à présent. Il gère également correctement d'autres fonctionnalités spécifiques à GFM, par exemple. les tables.
Comme je l'ai dit dans mon commentaire, Github utilise Linguist pour mettre en évidence la syntaxe. Sur Github, vous pouvez utiliser ceci pour spécifier la coloration syntaxique comme ceci:
```Ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
Malheureusement, il n’existe aucun moyen efficace de convertir Markdown directement en un fichier PDF avec une coloration syntaxique.
Vim :
Si vous avez vim, vous pouvez facilement obtenir la coloration syntaxique en exécutant ce qui suit à partir d’un terminal:
vim -c hardcopy -c quit /path/to/file.ps
Ou à l'intérieur de vim:
:hardcopy >/path/to/file.ps
Cela produira un fichier PostScript pouvant être converti en pdf en utilisant, par exemple, ps2pdf:
ps2pdf /path/to/file.ps
Source-sélectionnez :
Si vous préférez emprunter le chemin HTML ou LaTeX, vous pouvez essayer Source-highlight à la place. Une liste de toutes les langues supportées par Source-highlight peut être trouvée ici .
Quelques exemples de commandes de sélection de sources incluent:
source-highlight -s Java -f html -i Hello.Java -o Hello1.html
source-highlight -s Java -f html --input Hello.Java --output Hello2.html --doc
source-highlight -s Java -f html -i Hello.Java -o Hello3.html --title "Happy Java with Java2html :-)" --tab 3
Utiliser ce fichier d’entrée
Et chacun produisant son propre fichier HTML respectif:
Hello1.html
Hello2.html
Hello3.html
Vous trouverez d’autres exemples d’utilisation de Source-Highlight ici
Windows :
Vim , ps2pdf (fourni par Ghostscript ) et Source-highlight sont tous disponibles via Cygwin .
J'ai récemment créé un service permettant de convertir des documents de démarquage en PDF. Il prend en charge le démarquage github ainsi que la coloration syntaxique. Le service est situé à: http://markdown2pdf.com
J'ai essayé plusieurs plugins chrome et convertisseurs en ligne.
MDtr2PDF est le meilleur. Il prend en charge le démarquage et l’unicode à saveur Github.
Solution: convertissez markdown avec pandoc
en html (n'oubliez pas utilisez css pour pandoc pour afficher les bordures des tableaux)}, puis ouvrez-le avec libreoffice
, choisissez une option export as pdf
.
NB: ni l'une ni l'autre des solutions mentionnées ici et sur Internet ne fonctionnaient pour moi: 1) les solutions basées sur un navigateur (c'est-à-dire la poignée) ajoutent des informations supplémentaires, comme des numéros de page, ne parvient pas à supprimer, 2) Pandoc: la conversion en PDF est interrompue. Pour moi, elle génère une table vide (peut-être à cause de Unicode, et oui, je l'ai configuré pour utiliser xetex)}, basé sur le site solutions (ie gitprint.com)} ajoutent également des éléments redondants, comme des marges de type github, alors que je n'ai besoin que d'un simple tableau généré avec awk!
Pour ceux qui utilisent Linux, utilisez pandoc .
Installer:
Sudo apt install pandoc texlive-latex-extra
Oui, vous avez besoin du paquet -extra
à cause des polices.
Convertir:
pandoc --from markdown -o output.pdf my-file.md
J'ai raffiné cet extrait pour mes besoins personnels:
# Sudo apt install grip wkhtmltopdf
MD=${1:-README.md}
PDF=${2:-"$MD".pdf}
PORT=8971
DELAY=10
printf "Converting $MD to $PDF on port $PORT\n"
printf "Waiting $DELAY seconds for server to start...\n"
grip "$MD" localhost:$PORT &
sleep $DELAY
wkhtmltopdf http://localhost:$PORT "$PDF"
kill $(ps -eo pid,command | grep grip | grep -v grep | awk '{print $1}')
Enregistrer sous /usr/local/bin/md2pdf
et Sudo chmod +x /usr/local/bin/md2pdf
par la suite.
Usage:
md2pdf
convertit README.md en fichier README.md.pdf
md2pdf foo.md
convertit foo.md en foo.md.pdf
md2pdf foo.md bar.pdf
convertit foo.md en bar.pdf