मैं एक पीडीएफ में जीथब-फ्लेवर्ड मार्कडाउन कैसे बदल सकता हूं


147

मैंने हाल ही में प्रलेखन के साथ उपयोग के लिए मार्कडाउन सीखना शुरू किया है, और मेरे कुछ मार्कडाउन पृष्ठों को प्रिंट करने की आवश्यकता है। मैं एक कमांड-लाइन, टर्मिनल, आदि उपयोगिता का उपयोग करना चाहूंगा जो मुझे जीथब-फ्लेवर्ड मार्कडाउन को पीडीएफ में बदलने की अनुमति देता है। इसे उचित सिंटैक्स हाइलाइट करने की आवश्यकता है और इसे भयानक नहीं दिखना चाहिए। किसी भी मदद के लिए धन्यवाद।


GitHub पर सिंटैक्स का रंग GitHub Flavoured Markdown का हिस्सा नहीं है। कम से कम जहां तक ​​मुझे पता है।
डेर होकस्टाप्लर

@OliverSalzburg Github सिंटैक्स हाइलाइटिंग प्रदान करने के लिए भाषाविद का उपयोग करता है ।
DanteTheEgregore

@dillmo, पहले HTML में रूपांतरित करें , फिर Chrome से प्रिंट-टू-पीडीएफ का उपयोग करें।
20

जवाबों:


149

मुझे क्रोम में मार्कडाउन प्रदर्शित करने के लिए ग्रिप का उपयोग करने में सफलता मिली है और फिर प्रिंट संवाद में क्रोम के "Save as PDF" विकल्प का उपयोग करें।

pip install grip  
grip your_markdown.md

पकड़ स्थानीयहोस्ट पर मार्कडाउन को रेंडर करेगा: 5000 - बस दूर संपादित करें और ब्राउज़र को ताज़ा करें। तैयार होने पर प्रिंट करें।

इसने पैंडॉक की तुलना में अधिक विश्वसनीय प्रतिनिधित्व दिया और लेटेक्स स्थापित करने की तुलना में हल्का वजन था (पीडीएफ पीढ़ी के लिए पंडोक द्वारा आवश्यक)।

इस उत्तर में प्रिंट कमांड लाइन नहीं है, लेकिन फिर भी यह आसान / अधिक विश्वसनीय पाया गया (अपेक्षाकृत जुड़े चित्रों और कोड हाइलाइटिंग सहित एक लंबे दस्तावेज़ के लिए 100% गितुब की तरह देखा गया)।


2
यह काफी आसान है।
s2t2

15
grip your_markdown.md --export your_markdown.htmlयहाँ उपयोगी विकल्प है। इसे html फ़ाइल में निर्यात किया जाता है, जिसे बाद में wttmltopdf जैसी किसी चीज़ का उपयोग करके कमांड लाइन से प्रिंट किया जा सकता है।
ल्यूक एक्सटन ने

1
दुर्भाग्य से ग्रिप को गिटहब तक पहुंचने की आवश्यकता है। यह ऑफ़लाइन काम नहीं करता है
14

6
वैकल्पिक रूप से आप (free!) Atom ( atom.io ) को डाउनलोड कर सकते हैं , अपनी फ़ाइल को Atom में खोल सकते हैं, इसे देखने के लिए कंट्रोल + शिफ्ट + M का उपयोग कर सकते हैं, इसे html के रूप में सहेजें, फिर अपने क्रोम ब्राउज़र में html खोलें और PDF के रूप में सहेजें।
एंड्रयू कार्टर

6
यह इसके चारों ओर गिथब-जैसे फ्रेम के साथ आता है। क्या पीडीएफ को प्रिंट करने का एक तरीका है, सीमाओं / शीर्षक पट्टी को हटाना (यानी फ्रेम के अंदर सब कुछ प्रिंट करना)?
जोस्ट

56

आप Node.js आधारित मार्कडाउन-पीडीएफ का भी उपयोग कर सकते हैं

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

2
यह बहुत भयानक है और वास्तव में आसान है। लिंक मुद्दा html5 बॉयलरप्लेट के प्रिंट सीएसएस से आता है जिसे आप केवल अपनी स्टाइलशीट में टिप्पणी या ओवरराइड कर सकते हैं।
रॉबर्ट

जोड़ना चाहेंगे कि इसमें आउट-ऑफ-द-बॉक्स यूनिकोड समर्थन है, जो बहुत अच्छा है।
नीक

यदि आप GitHub की CSS फ़ाइल का उपयोग करना चाहते हैं तो आप github-markdown-css भी स्थापित कर सकते हैं ।
jpmc26

@ jpmc26 आप इसका उपयोग कैसे कर सकते हैं, मुझे जावास्क्रिप्ट या npm का कोई ज्ञान नहीं है?
अभिषेक भाटिया

