command line क्या गिटहब स्वादित मार्कडाउन को प्रस्तुत करने के लिए कोई कमांड लाइन उपयोगिता है?




command-line github (20)

मैं सोच रहा हूं कि गिटहब स्वादित मार्कडाउन फ़ाइल लेने और इसे HTML पर प्रस्तुत करने के लिए कमांड लाइन उपयोगिता है या नहीं।

मैं वेबसाइट सामग्री बनाने के लिए एक गिटहब विकी का उपयोग कर रहा हूं। मैंने अपने सर्वर पर रिपॉजिटरी क्लोन कर ली है और फिर इसे नियमित एचटीएमएल में संसाधित करना चाहूंगा। मेरे लिए यह महत्वपूर्ण है कि गिटहब पर जो दिखाई देता है वह ठीक है कि इसे मेरी वेबसाइट के लिए कैसे देखना चाहिए। मैं वास्तव में ~~~ साथ ~~~ वाले ब्लॉक का उपयोग करना चाहता हूं, इसलिए मैं केवल मानक मार्कडाउन वाक्यविन्यास का उपयोग नहीं करना चाहूंगा।

मैंने जावास्क्रिप्ट लाइव पूर्वावलोकन में थोड़ा सा देखा है, सोच रहा हूं कि मैं इसे नोड.जेएस में लगा सकता हूं, लेकिन वे कहते हैं कि इसे बहिष्कृत किया गया है। मैंने रेडकार्प रिपोजिटरी को देखा है, लेकिन ऐसा लगता है कि इसमें कमांड लाइन इंटरफ़ेस नहीं है।

मैंने अपना खुद का समाधान लुढ़काया, हालांकि, यहां कोई समाधान दूसरों की तुलना में स्पष्ट रूप से बेहतर नहीं है, इसलिए मैं बिना किसी उत्तर के प्रश्न पूछूंगा।


pip3 install --user markdown
python3 -m markdown readme.md > readme.html

यह गिटहब एक्सटेंशन को संभाल नहीं करता है, लेकिन यह कुछ भी नहीं है। मेरा मानना ​​है कि आप गिटहब जोड़ों को संभालने के लिए मॉड्यूल का विस्तार कर सकते हैं।


मैंने एटम की पूर्वावलोकन कार्यक्षमता के समान टूल बनाया, लेकिन एक स्टैंडअलोन एप्लिकेशन के रूप में। सुनिश्चित नहीं है कि यह वही है जो आप खोज रहे हैं, लेकिन यह सहायक हो सकता है। - https://github.com/yoshuawuyts/vmd


मैं उस उद्देश्य के लिए एक लाइन रूबी स्क्रिप्ट का उपयोग करने में कामयाब रहा (हालांकि इसे एक अलग फाइल में जाना था)। सबसे पहले, प्रत्येक क्लाइंट मशीन पर इन आदेशों को एक बार चलाएं, आप दस्तावेज़ों को धक्का देंगे:

gem install github-markup
gem install commonmarker

इसके बाद, इस स्क्रिप्ट को अपनी क्लाइंट छवि में इंस्टॉल करें, और इसे render-readme-for-javadoc.rb :

require 'github/markup'

puts GitHub::Markup.render_s(GitHub::Markups::MARKUP_MARKDOWN, File.read('README.md'))

अंत में, इसे इस तरह से बुलाओ:

ruby ./render-readme-for-javadoc.rb >> project/src/main/javadoc/overview.html

ईटीए: यह आपको स्टैक ओवरफ्लो-स्वाद मार्कडाउन के साथ मदद नहीं करेगा, जो इस उत्तर पर असफल रहा है।


टर्मिनल में README.md फ़ाइल पढ़ने के लिए मैं उपयोग करता हूं:

pandoc README.md | lynx -stdin

पांडोक इसे HTML प्रारूप में आउटपुट करता है, जो आपके टर्मिनल में लिंक्स प्रस्तुत करता है।

यह बहुत अच्छा काम करता है: यह मेरे टर्मिनल को भरता है, शॉर्टकट नीचे दिखाए जाते हैं, मैं स्क्रॉल कर सकता हूं, और लिंक काम करते हैं! यद्यपि केवल एक फ़ॉन्ट आकार है, लेकिन रंग + इंडेंटेशन + संरेखण उस के लिए तैयार है।

स्थापना:

sudo apt-get install pandoc lynx

देर से जोड़ा गया लेकिन showdownjs में एक सीएलआई उपकरण है जिसका उपयोग आप एमडी को एचटीएमएल में पार्स करने के लिए कर सकते हैं।


यह पैंडोक का उपयोग करने के लिए @ बैरी-स्टेस के उत्तर पर अधिकतर अनुवर्ती है। यदि आप मैक पर हैं तो होमब्रू में भी यह है:

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 सेट कर सकते हैं, और यह डिफ़ॉल्ट मार्कडाउन प्रोसेसर को प्रतिस्थापित करेगा।


मुझे Pandoc -स्वाद वाले Pandoc लिए एक त्वरित और आसान विधि नहीं मिली है, लेकिन मुझे थोड़ा और सामान्य संस्करण - Pandoc । यह मार्कडाउन, रेस्ट, एचटीएमएल और अन्य सहित कई प्रारूपों में से बदलता है।

मैंने सभी .md फ़ाइलों को .html में परिवर्तित करने के लिए मेकफ़ाइल भी विकसित किया है ( लेखन, मार्कडाउन और पांडोक पर उदाहरण के लिए बड़े हिस्से में):

# 'Makefile'
MARKDOWN = pandoc --from markdown_github --to html --standalone
all: $(patsubst %.md,%.html,$(wildcard *.md)) Makefile

clean:
    rm -f $(patsubst %.md,%.html,$(wildcard *.md))
    rm -f *.bak *~

