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

Jak przekonwertować Markdown z Githuba na PDF?

Niedawno zacząłem uczyć się Markdown do wykorzystania w dokumentacji i potrzebuję wydrukować kilka moich stron Markdown. Chciałbym użyć narzędzia z linii poleceń, Terminala, etc., które pozwoli mi przekonwertować Githubowe Markdown na PDF. Musi mieć odpowiednie podświetlanie składni i nie powinno wyglądać okropnie. Dziękuję za wszelką pomoc.

Odpowiedzi (12)

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

Udało mi się użyć grip do wyświetlenia markdown w Chrome, a następnie użyć opcji “Zapisz jako PDF” w oknie dialogowym drukowania.

pip install grip  
grip your_markdown.md

grip wyrenderuje markdown na localhost:5000 - wystarczy edytować dalej i odświeżyć przeglądarkę. Drukuj, gdy będzie gotowy.

Dało to bardziej wiarygodną reprezentację niż pandoc i było lżejsze niż instalowanie latexa (wymaganego przez pandoc do generowania pdf).

Drukowanie nie jest wierszem poleceń w tej odpowiedzi, ale nadal uważam, że jest to łatwiejsze / bardziej niezawodne (wyglądało w 100% jak Github dla długiego dokumentu zawierającego stosunkowo połączone obrazy i podświetlanie kodu).

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

Można też użyć opartego na Node.js markdown-pdf

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

Spójrz na pandoc . Ma podświetlanie składni. Może wymagać od ciebie wprowadzenia (drobnych) zmian w dokumencie, ponieważ ma swój własny smak markdown i nie wiem, jak bardzo pasuje do smaku GitHuba.

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

Jeśli plik markdown został umieszczony na repozytorium github, to ciekawą opcją do stworzenia pdf/print jest gitprint .

Wszystko, co musisz zrobić, to zastąpić github.com przez gitprint.com w adresie URL. Oto przykład ](https://gitprint.com/jquery/jquery/blob/master/README.md) ze strony głównej gitprint.

Niestety, nie działa na gistach markdown, a działa tylko z plikami markdown w repozytorium.

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

Istnieje konwerter online dostępny pod adresem http://www.markdowntopdf.com Zapewnia on podświetlanie składni po wyjęciu z pudełka i jest najprostszym rozwiązaniem, jakie do tej pory widziałem. Poprawnie obsługuje również inne cechy charakterystyczne dla GFM, np. tabele.

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

Jak stwierdziłem w moim komentarzu, Github używa Linguist do zapewnienia kolorowania składni. Na Githubie możesz użyć tego, aby określić podświetlanie składni w następujący sposób:

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

Niestety, nie ma dobrego sposobu na konwersję Markdown bezpośrednio do pliku PDF z podświetlaniem składni. 

### Alternatywy: 

**Vim** : 

Jeśli masz vima, możesz łatwo uzyskać kolorowanie składni, uruchamiając poniższe polecenia z terminala: 

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

Lub wewnątrz vima:

:hardcopy >/path/to/file.ps

Spowoduje to utworzenie pliku PostScript, który można przekonwertować do pdf za pomocą np. ps2pdf:

ps2pdf /path/to/file.ps

Source-highlight :

Jeśli chciałbyś zamiast tego pójść drogą HTML lub LaTeX, możesz spróbować Source-highlight zamiast. Listę wszystkich języków obsługiwanych przez Source-highlight można znaleźć tutaj .

Kilka przykładowych komend Source-highlight zawiera:

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

Używając tego pliku wejściowego

I każde wyprowadzające swój własny odpowiedni plik HTML: Hello1.html Hello2.html Hello3.html

Dalsze przykłady użycia Source-highlight można znaleźć tutaj

Windows : Vim , ps2pdf (dostarczany przez Ghostscript ) i Source-highlight są dostępne przez Cygwin .

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

Dla tych z Linuksem, użyj pandoc .

Install:

sudo apt install pandoc texlive-latex-extra

Tak, potrzebujesz pakietu -extra ze względu na czcionki.

Convert:

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

Stworzyłem ostatnio serwis do konwersji dokumentów markdown do PDF. Obsługuje on markdown w wersji Githubowej, a także kolorowanie składni. Serwis znajduje się pod adresem: http://markdown2pdf.com .

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

Próbowałem kilku wtyczek chrome i konwerterów online. MDtr2PDF ](http://www.mdtr2pdf.com) jest najlepszym z nich. Obsługuje Github-flavoured-markdown i unicode.

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

Najwięcej szczęścia miałem z VSCode i rozszerzeniem Markdown PDF . Konwertery online spieprzyły kodowanie moich plików lub wstawiły znaki wodne w nagłówku.

Usage:

  1. Zainstaluj rozszerzenie
  2. Otwórz swój plik MD w VSCode, upewnij się, że włączone jest podświetlanie Markdown
  3. Otwórz paletę poleceń (F1), wpisz export i wybierz markdown-pdf: Export (pdf)

Uwaga: Rozszerzenie instaluje i używa w tle lokalną wersję Chromium.

Istnieje kilka opcji kontroli formatowania, wszystkie są wyjaśnione na stronie internetowej, do której link znajduje się powyżej

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

Dopracowałem ten wycinek dla moich osobistych potrzeb:

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

Zapisz jako /usr/local/bin/md2pdf i sudo chmod +x /usr/local/bin/md2pdf później.

Użycie:

  • md2pdf konwertuje README.md do README.md.pdf

  • md2pdf foo.md konwertuje foo.md do foo.md.pdf

  • md2pdf foo.md bar.pdf konwertuje foo.md do bar.pdf

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

Moje rozwiązanie: przekonwertować markdown z pandoc na html (nie zapomnij użyć css dla pandoc , żeby pokazać obramowanie tabel), potem otworzyć go z libreoffice, wybrać opcję export as pdf.

NB : żadne z wymienionych tu i w Internecie rozwiązań nie zadziałało dla mnie: 1) rozwiązania oparte na przeglądarkach (np. grip) dodają nadmiarowe informacje, jak numery stron, których nie udało mi się usunąć, 2) konwersja pandoc do pdf jest zepsuta, dla mnie generuje pustą tabelę (być może z powodu unicode, i tak, skonfigurowałem ją do używania xetex), 3) rozwiązania oparte na stronach (np. e. gitprint.com) również dodają zbędne rzeczy, jak githubopodobne marginesy, podczas gdy ja potrzebuję tylko prostej tabeli, którą wygenerowałem za pomocą awk!