1
@AbhishekBhatia यह पहला परिणाम है जब मैंने " npm परिचय" शुरू किया: smalljs.org/package-managers/npm । इसे स्थापित करने के बाद केवल नोड_मॉड्यूल में दफन एक फाइल है।
jpmc26

39

पैंडो पर एक नज़र रखना । इसमें सिंटैक्स हाइलाइटिंग है। इसे आपके दस्तावेज़ में बदलाव करने की आवश्यकता हो सकती है क्योंकि इसमें मार्कडाउन का अपना स्वाद होता है और मुझे नहीं पता कि यह GitHub स्वाद से कितनी बारीकी से मेल खाता है।


3
धन्यवाद। रनिंग pandoc -hने GitHub फ्लेवर्ड मार्कडाउन के लिए वापसी का समर्थन किया, इसलिए मैं इस प्रश्न को हल के रूप में चिह्नित कर रहा हूं।
dillmo

2
मैंने pandocफेडोरा लिनक्स पर स्थापित करने का प्रयास किया और एक निर्भरता दुःस्वप्न में भाग गया - मुख्य रूप से लाटेक्स संबंधित। मेरी सलाह होगी कि आप पैंडोक छोड़ें और पहले अन्य विकल्पों की कोशिश करें
IanB

उन लोगों के लिए जो गैर-एएससीआईआई पत्रों का उपयोग करते हैं और उन्हें गायब करते हैं: इस pandocतरह से फ़ॉन्ट विकल्प जोड़ें :--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
gluk47

4
अगर किसी को बस आज्ञाओं की तलाश है: sudo apt install pandoc texlive-latex-recommended texlive-xetex texlive-luatex pandoc-citeproc etoolbox wkhtmltopdf(उबंटू पर, शायद सभी आवश्यक नहीं), तोpandoc --variable urlcolor=cyan myfile.md -o myfile.pdf
टोर क्लिंगबर्ग

@TorKlingberg धन्यवाद, मुझे लगता है कि सबसे अच्छा जवाब है!
thc

12

यदि मार्कडाउन फ़ाइल को github रिपॉजिटरी पर होस्ट किया गया था, तो gitprint pdf / Print बनाने के लिए एक दिलचस्प विकल्प है।

तुम सब करने की ज़रूरत को बदलने के लिए है github.comद्वारा gitprint.comURL में। यहाँ gitprint के होमपेज से एक उदाहरण है।

दुर्भाग्य से, यह मार्कडाउन जिस्ट पर काम नहीं करता है, और रिपॉजिटरी में केवल मार्कडाउन फाइलों के साथ काम करता है।


