Niedawno zacząłem uczyć się Markdown do użytku z dokumentacją i muszę wydrukować kilka moich stron Markdown. Chciałbym użyć narzędzia wiersza polecenia, terminala itp., Które pozwala mi przekonwertować Markdown o smaku Github na PDF. Musi mieć odpowiednie podświetlanie składni i nie powinien wyglądać okropnie. Dziękuję za wszelką pomoc.
147
Odpowiedzi:
Odniosłem sukces, używając uchwytu do wyświetlania znaczników w przeglądarce Chrome, a następnie skorzystałem z opcji Chrome „Zapisz jako PDF” w oknie dialogowym Drukuj.
grip wyświetli przecenę na localhost: 5000 - po prostu edytuj i odśwież przeglądarkę. Drukuj, gdy będzie gotowy.
Dało to bardziej niezawodną reprezentację niż pandoc i było lżejsze niż instalacja lateksu (wymagana przez pandoc do generowania pdf).
Wydruk nie jest wierszem polecenia w tej odpowiedzi, ale nadal jest łatwiejszy / bardziej niezawodny (wyglądał w 100% jak Github w przypadku długiego dokumentu zawierającego względnie połączone obrazy i wyróżnianie kodu).
źródło
grip your_markdown.md --export your_markdown.html
jest przydatna opcja tutaj. Eksportuje go do pliku HTML, który można następnie wydrukować z wiersza poleceń, używając czegoś takiego jak wkhtmltopdf.Możesz także użyć opartego na Node.js markdown-pdf
źródło
Spójrz na pandoc . Ma podświetlanie składni. Może to wymagać wprowadzenia (drobnych) zmian w dokumencie, ponieważ ma on swój własny styl markdown i nie wiem, jak ściśle pasuje do smaku GitHub.
źródło
pandoc -h
zwróciło obsługę GitHub Flavored Markdown, więc zaznaczam to pytanie jako rozwiązane.pandoc
na Fedorze Linux i wpadłem w koszmar zależności - głównie związany z LaTex. Radzę pominąć pandoc i wypróbować najpierw inne opcjepandoc
, takie jak:--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
sudo apt install pandoc texlive-latex-recommended texlive-xetex texlive-luatex pandoc-citeproc etoolbox wkhtmltopdf
(na Ubuntu, prawdopodobnie nie wszystkie są konieczne), topandoc --variable urlcolor=cyan myfile.md -o myfile.pdf
Jeśli plik przeceny był przechowywany w repozytorium github, gitprint jest interesującą opcją do utworzenia pdf / print.
Wszystko, co musisz zrobić, to wymienić
github.com
bygitprint.com
w adresie URL. Oto przykład ze strony głównej gitprint.Niestety, nie działa on na listach Markdown i działa tylko z plikami Markdown w repozytorium.
źródło
Dostępny jest internetowy konwerter dostępny pod adresem http://www.markdowntopdf.com.
Zapewnia to podświetlanie składni po wyjęciu z pudełka i jest najprostszym rozwiązaniem, jakie do tej pory widziałem. Prawidłowo obsługuje także inne funkcje charakterystyczne dla GFM, np. Tabele.
źródło
Jak stwierdziłem w moim komentarzu, Github używa Linguist do podświetlania składni. W Github możesz użyć tego do określenia podświetlania składni w następujący sposób:
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 osiągnąć wyróżnianie składni, uruchamiając następujące polecenie z terminala:
Lub w vimie:
Spowoduje to utworzenie pliku PostScript, który można przekonwertować na format pdf, na przykład ps2pdf:
Podświetlenie źródła :
Jeśli zamiast tego chcesz przejść drogą HTML lub LaTeX, możesz zamiast tego spróbować Source-highlight . Listę wszystkich języków obsługiwanych przez podświetlanie źródła można znaleźć tutaj .
Kilka przykładowych poleceń podświetlania źródła obejmuje:
Korzystanie z tego pliku wejściowego
Każdy z nich wyprowadza własny plik HTML:
Hello1.html
Hello2.html
Hello3.html
Dalsze przykłady użycia podświetlenia źródła można znaleźć tutaj
Windows :
Vim , ps2pdf (dostarczone przez Ghostscript ) i Source-highlight są dostępne za pośrednictwem Cygwin .
źródło
W przypadku Linuksa użyj pandoc .
Zainstalować:
Tak, potrzebujesz
-extra
paczki z powodu czcionek.Konwertować:
źródło
<font color="red">
choćNiedawno utworzyłem usługę do konwersji dokumentów przecenionych do formatu PDF. Obsługuje markdown o smaku Github, a także podświetlanie składni. Usługa znajduje się na stronie: http://markdown2pdf.com
źródło
Moje rozwiązanie: przekonwertuj markdown
pandoc
na html (nie zapomnij użyć css dla pandoc, aby wyświetlić obramowania tabeli) , a następnie otwórz go za pomocąlibreoffice
, wybierz opcjęexport as pdf
.Uwaga : żadne z wymienionych tutaj i w Internecie rozwiązań nie działało dla mnie: 1) rozwiązania przeglądarkowe (tj. Grip) dodają nadmiar informacji, takich jak numery stron, których nie udało mi się usunąć, 2) konwersja pandoc do pdf jest zepsuty, 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 witrynie (np. gitprint.com) również dodają zbędne elementy, takie jak marginesy podobne do github, podczas gdy Potrzebuję tylko prostej tabeli wygenerowanej przez awk!
źródło
pandoc
powinien działać dla Ciebie z opcjami takimi jak--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
Wypróbowałem kilka wtyczek chrome i konwerterów online.
MDtr2PDF jest najlepszy. Obsługuje markdown o smaku Github i Unicode.
źródło
Udoskonaliłem ten fragment dla moich osobistych potrzeb:
Zapisz jako
/usr/local/bin/md2pdf
isudo chmod +x /usr/local/bin/md2pdf
później.Stosowanie:
md2pdf
konwertuje README.md na README.md.pdfmd2pdf foo.md
konwertuje foo.md na foo.md.pdfmd2pdf foo.md bar.pdf
konwertuje foo.md na bar.pdfźródło