command line - क्या गिटहब स्वादित मार्कडाउन को प्रस्तुत करने के लिए कोई कमांड लाइन उपयोगिता है?
command-line github (16)
मैं सोच रहा हूं कि गिटहब स्वादित मार्कडाउन फ़ाइल लेने और इसे HTML पर प्रस्तुत करने के लिए कमांड लाइन उपयोगिता है या नहीं।
मैं वेबसाइट सामग्री बनाने के लिए एक गिटहब विकी का उपयोग कर रहा हूं। मैंने अपने सर्वर पर रिपॉजिटरी क्लोन कर ली है और फिर इसे नियमित एचटीएमएल में संसाधित करना चाहूंगा। मेरे लिए यह महत्वपूर्ण है कि गिटहब पर जो दिखाई देता है वह ठीक है कि इसे मेरी वेबसाइट के लिए कैसे देखना चाहिए। मैं वास्तव में ~~~
साथ ~~~
वाले ब्लॉक का उपयोग करना चाहता हूं, इसलिए मैं केवल मानक मार्कडाउन वाक्यविन्यास का उपयोग नहीं करना चाहूंगा।
मैंने जावास्क्रिप्ट लाइव पूर्वावलोकन में थोड़ा सा देखा है, सोच रहा हूं कि मैं इसे नोड.जेएस में लगा सकता हूं, लेकिन वे कहते हैं कि इसे बहिष्कृत किया गया है। मैंने रेडकार्प रिपोजिटरी को देखा है, लेकिन ऐसा लगता है कि इसमें कमांड लाइन इंटरफ़ेस नहीं है।
मैंने अपना खुद का समाधान लुढ़काया, हालांकि, यहां कोई समाधान दूसरों की तुलना में स्पष्ट रूप से बेहतर नहीं है, इसलिए मैं बिना किसी उत्तर के प्रश्न पूछूंगा।
@ बैरी-एसएई और @ संदीप पर सुधार करने के लिए elinks के नियमित उपयोगकर्ताओं के जवाब में आप निम्नलिखित को जोड़ देंगे। Bashrc:
function mdviewer() {
pandoc $* | elinks --force-html
}
पैंडोक (और elinks) स्थापित करने के लिए मत भूलना।
@ बैरी-एसएई के समाधान पर सुधार। इस स्निपेट को ~ / .bashrc में चिपकाएं
function mdviewer(){
pandoc $* | lynx -stdin
}
फिर हम कमांड लाइन से फ़ाइल को जल्दी से देख सकते हैं। एसएसएच / टेलनेट सत्रों पर भी अच्छी तरह से काम करता है।
mdviewer README.md
गिटहब ने (ए) ने Atom नामक एक अच्छा मॉड्यूलर टेक्स्ट एडिटर विकसित किया है (क्रोमियम पर आधारित है और पैकेज के लिए Node.js मॉड्यूल का उपयोग करता है)।
एक डिफ़ॉल्ट प्रीइंस्टॉल किया गया पैकेज मार्कडाउन पूर्वावलोकन आपको Ctrl + Shift + M का उपयोग करके अपने पूर्वावलोकन को एक अलग टैब में प्रदर्शित करने देता है।
मैंने अपने पूर्ण वाक्यविन्यास का परीक्षण नहीं किया है, लेकिन चूंकि यह गिटहब से आ रहा है, इसलिए मुझे आश्चर्य होगा कि पूर्वावलोकन का वाक्यविन्यास उनके से अलग था ( ~~~
काम का उपयोग करके ~~~
ब्लॉक)।
अब, यह तकनीकी रूप से कमांड लाइन आधारित नहीं है, यह Node.js का उपयोग करता है और एक DOM आधारित रेंडरर को आउटपुट करता है, जो किसी भी GodeHub सिंटैक्स-आधारित HTML को Node.js- आधारित वेबसर्वर पर प्रस्तुत करने में मदद कर सकता है, या बस उसे संपादित कर सकता है / उसका README.md ऑफ़लाइन।
गिटहब में एक मार्कडाउन एपीआई है जिसका आप उपयोग कर सकते हैं।
टर्मिनल में README.md फ़ाइल पढ़ने के लिए मैं उपयोग करता हूं:
pandoc README.md | lynx -stdin
पांडोक इसे HTML प्रारूप में आउटपुट करता है, जो आपके टर्मिनल में लिंक्स प्रस्तुत करता है।
यह बहुत अच्छा काम करता है: यह मेरे टर्मिनल को भरता है, शॉर्टकट नीचे दिखाए जाते हैं, मैं स्क्रॉल कर सकता हूं, और लिंक काम करते हैं! यद्यपि केवल एक फ़ॉन्ट आकार है, लेकिन रंग + इंडेंटेशन + संरेखण उस के लिए तैयार है।
स्थापना:
sudo apt-get install pandoc lynx
देर से जोड़ा गया लेकिन showdownjs में एक सीएलआई उपकरण है जिसका उपयोग आप एमडी को एचटीएमएल में पार्स करने के लिए कर सकते हैं।
मुझे एक वेबसाइट मिली जो आपके लिए यह करेगी: http://tmpvar.com/markdown.html । अपने मार्कडाउन में पेस्ट करें, और यह आपके लिए प्रदर्शित करेगा। ऐसा लगता है कि ठीक काम करता है!
हालांकि, यह कोड के लिए सिंटैक्स हाइलाइटिंग विकल्प को संभालने में प्रतीत नहीं होता है; यही है, ~~~ruby
सुविधा काम नहीं करता है। यह सिर्फ 'रूबी' प्रिंट करता है।
मेरा अंतिम समाधान पायथन मार्कडाउन का उपयोग करना था। मैंने अपना खुद का extension लुढ़का जो बाड़ ब्लॉक को ठीक करता था।
मैं विकल्प के साथ Pandoc का उपयोग करें - from --from=gfm
इस तरह:
$ pandoc markdown-sample.md --from=gfm -t html -o markdown-sample.html
मैंने एटम की पूर्वावलोकन कार्यक्षमता के समान टूल बनाया, लेकिन एक स्टैंडअलोन एप्लिकेशन के रूप में। सुनिश्चित नहीं है कि यह वही है जो आप खोज रहे हैं, लेकिन यह सहायक हो सकता है। - https://github.com/yoshuawuyts/vmd
मैंने हाल ही में जो भी आप चाहते हैं, बनाया है, क्योंकि मुझे मार्कडाउन फ़ाइलों से दस्तावेज जेनरेट करने की आवश्यकता थी और गिटहब शैली बहुत अच्छी है। कोशिश करो। यह नोड.जे.एस. में लिखा गया है
यह पैंडोक का उपयोग करने के लिए @ बैरी-स्टेस के उत्तर पर अधिकतर अनुवर्ती है। यदि आप मैक पर हैं तो होमब्रू में भी यह है:
brew install pandoc
पांडोक मार्कडाउन_गिट्यूब नाम के माध्यम से एक इनपुट प्रारूप के रूप में जीएफएम का समर्थन करता है।
फाइल करने के लिए आउटपुट
cat foo.md | pandoc -f markdown_github > foo.html
Lynx में खोलें
cat foo.md | pandoc -f markdown_github | lynx -stdin # To open in Lynx
ओएस एक्स पर डिफ़ॉल्ट ब्राउज़र में खोलें
cat foo.md | pandoc -f markdown_github > foo.html && open foo.html # To open in the default browser on OS X`
टेक्स्टमैट एकीकरण
आप उपर्युक्त में से किसी एक को वर्तमान चयन या वर्तमान दस्तावेज़ को हमेशा पाइप कर सकते हैं, क्योंकि अधिकांश संपादक आपको ऐसा करने की अनुमति देते हैं। आप पर्यावरण को आसानी से कॉन्फ़िगर भी कर सकते हैं ताकि pandoc
बंडल द्वारा उपयोग किए गए डिफ़ॉल्ट pandoc
प्रोसेसर को प्रतिस्थापित कर सके।
सबसे पहले, निम्न सामग्री के साथ एक खोल स्क्रिप्ट बनाएं (मैं इसे ghmarkdown
):
#!/bin/bash
# Note included, optional --email-obfuscation arg
pandoc -f markdown_github --email-obfuscation=references
फिर आप TM_MARKDOWN
वैरिएबल (वरीयताओं → चरों में) को /path/to/ghmarkdown
सेट कर सकते हैं, और यह डिफ़ॉल्ट मार्कडाउन प्रोसेसर को प्रतिस्थापित करेगा।
शायद यह मदद कर सकता है:
gem install github-markdown
कोई दस्तावेज मौजूद नहीं है, लेकिन मुझे इसे gollum दस्तावेज़ से मिला है। rubydoc.info पर rubydoc.info , ऐसा लगता है कि आप इसका उपयोग कर सकते हैं:
require 'github/markdown'
puts GitHub::Markdown.render_gfm('your markdown string')
आपके रूबी कोड में। आप आसानी से एक स्क्रिप्ट में इसे कमांड लाइन उपयोगिता में बदलने के लिए लपेट सकते हैं:
#!/usr/bin/env ruby
# render.rb
require 'github/markdown'
puts GitHub::Markdown.render_gfm File.read(ARGV[0])
इसे ./render.rb path/to/my/markdown/file.md
साथ निष्पादित करें। ध्यान दें कि स्वच्छता के बिना उत्पादन में उपयोग के लिए यह सुरक्षित नहीं है।
marked प्रयोग करें। यह गिटहब स्वादित मार्कडाउन का समर्थन करता है, जिसे नोड.जेएस मॉड्यूल और कमांड लाइन से उपयोग किया जा सकता है।
एक उदाहरण होगा:
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
browser
साथ pandoc
मेरे लिए अच्छा काम करता है।
उपयोग: cat README.md | pandoc -f markdown_github | browser
cat README.md | pandoc -f markdown_github | browser
स्थापना (मान लीजिए कि आप मैक ओएसएक्स का उपयोग कर रहे हैं):
$ brew install pandoc
$ brew install browser
या डेबियन / उबंटू पर: apt-get install pandoc browser
जिम लिम के जवाब के आधार पर, मैंने गिटहब मार्कडाउन मणि स्थापित किया। इसमें gfm नामक एक स्क्रिप्ट शामिल है जो कमांड लाइन पर एक फ़ाइल नाम लेती है और मानक आउटपुट के बराबर HTML लिखती है। मैंने डिस्क को फ़ाइल में सहेजने के लिए थोड़ा सा संशोधित किया और फिर लॉन्च के साथ मानक ब्राउज़र खोलने के लिए:
#!/usr/bin/env ruby
HELP = <<-help
Usage: gfm [--readme | --plaintext] [<file>]
Convert a GitHub-Flavored Markdown file to HTML and write to standard output.
With no <file> or when <file> is '-', read Markdown source text from standard input.
With `--readme`, the files are parsed like README.md files in GitHub.com. By default,
the files are parsed with all the GFM extensions.
help
if ARGV.include?('--help')
puts HELP
exit 0
end
root = File.expand_path('../../', __FILE__)
$:.unshift File.expand_path('lib', root)
require 'github/markdown'
require 'tempfile'
require 'launchy'
mode = :gfm
mode = :markdown if ARGV.delete('--readme')
mode = :plaintext if ARGV.delete('--plaintext')
outputFilePath = File.join(Dir.tmpdir, File.basename(ARGF.path)) + ".html"
File.open(outputFilePath, "w") do |outputFile |
outputFile.write(GitHub::Markdown.to_html(ARGF.read, mode))
end
outputFileUri = 'file:///' + outputFilePath
Launchy.open(outputFileUri)