%.html: %.md
    $(MARKDOWN) $< --output [email protected]

मुझे एक वेबसाइट मिली जो आपके लिए यह करेगी: http://tmpvar.com/markdown.html । अपने मार्कडाउन में पेस्ट करें, और यह आपके लिए प्रदर्शित करेगा। ऐसा लगता है कि ठीक काम करता है!

हालांकि, यह कोड के लिए सिंटैक्स हाइलाइटिंग विकल्प को संभालने में प्रतीत नहीं होता है; यही है, ~~~ruby सुविधा काम नहीं करता है। यह सिर्फ 'रूबी' प्रिंट करता है।


गिटहब ने (ए) ने Atom नामक एक अच्छा मॉड्यूलर टेक्स्ट एडिटर विकसित किया है (क्रोमियम पर आधारित है और पैकेज के लिए Node.js मॉड्यूल का उपयोग करता है)।

एक डिफ़ॉल्ट प्रीइंस्टॉल किया गया पैकेज मार्कडाउन पूर्वावलोकन आपको Ctrl + Shift + M का उपयोग करके अपने पूर्वावलोकन को एक अलग टैब में प्रदर्शित करने देता है।

मैंने अपने पूर्ण वाक्यविन्यास का परीक्षण नहीं किया है, लेकिन चूंकि यह गिटहब से आ रहा है, इसलिए मुझे आश्चर्य होगा कि पूर्वावलोकन का वाक्यविन्यास उनके से अलग था ( ~~~ काम का उपयोग करके ~~~ ब्लॉक)।

अब, यह तकनीकी रूप से कमांड लाइन आधारित नहीं है, यह Node.js का उपयोग करता है और एक DOM आधारित रेंडरर को आउटपुट करता है, जो किसी भी GodeHub सिंटैक्स-आधारित HTML को Node.js- आधारित वेबसर्वर पर प्रस्तुत करने में मदद कर सकता है, या बस उसे संपादित कर सकता है / उसका README.md ऑफ़लाइन।


@ बैरी-एसएई और @ संदीप पर सुधार करने के लिए elinks के नियमित उपयोगकर्ताओं के जवाब में आप निम्नलिखित को जोड़ देंगे। Bashrc:

function mdviewer() {
  pandoc $* | elinks --force-html
}

पैंडोक (और elinks) स्थापित करने के लिए मत भूलना।



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

gfm


एक 'त्वरित और गंदे' दृष्टिकोण विकी उपयोगिता का उपयोग करके विकी उपयोगिता का उपयोग करके विकी HTML पृष्ठों को डाउनलोड करना है। उदाहरण के लिए, इस तरह मैंने गिटहब से हाइस्ट्रिक्स विकी डाउनलोड की है (मैं Ubuntu लिनक्स का उपयोग कर रहा हूं):

 $ wget -e robots=off -nH -E -H -k -K -p https://github.com/Netflix/Hystrix/wiki
 $ wget -e robots=off -nH -E -H -k -K -I "Netflix/Hystrix/wiki" -r -l 1 https://github.com/Netflix/Hystrix/wiki

पहला कॉल विकी एंट्री पेज और इसकी सभी निर्भरताओं को डाउनलोड करेगा। दूसरा यह सब सब-पेज कॉल करेगा। Netflix/Hystrix/wiki.1.html विकी Netflix/Hystrix/wiki.1.html खोलकर अब आप विकी ब्राउज़ कर सकते हैं।

ध्यान दें कि wget दोनों कॉल जरूरी हैं। यदि आप केवल दूसरे को चलाते हैं तो आप पृष्ठों को ठीक से दिखाने के लिए आवश्यक कुछ निर्भरताओं को याद करेंगे।


marked प्रयोग करें। यह गिटहब स्वादित मार्कडाउन का समर्थन करता है, जिसे नोड.जेएस मॉड्यूल और कमांड लाइन से उपयोग किया जा सकता है।

एक उदाहरण होगा:

$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>

शायद आप जो चाहते हैं वह नहीं, लेकिन चूंकि आपने नोड.जेएस का उल्लेख किया है: मुझे गिटहब स्वादित मार्कडाउन दस्तावेज को गिटहब में करने से पहले अपने स्थानीय ड्राइव पर पूर्वावलोकन करने के लिए एक अच्छा टूल नहीं मिला, इसलिए आज मैंने नोड.जेएस: https://github.com/ypocat/gfms पर आधारित एक बनाया https://github.com/ypocat/gfms

तो शायद आप अपने विकी के लिए showdown.js का पुन: उपयोग कर सकते हैं, यदि आपका प्रश्न अभी भी वास्तविक है। यदि नहीं, हो सकता है कि अन्य लोगों को एक ही समस्या का सामना करना पड़े जैसा मैंने किया था (जैसा मैंने किया) इस प्रश्न और इसका उत्तर।


मैं विकल्प के साथ Pandoc का उपयोग करें - from --from=gfm इस तरह:

$ pandoc markdown-sample.md   --from=gfm -t html -o markdown-sample.html


जिम लिम के जवाब के आधार पर, मैंने गिटहब मार्कडाउन मणि स्थापित किया। इसमें 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)

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


https://softwareengineering.stackexchange.com/a/128721/24257 भी देखें।

यदि आप रुचि रखते हैं कि हम [गीथूब] Redcarpet फ़ाइलों को कैसे प्रस्तुत करते हैं, तो आप Sundown लाइब्रेरी में हमारे रूबी इंटरफ़ेस Redcarpet को देखना Redcarpet

रूबी-स्क्रिप्ट, जो Redcarpet उपयोग Redcarpet , यदि आपके पास स्थानीय रूबी होगी, तो "कमांड लाइन यूटिलिटी" होगी





github-flavored-markdown