217 votes

Comment puis-je convertir le format Markdown de Github en PDF ?

J'ai récemment commencé à apprendre le format Markdown pour la documentation et j'ai besoin d'imprimer quelques-unes de mes pages Markdown. J'aimerais utiliser un utilitaire en ligne de commande, Terminal, etc. qui me permette de convertir le format Markdown à la sauce Github en PDF. Il doit disposer d'une coloration syntaxique appropriée et ne doit pas avoir l'air horrible. Merci pour toute aide.

1 votes

Le coloriage syntaxique sur GitHub ne fait pas partie de GitHub Flavored Markdown. Du moins, pour autant que je sache.

0 votes

@OliverSalzburg Utilisations de Github Linguiste pour fournir une coloration syntaxique.

1 votes

@dillmo, Convert en HTML d'abord puis utilisez Chrome pour imprimer au format PDF.

11voto

nonades Points 5

Pour ceux qui ont Linux, utilisez pandoc .

Installer :

sudo apt install pandoc texlive-latex-extra

Oui, vous avez besoin -extra à cause des polices de caractères.

Convertir :

pandoc --from markdown -o output.pdf my-file.md

4 votes

Il n'a pas inclus d'images, de liens et a ignoré des choses comme <font color="red"> bien que

6voto

DanteTheEgregore Points 2473

Comme je l'ai indiqué dans mon commentaire, Github utilise Linguiste pour fournir une coloration syntaxique. Sur Github, vous pouvez l'utiliser pour spécifier la coloration syntaxique de la manière suivante :

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

Malheureusement, il n'existe pas de moyen efficace de convertir directement le format Markdown en fichier PDF avec coloration syntaxique.

Alternatives :

Vim :

Si vous disposez de vim, vous pouvez facilement obtenir la coloration syntaxique en exécutant la commande suivante dans 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 qui pourra être converti en pdf en utilisant, par exemple, ps2pdf :

ps2pdf /path/to/file.ps

Mise en évidence de la source :

Si vous préférez opter pour le HTML ou LaTeX, vous pouvez essayer Mise en évidence de la source à la place. Une liste de toutes les langues prises en charge par Source-highlight peut être consultée à l'adresse suivante aquí .

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

Utilisation de ce fichier d'entrée

Et chacun produit son propre fichier HTML :

Bonjour1.html
Bonjour2.html
Bonjour3.html

D'autres exemples d'utilisation de Source-highlight peuvent être trouvés aquí

Windows :

Vim , ps2pdf (fourni par Ghostscript ) et Mise en évidence de la source sont tous disponibles via Cygwin .

4voto

Comply Points 11

J'ai eu plus de chance avec le VSCode et le Markdown PDF extension. Les convertisseurs en ligne se sont trompés dans l'encodage de mes fichiers ou ont inséré des filigranes dans l'en-tête.

Utilisation :

  1. Installer l'extension
  2. Ouvrez votre fichier MD avec VSCode, assurez-vous que la mise en évidence Markdown est activée.
  3. Ouvrez la palette de commande (F1), tapez export et sélectionnez markdown-pdf: Export (pdf)

NB : L'extension installe et utilise une version locale de Chromium en arrière-plan.

Il y a plusieurs options pour contrôler le formatage, elles sont toutes expliquées sur le site web lié ci-dessus

0 votes

Cela a fonctionné pour moi sous Windows, mais j'ai dû ajouter "markdown-pdf.breaks": true au fichier JSON des paramètres pour voir les nouvelles lignes dans le PDF. Aussi "markdown-pdf.displayHeaderFooter": true pour masquer certaines informations qui ont été ajoutées à l'en-tête et au pied de page du PDF. Et "markdown-pdf.styles": [ "C:\\Users\\<USERNAME>\\Documents\\markdown-pdf.css" ] pour modifier le CSS en fonction de github.com/yzane/vscode-markdown-pdf/blob/master/styles/ parce que je n'aimais pas la couleur par défaut du code en ligne.

3voto

Saurabh Garg Points 31

J'ai récemment créé un service pour convertir des documents markdown en PDF. Il prend en charge le markdown à la sauce Github ainsi que la coloration syntaxique. Le service est situé à l'adresse suivante http://markdown2pdf.com

0 votes

