Question Comment est-ce que je peux convertir le Markdown aromatisé par Github en PDF


J'ai récemment commencé à apprendre Markdown à utiliser avec la documentation et j'ai besoin d'imprimer quelques pages de Markdown. Je voudrais utiliser un utilitaire de ligne de commande, terminal, etc. qui me permet de convertir le Markdown au format Github. Il doit avoir une coloration syntaxique correcte et ne pas avoir l'air horrible. Merci pour toute aide.


109
2017-12-16 11:52


origine


La coloration de la syntaxe sur GitHub ne fait pas partie de GitHub Flavored Markdown. Au moins pour autant que je sache. - Der Hochstapler
@OliverSalzburg Github utilise Linguiste pour mettre en évidence la syntaxe. - DanteTheEgregore
@dillmo, convertir en HTML d'abord, puis utilisez Chrome pour imprimer en pdf. - Pacerier


Réponses:


J'ai eu du succès en utilisant poignée pour afficher les balises dans Chrome, puis utiliser l'option "Enregistrer en tant que PDF" de Chrome dans la boîte de dialogue Imprimer.

pip install grip  
grip your_markdown.md

grip rendra le markdown sur localhost: 5000 - modifiez simplement et rafraîchissez le navigateur. Imprimer lorsque 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 de pdf).

L'impression n'est pas une ligne de commande dans cette réponse, mais a toujours trouvé cela plus facile / plus fiable (ressemblant à 100% à Github pour un long document incluant des images relativement liées et une mise en évidence du code).


111
2018-02-27 13:55



c'est assez facile. - s2t2
grip your_markdown.md --export your_markdown.html est une option utile ici. Les exporte dans le fichier HTML, qui peut ensuite être imprimé à partir de la ligne de commande en utilisant quelque chose comme wkhtmltopdf. - Luke Exton
Malheureusement, l'adhérence nécessite l'accès à GitHub. Cela ne fonctionne pas hors ligne - nowox
Sinon, vous pouvez télécharger (gratuitement!) Atom (atom.io), ouvrez votre fichier dans Atom, utilisez les touches Ctrl + Maj + M pour l’afficher en aperçu, sauvegardez-le en html, puis ouvrez le fichier HTML dans votre navigateur Chrome et enregistrez-le au format pdf. - Andrew Carter
Cela vient avec le cadre de type Github qui l'entoure. Existe-t-il un moyen d’imprimer en PDF, en supprimant les bordures / la barre de titre (c.-à-d. Tout imprimer à l’intérieur du cadre)? - Joost


Vous pouvez également utiliser Node.js basé sur markdown-pdf

npm install -g markdown-pdf
markdown-pdf /path/to/markdown

39
2018-04-16 01:52



C'est assez génial et vraiment facile. Le problème du lien provient du CSS d'impression de html5 que vous pouvez simplement commenter ou remplacer dans votre propre feuille de style. - Robert Went
Je voudrais ajouter que cela a un support Unicode prêt à l'emploi, ce qui est très bien. - Niek
Vous pouvez également installer github-markdown-css à si vous voulez utiliser le fichier CSS de GitHub. - jpmc26
@ jpmc26 comment pouvez-vous l'utiliser, je ne connais pas javascript ou npm? - Abhishek Bhatia
@ AbhishekBhatia Ceci est le premier résultat quand je googlé "introduction npm": smalljs.org/package-managers/npm. Ce n'est qu'un fichier enterré dans node_modules une fois que vous l'avez installé. - jpmc26


Jeter un coup d'œil à pandoc. Il a la coloration syntaxique. Il se peut que vous ayez à apporter des modifications (mineures) à votre document, car il possède sa propre version de démarquage et je ne sais pas à quel point il correspond à la saveur de GitHub.


31
2018-02-11 12:22



Merci. Fonctionnement pandoc -h Je suis revenu sur le support de GitHub Flavored Markdown, alors je marque cette question comme résolue. - dillmo
J'ai essayé d'installer pandoc sur Fedora Linux et a rencontré un cauchemar de dépendance - principalement lié à LaTex. Mon conseil serait de sauter pandoc et d'essayer d'autres options en premier - IanB
Pour ceux qui utilisent des lettres non-ASCII et qui les manquent: ajoutez des options de police à pandoc, comme ceux-ci: --variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans" - gluk47
Si quelqu'un cherche uniquement les commandes: sudo apt install pandoc texlive-latex-recommended texlive-xetex texlive-luatex pandoc-citeproc etoolbox wkhtmltopdf (sur Ubuntu, probablement pas tous nécessaires), alors pandoc --variable urlcolor=cyan myfile.md -o myfile.pdf - Tor Klingberg
@TorKlingberg Merci, je pense que c'est la meilleure réponse! - thc


Si le fichier markdown était hébergé sur le dépôt github, gitprint est une option intéressante pour créer pdf / print.

Tout ce que vous devez faire est de remplacer github.com par gitprint.com dans l'URL. Voici un Exemple de la page d'accueil de gitprint.

Malheureusement, il ne fonctionne pas sur les listes de démarques et fonctionne uniquement avec les fichiers de démarques sur le référentiel.


11
2017-08-08 02:44



Cela ne fonctionne pas non plus avec les images. :(: - Adam Arold
... et est mal formulé :( - Moebius
Option intéressante Avantages: les liens externes sont maintenus et accessibles depuis la sortie. Inconvénients: la sortie est en noir et blanc, les liens d'ancrage sont supprimés, les liens externes ne sont pas indiqués visuellement car ils sont en noir et blanc. - rodey


Un convertisseur en ligne est disponible sur http://www.markdowntopdf.com
Ceci fournit une mise en évidence de la syntaxe et est la solution la plus simple que j'ai vue jusqu'ici. Il gère également correctement d'autres fonctionnalités spécifiques à GFM, par ex. les tables.


7
2017-07-10 08:44



Ne gère pas les images dans des fichiers séparés. - Larry K
fonctionne magnifiquement - shadi


Comme je l’ai dit dans mon commentaire, Github utilise Linguiste pour mettre en évidence la syntaxe. Sur Github, vous pouvez utiliser cette option pour spécifier la coloration syntaxique comme suit:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

Malheureusement, il n'y a pas de bon moyen de convertir Markdown directement en fichier PDF avec la coloration syntaxique.

Alternatives:

Vim:

Si vous avez vim, vous pouvez facilement réaliser la mise en évidence de la syntaxe en exécutant ce qui suit depuis 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

Point culminant de la source:

Si vous souhaitez plutôt suivre l’itinéraire HTML ou LaTeX, vous pouvez essayer Point culminant de la source au lieu. Une liste de toutes les langues prises en charge par Source-highlight peut être trouvée ici.

Voici quelques exemples de commandes de mise en évidence de la source:

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

En utilisant 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

les fenêtres:

Vim, ps2pdf (fourni par Ghostscript) et Point culminant de la source sont tous disponibles via Cygwin.


6
2017-12-16 14:08





J'ai récemment créé un service pour convertir les documents de démarques au format PDF. Il prend en charge les balises aromatisées Github ainsi que la coloration syntaxique. Le service est situé à: http://markdown2pdf.com


3
2017-08-27 03:55



ne fonctionne pas avec le fichier zip: impossible de trouver le fichier de démarquage dans l'archive lorsqu'il y en a un. - Moebius
obtenu "erreur de conversion en pdf". En utilisant markdowntopdf.com au lieu de kevgathuku - shadi