2013-12-16 11:52:11 +0000 2013-12-16 11:52:11 +0000
159
159

Hoe kan ik Markdown met Github-smaak omzetten naar een PDF

Ik ben onlangs begonnen met het leren van Markdown voor gebruik met documentatie, en ik moet een paar van mijn Markdown-pagina’s afdrukken. Ik zou graag een command-line, Terminal, etc. utility gebruiken waarmee ik Github-gearomatiseerde Markdown naar PDF kan converteren. Het moet een goede syntax highlighting hebben en er niet verschrikkelijk uitzien. Bedankt voor alle hulp.

Antwoorden (12)

161
161
161
2014-02-27 13:55:56 +0000

Ik heb succes gehad met het gebruik van grip om markdown weer te geven in Chrome en dan Chrome’s “Opslaan als PDF” optie te gebruiken in het Print dialoogvenster.

pip install grip  
grip your_markdown.md

grip rendert de markdown op localhost:5000 - gewoon weg bewerken en de browser vernieuwen. Print als het klaar is.

Dit gaf een betrouwbaardere representatie dan pandoc en was lichter dan het installeren van latex (vereist door pandoc voor pdf generatie).

De afdruk is geen opdrachtregel in dit antwoord, maar vond dit nog steeds gemakkelijker/betrouwbaarder (leek 100% op Github voor een lang document inclusief relatief gekoppelde afbeeldingen en code highlighting).

56
56
56
2015-04-16 01:52:57 +0000

Je kunt ook gebruik maken van Node.js gebaseerde markdown-pdf

npm install -g markdown-pdf
markdown-pdf /path/to/markdown
43
43
43
2014-02-11 12:22:33 +0000

Kijk eens naar pandoc . Het heeft syntax highlighting. Het zou kunnen dat je (kleine) veranderingen in je document moet aanbrengen, omdat het zijn eigen smaak van markdown heeft en ik niet weet hoe nauw die overeenkomt met de GitHub smaak.

12
12
12
2014-08-08 02:44:02 +0000

Als het markdown bestand werd gehost op github repository, dan is gitprint een interessante optie om pdf / print te maken.

Het enige wat je hoeft te doen is github.com te vervangen door gitprint.com in de URL. Hier is een voorbeeld van gitprint’s homepage.

Helaas werkt het niet op markdown gists, en werkt het alleen met markdown bestanden in het repository.

8
8
8
2015-07-10 08:44:36 +0000

Er is een online converter beschikbaar op http://www.markdowntopdf.com Deze biedt syntax highlighting out of the box en is de eenvoudigste oplossing die ik tot nu toe heb gezien. Het handelt ook correct andere eigenschappen af die specifiek zijn voor GFM, zoals tabellen.

6
6
6
2013-12-16 14:08:08 +0000

Zoals ik in mijn commentaar zei, gebruikt Github Linguist om syntax highlighting te bieden. Op Github, kun je dit gebruiken om syntax highlighting te specificeren zoals dit:

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

Helaas is er geen goede manier om Markdown direct om te zetten naar een PDF bestand met syntax highlighting. 

### Alternatieven: 

**Vim** : 

Als je vim hebt, kun je gemakkelijk syntax highlighting krijgen door het volgende in een terminal uit te voeren: 

vim -c hardcopy -c quit /path/to/file.ps “`

Of binnen vim:

:hardcopy >/path/to/file.ps

Dit zal een PostScript-bestand opleveren dat kan worden geconverteerd naar pdf met bijvoorbeeld ps2pdf:

ps2pdf /path/to/file.ps

Bron-highlight :

Als je in plaats daarvan de weg van HTML of LaTeX wilt bewandelen, kun je in plaats daarvan Source-highlight proberen. Een lijst van alle talen die door Source-highlight worden ondersteund, is hier te vinden.

Enkele voorbeelden van Source-highlight commando’s zijn:

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

Gebruik makend van dit invoerbestand

En elk hun eigen respectieve HTML-bestand uitvoerend: Hello1.html Hello2.html Hello3.html

Verdere voorbeelden van Source-highlight gebruik kunt u hier

Windows : Vim , ps2pdf (geleverd door Ghostscript ) en Source-highlight zijn allemaal beschikbaar via Cygwin .

6
6
6
2018-08-22 14:39:58 +0000

Voor degenen met Linux, gebruik pandoc .

Installeren:

sudo apt install pandoc texlive-latex-extra

Ja, je hebt het -extra pakket nodig vanwege de fonts.

Omzetten:

pandoc --from markdown -o output.pdf my-file.md
3
3
3
2015-08-27 03:55:39 +0000

Ik heb onlangs een dienst gemaakt om markdown documenten om te zetten naar PDF. Het ondersteunt Github-gebaseerde markdown en syntax highlighting. De service is te vinden op: http://markdown2pdf.com

1
1
1
2017-10-07 10:49:27 +0000

Ik heb verschillende chrome plugins en online converters geprobeerd. MDtr2PDF ](http://www.mdtr2pdf.com) is de beste. Het ondersteunt Github-smaak-markdown en unicode.

1
1
1
2020-01-17 07:08:10 +0000

Ik had het meeste geluk met VSCode en de Markdown PDF extensie. De online converters verpestten de codering van mijn bestanden of voegden watermerken in de header toe.

Gebruik:

  1. Installeer de extensie
  2. Open je MD bestand met VSCode, zorg ervoor dat Markdown highlighting aan staat
  3. Open het opdrachtpalet (F1), type export en selecteer markdown-pdf: Export (pdf) NB: De extensie installeert en gebruikt een lokale versie van Chromium op de achtergrond.

Er zijn verschillende opties om de opmaak te regelen, ze worden allemaal uitgelegd op de hierboven gelinkte website

1
1
1
2018-05-15 17:41:27 +0000

Ik heb deze snippet verfijnd voor mijn persoonlijke behoeften:

# 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}')

Opslaan als /usr/local/bin/md2pdf en daarna sudo chmod +x /usr/local/bin/md2pdf.

Gebruik:

  • md2pdf converteert README.md naar README.md.pdf

  • md2pdf foo.md converteert foo.md naar foo.md.pdf

  • md2pdf foo.md bar.pdf converteert foo.md naar bar.pdf

1
1
1
2016-09-10 09:56:12 +0000

Mijn oplossing: converteer markdown met pandoc naar html (vergeet niet om css te gebruiken voor pandoc om tabelranden te tonen), open het dan met libreoffice, kies een optie export as pdf.

NB : geen van de hier en op Internet genoemde oplossingen werkte voor mij: 1) browser-gebaseerde oplossingen (i.e. grip) voegen overtollige info toe, zoals paginanummers, die ik niet heb kunnen verwijderen, 2) pandoc conversie naar pdf is gebroken, voor mij genereert het een lege tabel (misschien vanwege unicode, en ja, ik heb het geconfigureerd om xetex te gebruiken), 3) site-gebaseerde oplossingen (i. e. gitprint.com) voegen ook overbodige dingen toe, zoals github-achtige marges, terwijl ik alleen een eenvoudige tabel nodig heb die ik met awk heb gegenereerd!