Ne fonctionne pas avec un fichier zip : impossible de trouver le fichier de démarque dans l'archive alors qu'il y en a un.

0 votes

A obtenu "erreur dans la conversion en pdf". Utilisation de markdowntopdf.com au lieu de kevgathuku

3voto

Diejmon Points 111

Je suis toujours à la recherche d'une solution en ligne de commande qui produise des résultats de cette haute qualité [Mise à jour : j'ai trouvé un pandoc qui utilise les CSS pour la mise en forme, et qui a l'air plutôt bien : pandoc -f gfm -t html5 --metadata pagetitle="test.md" --css github.css test.md -o test.pdf -- [voir mon autre réponse ici maintenant !]](https://stackoverflow.com/a/64257218/4561887) mais :

El Visionneuse Markdown Le plugin dans Chrome fonctionne vraiment bien et ressemble étonnamment au format markdown de GitHub ! Il suffit d'ouvrir votre fichier markdown dans Chrome avec ce plugin installé et activé, puis d'utiliser les menus pour imprimer et enregistrer au format PDF directement depuis Chrome.

Markdown Viewer présente les caractéristiques suivantes (c'est nous qui soulignons) :

Rendre les URLs locales et distantes
Accès granulaire aux origines lointaines
Analyse grammaticale multiple
Contrôle total des options du compilateur
Thèmes (y compris le thème GitHub)
Markdown à la sauce GitHub (GFM)
Rechargement automatique en cas de changement de fichier
Blocs de code en surbrillance syntaxique
Table des matières (TOC)
Support de MathJax et Emoji
Mémorise la position du défilement
Détection du type de contenu Markdown
Détection d'URL à l'aide de RegExp
Basculer la politique de sécurité du contenu (CSP)
Remplacer l'encodage de la page
Synchronisation des paramètres
Vues markdown brutes et rendues
Libre et open source

Exemple de fichier Markdown

Voici un exemple de fichier markdown, qui est un extrait de mon exemple de fichier markdown de démonstration dans mon projet ici :

test.md :

## 1.1. Align images left, right, or centered, with NO WORD WRAP:

This:

```html
**Align left:**
<p align="left" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>

**Align center:**
<p align="center" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>

**Align right:**
<p align="right" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>
```

Produces this:

**Align left:**
<p align="left" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>

**Align center:**
<p align="center" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>

**Align right:**
<p align="right" width="100%">
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>

If you'd like to set the text itself to left, center, or right, you can include the text inside the `<p>` element as well, as regular HTML, like this:

```html
<p align="right" width="100%">
    This text is also aligned to the right.<br>
    <img width="33%" src="https://i.stack.imgur.com/RJj4x.png"> 
</p>
```

Sortie de la visionneuse Markdown :

Le fichier markdown ci-dessus produit ce résultat directement dans mon navigateur Chrome lorsqu'il est affiché avec la fonction Visionneuse Markdown plugin installé et activé. Remarquez qu'il a mise en évidence de la syntaxe des blocs de code en fonction du langage utilisé , des arrière-plans de code grisés et agréables à regarder y largeur raisonnable des colonnes pour le contenu de sortie .

Sa sortie ressemble à vraiment sympa et est presque identique à la sortie markdown de GitHub !

enter image description here

Il prend également en charge les thèmes. Vous voyez que le thème "GitHub" est sélectionné ici, par exemple. Il suffit de cliquer sur le petit m dans le coin supérieur droit de votre navigateur Chrome pour choisir les paramètres de la visionneuse Markdown que vous souhaitez :

enter image description here


grip sortie :

Comparez cela au résultat de la prise en main, qui, à mon avis, est loin d'être aussi bon. grip n'a pas de coloration syntaxique pour les blocs de code, d'arrière-plan grisé pour le code, ni de largeur de colonne raisonnable pour le contenu de sortie. Sur un écran large, il occupe toute la largeur.

Sur Linux Ubuntu :

sudo apt update
sudo apt install grip
grip test.md

Puis Ctrl + clic sur l'url qu'il vous donne, pour ouvrir la sortie dans votre navigateur. Ex : à http://localhost:6419/ . Voici le grip -que je vois dans Chrome :

enter image description here

Voir aussi :

  1. [ma réponse] Comment convertir Markdown + CSS -> PDF ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X