4
यह छवियों के साथ भी काम नहीं करता है। :(
एडम एरॉल्ड

... और खराब रूप से तैयार किया गया है :(
Moebius

दिलचस्प विकल्प। पेशेवरों: बाहरी लिंक आउटपुट से बनाए और सुलभ हैं। विपक्ष: आउटपुट काले और सफेद होते हैं, लंगर लिंक हटा दिए जाते हैं, बाहरी लिंक नेत्रहीन इंगित नहीं किए जाते हैं क्योंकि वे बी एंड डब्ल्यू हैं।
कृति

7

Http://www.markdowntopdf.com पर एक ऑनलाइन कन्वर्टर उपलब्ध है
यह सिंटैक्स बॉक्स से हाइलाइटिंग प्रदान करता है और अब तक का सबसे सरल समाधान है। यह GFM उदा टेबल के लिए विशिष्ट अन्य सुविधाओं को भी सही ढंग से संभालता है।


4
अलग-अलग फ़ाइलों में छवियों को संभाल नहीं करता है।
लैरी के

काम करता है खूबसूरती से
shadi

6

जैसा कि मैंने मेरी टिप्पणी में कहा गया है, Github का उपयोग करता भाषाविद् वाक्य रचना हाइलाइटिंग प्रदान करने के लिए। Github पर, आप सिंटैक्स हाइलाइटिंग को निर्दिष्ट करने के लिए इसका उपयोग कर सकते हैं:

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

दुर्भाग्य से, मार्कडाउन को सीधे सिंटैक्स हाइलाइटिंग वाली पीडीएफ फाइल में बदलने का कोई अच्छा तरीका नहीं है।

विकल्प:

विम :

यदि आपके पास विम है, तो आप टर्मिनल से निम्नलिखित रन करके आसानी से सिंटैक्स हाइलाइटिंग प्राप्त कर सकते हैं:

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

या विम के अंदर:

:hardcopy >/path/to/file.ps

यह एक पोस्टस्क्रिप्ट फ़ाइल का उत्पादन करेगा जिसे पीडीएफ में परिवर्तित किया जा सकता है, उदाहरण के लिए, ps2pdf:

ps2pdf /path/to/file.ps

स्रोत-हाइलाइट :

यदि आप HTML या LaTeX के मार्ग पर जाने के बजाय चाहते हैं, तो आप इसके बजाय स्रोत-हाइलाइट आज़मा सकते हैं । स्रोत-हाइलाइट द्वारा समर्थित सभी भाषाओं की एक सूची यहां पाई जा सकती है

कुछ उदाहरण स्रोत-हाइलाइट कमांड में शामिल हैं:

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

इस इनपुट फ़ाइल का उपयोग करना

और प्रत्येक अपने स्वयं के संबंधित HTML फ़ाइल का उत्पादन:

Hello1.html
Hello2.html
Hello3.html

स्रोत-हाइलाइट उपयोग के आगे के उदाहरण यहां देखे जा सकते हैं

विंडोज :

विम , ps2pdf (द्वारा प्रदान की Ghostscript ) और स्रोत-आकर्षण के माध्यम से सभी उपलब्ध हैं Cygwin


4

लिनक्स वाले लोगों के लिए, पैंडॉक का उपयोग करें

इंस्टॉल करें I:

sudo apt install pandoc texlive-latex-extra

हाँ, आपको -extraफोंट के कारण पैकेज की आवश्यकता है ।

कन्वर्ट करें:

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

किसी भी चित्र, लिंक और उपेक्षित चीजों को शामिल नहीं किया जैसे <font color="red">कि
derHugo

3

मैंने हाल ही में मार्कडाउन दस्तावेजों को पीडीएफ में बदलने के लिए एक सेवा बनाई है। यह Github फ्लेवर्ड मार्कडाउन के साथ-साथ सिंटैक्स हाइलाइटिंग का समर्थन करता है। यह सेवा यहां स्थित है: http://markdown2pdf.com


ज़िप फ़ाइल के साथ काम नहीं करता है: संग्रह में मार्कडाउन फ़ाइल नहीं मिल सकी जबकि वहाँ एक है।
Moebius

"पीडीएफ में रूपांतरण में त्रुटि" मिली। Kevgathuku की बजाय markdowntopdf.com का उपयोग करना
shadi

1

मेरा समाधान: pandochtml के साथ मार्कडाउन कन्वर्ट करें (टेबल बॉर्डर दिखाने के लिए पंडोक के लिए सीएसएस का उपयोग करना न भूलें ) , फिर इसके साथ खोलें libreoffice, एक विकल्प चुनें export as pdf

नायब : न तो यहां उल्लेख किया गया है और न ही मेरे लिए काम किए गए इंटरनेट समाधानों पर: 1) ब्राउज़र-आधारित समाधान (यानी पकड़) अतिरिक्त जानकारी जोड़ रहे हैं, जैसे पेज नंबर, जिसे मैंने हटाने का प्रबंधन नहीं किया, 2) पीडीएफ में पैंडोक कनवर्जेन्स है टूटा हुआ, मेरे लिए यह एक खाली तालिका बनाता है (शायद यूनिकोड के कारण, और हां, मैंने इसे xetex का उपयोग करने के लिए कॉन्फ़िगर किया है) , 3) साइट आधारित समाधान (यानी gitprint.com) भी बेतुकी चीजें जोड़ रहे हैं, जैसे कि गितुब-जैसे मार्जिन, जबकि मुझे बस एक साधारण तालिका की आवश्यकता है जो मैंने जाग के साथ उत्पन्न की है!


1
pandocआप के लिए विकल्पों के साथ काम करना चाहिए जैसे--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
gluk47

@ gluk47 शांत, कि काम करता है!
हाय-एंजेल

मैं इस पृष्ठ को पीडीएफ में (या मुद्रण के लिए) markdownprint.com में परिवर्तित करने के लिए सुझा सकता हूं ।
जोहान ओ

@ जोहानो markdownprint.com नीचे लगता है
derHugo

1

मैंने कई क्रोम प्लगइन्स और ऑनलाइन कन्वर्टर्स की कोशिश की है।
MDtr2PDF सबसे अच्छा है। यह जीथब-फ्लेवर्ड-मार्कडाउन और यूनिकोड का समर्थन करता है।


1
क्या यह अन्य फ़ाइलों में संग्रहीत छवियों का समर्थन करता है?
लैरी के

अब कोई काम नहीं कर रहा है, और टीएलएस-सुरक्षित नहीं है।
डेविड ओलिवर

1

मैंने अपनी व्यक्तिगत जरूरतों के लिए इस स्निपेट को परिष्कृत किया :

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

के रूप में /usr/local/bin/md2pdfऔर sudo chmod +x /usr/local/bin/md2pdfबाद में सहेजें ।

उपयोग:

  • md2pdf README.md को README.md.pdf में कनवर्ट करता है

  • md2pdf foo.md foo.md को foo.md.pdf में कनवर्ट करता है

  • md2pdf foo.md bar.pdf foo.md को bar.pdf में कनवर्ट करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.