มียูทิลิตีบรรทัดคำสั่งสำหรับการแสดงผล GitHub ที่ปรุงแต่งมาร์กดาวน์หรือไม่?


414

ฉันสงสัยว่ามียูทิลิตี้บรรทัดคำสั่งสำหรับการใช้ไฟล์Markdown ปรุงแต่งแบบ GitHubและแสดงเป็น HTML หรือไม่

ฉันใช้วิกิ GitHub เพื่อสร้างเนื้อหาเว็บไซต์ ฉันโคลนที่เก็บข้อมูลบนเซิร์ฟเวอร์ของฉันแล้วและต้องการประมวลผลเป็น HTML ปกติ เป็นสิ่งสำคัญสำหรับฉันว่าสิ่งที่ปรากฏบน GitHub นั้นเป็นวิธีที่ควรมองหาเว็บไซต์ของฉัน ฉันต้องการใช้บล็อกที่มีการป้องกันด้วย~~~ดังนั้นฉันจึงไม่ควรใช้ไวยากรณ์ Markdown มาตรฐานเท่านั้น

ฉันได้ลองดูตัวอย่าง JavaScript แบบสดๆแล้วคิดว่าฉันสามารถเอาไปใส่ใน Node.js ได้ แต่พวกเขาบอกว่ามันเลิกใช้แล้ว ฉันดูที่เก็บข้อมูล redcarpet แต่ดูเหมือนว่าจะไม่มีส่วนต่อประสานบรรทัดคำสั่ง

ฉันรีดโซลูชันของฉันเอง แต่เนื่องจากไม่มีวิธีแก้ไขปัญหาที่นี่ดีกว่าโซลูชันอื่นอย่างชัดเจนฉันจะปล่อยให้คำถามโดยไม่มีคำตอบที่เลือก


2
RE: UPDATE: ถ้าฉันเพิ่ม--outอาร์กิวเมนต์เพื่อจับให้แสดงไฟล์ HTML แทนเบราว์เซอร์นั่นจะเป็นที่ยอมรับหรือไม่
Joe

@ Joe โปรดเพิ่มตัวเลือกนั้นด้วย!
bguiz

@McLeopold @bguiz เพิ่งปรับใช้--exportตัวเลือกซึ่งจะทำให้ GFM และสไตล์ของมันเป็นไฟล์เดียว นี่ตอบคำถามหรือไม่
โจ

3
@McLeopold โจเคาะประตูออกจากสวนด้วยการสร้างโซลูชันที่ใช้ซ้ำได้ง่ายอาจต้องการคำตอบ
James McMahon

1
Github ตัวเองใช้ Sundown ดูstackoverflow.com/a/7694931/632951
Pacerier

คำตอบ:


447

ฉันเขียน CLI ขนาดเล็กใน Python และเพิ่มการรองรับ GFM มันเรียกว่าGrip (Github Readme ดูตัวอย่างทันที)

ติดตั้งด้วย:

$ pip install grip

และใช้งานง่ายเพียง:

$ grip

จากนั้นไปที่localhost:5000เพื่อดูreadme.mdไฟล์ที่ตำแหน่งนั้น

คุณสามารถระบุไฟล์ของคุณเอง:

$ grip CHANGES.md

และเปลี่ยนพอร์ต:

$ grip 8080

และแน่นอนทำให้การแสดงผล GitHub-Flavoured Markdown เป็นทางเลือกโดยมีบริบทของที่เก็บ:

$ grip --gfm --context=username/repo issue.md

คุณสมบัติที่โดดเด่น:

  • แสดงหน้าเพื่อให้ดูเหมือนกับ GitHub
  • บล็อกไม่พอใจ
  • Python API
  • นำทางระหว่างไฟล์ที่เชื่อมโยง (ขอบคุณvladwing !) เพิ่มใน 2.0
  • ส่งออกเป็นไฟล์เดียว (ขอบคุณ, iliggio !) เพิ่มใน 2.0
  • ใหม่:อ่านจากstdinและส่งออกเป็นstdout เพิ่มใน 3.0

หวังว่านี่จะช่วยคนที่นี่ ลองดูสิ


1
ทำงานได้ดีจริงๆและคุณไม่สามารถเอาชนะความง่ายในการติดตั้งสำหรับ Pythonistas!
RichVel

29
นี่เป็นครั้งแรกสำหรับ "github markdown preview" ทุกอย่างอื่นนั้นซับซ้อนไม่ทำงานหรือไม่ได้ทำคุณสมบัติทั้งหมดของ GitHub gripใช้งานได้ทันทีนอกกรอบ
Bluu

1
@Houdini ปัญหานั้นล้าสมัย ขวดไม่สนับสนุน 3.3 ดูflask.pocoo.org/docs/python3 นี่เป็นด้าย Github เมื่อเร็ว ๆ นี้ในหัวข้อgithub.com/mitsuhiko/flask/issues/587 หากมีการพึ่งพาอื่นที่ต้องได้รับการอัปเดตอย่าลังเลที่จะเปิดปัญหาหรือคำขอดึง
โจ

3
ควรสังเกตว่าแพคเกจนี้ต้องการการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานและข้อมูลรับรองการตรวจสอบ GitHub ของคุณ (ระบุที่บรรทัดคำสั่ง) หากคุณทำมากกว่า 60 รีเฟรชต่อชั่วโมง
leo

13
ดังที่ได้กล่าวไปแล้วก่อนหน้านี้ฉันไม่คิดว่านี่เป็นวิธีแก้ปัญหาที่ยอดเยี่ยมโดยเฉพาะอย่างยิ่งเพราะมันจะปิด Github ทั้งหมดและทำให้ Github สามารถทำให้ Markdown ของคุณได้ มันต้องมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้กับการเข้าถึง Github และหาก Github ตายเครื่องมือนี้จะหยุดทำงาน ฉันอยากจะมีทางออกที่สมบูรณ์แบบออฟไลน์
Jez

114

ฉันไม่ได้พบวิธีที่ง่ายและรวดเร็วสำหรับ GitHub รส Markdown แต่ฉันได้พบรุ่นเล็กน้อยทั่วไปมากขึ้น - Pandoc มันแปลงจาก / เป็นหลายรูปแบบรวมถึง Markdown, Rest, HTML และอื่น ๆ

ฉันยังพัฒนา a Makefileเพื่อแปลงไฟล์. md ทั้งหมดเป็น. html (ส่วนใหญ่เป็นตัวอย่างที่เขียน, Markdown และ Pandoc ):

# 'Makefile'
MARKDOWN = pandoc --from gfm --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 $@

4
ฉันใช้ "watch pandoc ... " เพื่อแปลงไฟล์ markdown เป็น html อย่างต่อเนื่องและส่วนขยาย "live reload" ของ chrome เพื่อรับเรียลไทม์ "อยู่ในตำแหน่งที่ฉันเลื่อนไปด้วย" ด้วยคุณสมบัตินี้และใช้งานได้ดี . chrome.google.com/webstore/detail/livereload/…
Brad Parks

1
Pandoc อ่าน GFM ได้ดี แต่ไม่สร้าง HTML GitHub แบบเดียวกัน - ตัวอย่างเช่นหากคุณมี<pre/>แท็กหลายบรรทัดในแหล่ง GFM ของคุณ Pandoc จะใส่<br/>แท็กในการแบ่งบรรทัดในขณะที่ renderer ของ GitHub แม้ว่า มันตัดช่องว่างชั้นนำดูเหมือนว่าจะออกจากเนื้อหาเพียงอย่างเดียว
David Moles

1
วิธีการหนึ่งที่เกี่ยวกับการจัดแต่งทรงผมที่ดีใน HTML ที่เป็นผลลัพธ์ ตัวอย่างผลลัพธ์ของฉันยังคงแสดงผลกับ Times New Roman
นักพัฒนาแบบองค์รวม

Pandoc ติดตั้งคำแนะนำอยู่ที่นี่ ใน macOS:brew install pandoc
ปรมาจารย์เป็ด

1
ไม่gfmหรือmarkdown_githubรูปแบบการป้อนข้อมูลได้อย่างถูกต้องทำให้สิ่งที่ชอบบล็อกรหัส
user5359531

29

บางทีนี่อาจช่วย:

gem install github-markdown

ไม่มีเอกสารอยู่ แต่ได้มาจากเอกสารกอลลัม ดูrubydoc.infoดูเหมือนว่าคุณสามารถใช้:

require 'github/markdown'  
puts GitHub::Markdown.render_gfm('your markdown string')

ในรหัส Ruby ของคุณ คุณสามารถตัดคำนั้นในสคริปต์ให้เป็นอรรถประโยชน์บรรทัดคำสั่งได้อย่างง่ายดาย:

#!/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ดำเนินการด้วย โปรดทราบว่านี่ไม่ปลอดภัยสำหรับใช้ในการผลิตโดยไม่มีการฆ่าเชื้อ


1
ขอบคุณ Jim เนื่องจากตัวอย่างที่ไม่มีอยู่จริงฉันติดอยู่ที่ขั้นตอนที่ต้องการ (แทนที่เครื่องหมายขีดคั่นด้วยเครื่องหมายทับ) ... ;)
plesatejvlk

นี่เป็นสิ่งที่ดีถ้าคุณใช้ NPM อยู่แล้ว ฉันต้องใช้มันเนื่องจาก DOxygen ทำให้ฉันมีปัญหาอย่างต่อเนื่องกับการทำเครื่องหมาย Github-flavored โดยเฉพาะ + การส่งออกเป็น HTML
kayleeFrye_onDeck

สิ่งนี้ทำงานอยู่ในเครื่องหรือกำลังส่งข้อมูลไปยัง GitHub API หรือไม่
user5359531

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

มันไม่ได้จัดการส่วนขยาย GitHub แต่ดีกว่าไม่มีอะไร ฉันเชื่อว่าคุณสามารถขยายโมดูลเพื่อจัดการกับการเพิ่ม GitHub


1
/ usr / bin / python: markdown เป็นแพ็คเกจและไม่สามารถดำเนินการได้โดยตรง
Kazimieras Aliulis

2
เอาต์พุต HTML อย่างง่ายโดยไม่มีแท็กแฟนซี
Halil Kaskavalci

23

อาจไม่ใช่สิ่งที่คุณต้องการ แต่เนื่องจากคุณพูดถึง Node.js: ฉันไม่สามารถหาเครื่องมือที่ดีในการดูตัวอย่างเอกสาร GitHub Flavoured Markdown ในไดรฟ์ในเครื่องของฉันก่อนที่จะส่งไปยัง GitHub ดังนั้นวันนี้ฉันจึงสร้างขึ้นมาโดยใช้ Node.js: https : //github.com/ypocat/gfms

ดังนั้นบางทีคุณสามารถนำ showdown.js กลับมาใช้ใหม่สำหรับ Wiki ของคุณหากคำถามของคุณยังคงเป็นจริง ถ้าไม่บางทีคนอื่นอาจประสบปัญหาเดียวกันกับที่ฉันทำจะพบ (เช่นเดียวกับฉัน) คำถามนี้และคำตอบนี้


ทำได้ดีมากมนุษย์ ช่วยฉันไม่ให้หันไปใช้ Ruby หรือ Python เมื่อฉันเขียนแอปพลิเคชันโหนดซึ่งยอดเยี่ยม
jedd.ahyoung

19

หากต้องการอ่านไฟล์ README.md ในเทอร์มินัลฉันใช้:

pandoc README.md | lynx -stdin

Pandoc แสดงผลในรูปแบบ HTML ซึ่ง Lynx แสดงในเทอร์มินัลของคุณ

ใช้งานได้ดี: เติมเทอร์มินัลของฉันทางลัดแสดงอยู่ด้านล่างฉันสามารถเลื่อนดูได้และลิงก์ใช้งานได้! มีขนาดแบบอักษรเพียงตัวเดียวเท่านั้น แต่การจัดสี + การเยื้อง + การจัดตำแหน่งนั้น

การติดตั้ง:

sudo apt-get install pandoc lynx

1
คำถามนี้เกี่ยวกับการใช้งานบรรทัดคำสั่งโดยเฉพาะ ก่อนที่จะเขียนสคริปต์ ruby ​​ของคุณเอง (หรือเซิร์ฟเวอร์โหนด egad) ให้ยิงสิ่งนี้
Cora Middleton

สิ่งนี้ใช้ได้ภายในเทอร์มินัลของคุณ หรือถ้าเบราว์เซอร์ที่คุณชื่นชอบ (เดสก์ท็อป?) สามารถเข้าถึงโฟลเดอร์นั้นใช้pandoc readme.md -o readme.md.htmlและเปิดไฟล์ผลลัพธ์
Barry Staes

@ baerry-staes ใช่ขอโทษฉันหวังว่ามันชัดเจนว่าคุณเป็นคำตอบที่ชื่นชอบของฉัน
Cora Middleton

@ จัสตินมิดเดิลตันใช่ฉันเข้าใจแล้วขอบคุณ ความคิดเห็นของฉันเป็นเพียงการเพิ่มข้อมูลพิเศษสำหรับผู้ใช้เดสก์ท็อป .. ฉันคิดว่ามีคนซักวันหนึ่งที่อ่านสิ่งนี้อาจพบว่ามีประโยชน์
Barry Staes

1
ฉันได้ลองตัวอ่าน md ของคอนโซลอื่น ๆ ประมาณ 5-6 ตัวและนี่ก็เป็นทางออกที่ดีที่สุด ฉันเพิ่งเพิ่มฟังก์ชั่นพื้นฐานที่สุดในการกำหนดค่าของฉันเพื่อให้ใช้งานได้เร็วขึ้นเล็กน้อย function md { pandoc $@ | lynx -stdin }
Russ Brown


13

ใช้ทำเครื่องหมาย รองรับ GitHub Flavoured Markdown สามารถใช้เป็นโมดูล Node.js และจากบรรทัดคำสั่ง

ตัวอย่างจะเป็น:

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

1
ฉันสังเกตเห็นว่านี่ไม่รองรับฟีเจอร์ต่าง ๆ เช่นการเน้นไวยากรณ์สำหรับบล็อคโค้ดและฟีเจอร์ใหม่ ๆ เช่นรายการตรวจสอบ แต่เฮ้มันได้รับประโยชน์มากที่สุด!
bguiz

ดีมากสิ่งเดียวที่ฉันขาดไปคือเส้นขอบของตาราง อย่างน้อยฉันก็สามารถทำให้พวกเขาได้ทั้งหมดนี่คือสิ่งที่ฉันต้องการ ไปป์ใน GFM, pipe out HTML :)
Xandaros

ฉันสับสนเกี่ยวกับตัวอย่างนี้คือ^Dอะไร
แมทธิว

10

นี้เป็นส่วนใหญ่ติดตามไป @ คำตอบ Barry-Staes สำหรับใช้Pandoc Homebrew มีเช่นกันหากคุณใช้ Mac:

brew install pandoc

Pandoc รองรับ GFM เป็นรูปแบบอินพุตผ่านmarkdown_githubชื่อ

ส่งออกไปยังไฟล์

cat foo.md | pandoc -f markdown_github > foo.html

เปิดในLynx

cat foo.md | pandoc -f markdown_github | lynx -stdin # To open in Lynx

เปิดในเบราว์เซอร์เริ่มต้นบน OS X

cat foo.md | pandoc -f markdown_github > foo.html && open foo.html # To open in the default browser on OS X`

บูรณาการ TextMate

คุณสามารถไพพ์การเลือกปัจจุบันหรือเอกสารปัจจุบันไปยังหนึ่งในด้านบนได้ตลอดเวลาเนื่องจากเอดิเตอร์ส่วนใหญ่อนุญาตให้คุณทำ นอกจากนี้คุณยังสามารถกำหนดค่าสภาพแวดล้อมได้อย่างง่ายดายเพื่อpandocแทนที่ตัวประมวลผล Markdown ที่เป็นค่าเริ่มต้นที่ใช้โดยชุดข้อมูลMarkdown

ก่อนอื่นให้สร้างเชลล์สคริปต์ด้วยเนื้อหาต่อไปนี้ (ฉันจะเรียกมันว่าghmarkdown):

#!/bin/bash
# Note included, optional --email-obfuscation arg
pandoc -f markdown_github --email-obfuscation=references

จากนั้นคุณสามารถตั้งค่าTM_MARKDOWNตัวแปร (ในการกำหนดค่าตามความชอบ→ตัวแปร) เป็น/path/to/ghmarkdownและจะแทนที่ตัวประมวลผล Markdown เริ่มต้น


10

ฉันสร้างเครื่องมือที่คล้ายกับฟังก์ชัน Preview ของ Atom แต่เป็นแอปพลิเคชันแบบสแตนด์อโลน ไม่แน่ใจว่านี่คือสิ่งที่คุณกำลังมองหาหรือไม่ แต่อาจมีประโยชน์ - https://github.com/yoshuawuyts/vmd

VMD


พวกคุณยังคงสนับสนุนสิ่งนี้อยู่เหรอ? ฉันพยายามที่จะติดตั้งกับ NPM วันนี้ แต่ไม่มีลูกเต๋า > ดาวน์โหลด electron-v0.36.9-win32-x64.zip> ข้อผิดพลาด: ใบรับรองที่ลงนามด้วยตนเอง
kayleeFrye_onDeck

1
ใช่เราเป็น! คุณเรียกใช้ npm / node เวอร์ชันใด - อย่าลังเลที่จะเปิดประเด็นใน GH และเราจะพิจารณาเรื่องนี้ ขอบคุณ!
Yoshua Wuyts

8

pandocด้วยbrowserการทำงานที่ดีสำหรับฉัน

การใช้งาน: cat README.md | pandoc -f markdown_github | browser

การติดตั้ง (สมมติว่าคุณใช้ Mac OSX):

  • $ brew install pandoc

  • $ brew install browser

หรือบน Debian / Ubuntu: apt-get install pandoc browser


1
apt-get isntall pandocจะทำไม่จำเป็นต้องใช้สิ่งที่ไม่ปลอดภัยในพื้นที่เช่นชง
Dominik George

1
@DominikGeorge มีตัวพิมพ์ใหญ่ติดตั้งไม่ใช่isntall
Federico Tomassetti

11
@DominikGeorge ไม่มีความฉลาดใน macOS
richrad

6

ยังเห็นhttps://softwareengineering.stackexchange.com/a/128721/24257


หากคุณสนใจว่าเรา [Github] แสดงไฟล์ Markdown ได้อย่างไรคุณอาจต้องการดูRedcarpetอินเทอร์เฟซ Ruby ของเราไปยังไลบรารี่ของ Sundown

Ruby-script ซึ่งใช้Redcarpetจะเป็น "อรรถประโยชน์บรรทัดคำสั่ง" หากคุณมี Ruby ท้องถิ่น


ยังไม่มีความคิด - ฉันไม่ได้เขียน Ruby และฉันไม่ได้อ่าน Redcarpet source
Lazy Badger

@ LazyBadger, Sundownเป็นตัวแยกวิเคราะห์ที่แท้จริง (เขียนเป็น C) ไม่จำเป็นต้องใช้ Redcarpet
Pacerier

6

อาคารในความคิดเห็นนี้ผมเขียนหนึ่งซับจะตีGithub Markdown APIใช้และcurljq

วางฟังก์ชันทุบตีนี้ลงบนบรรทัดคำสั่งหรือใน~/.bash_profile:

mdsee(){ 
    HTMLFILE="$(mktemp -u).html"
    cat "$1" | \
      jq --slurp --raw-input '{"text": "\(.)", "mode": "markdown"}' | \
      curl -s --data @- https://api.github.com/markdown > "$HTMLFILE"
    echo $HTMLFILE
    open "$HTMLFILE"
}

จากนั้นเพื่อดู HTML ในเบราว์เซอร์ที่แสดงผลให้ทำงาน:

mdsee readme.md

แทนที่open "$HTMLFILE"ด้วยlynx "$HTMLFILE"หากคุณต้องการโซลูชันเทอร์มินัลแท้ๆ


4

GitHub มี (ตั้งแต่) พัฒนาตัวแก้ไขข้อความแบบแยกส่วนที่เรียกว่าAtom (อ้างอิงจาก Chromium และใช้โมดูลNode.jsสำหรับแพ็คเกจ)

แพคเกจที่ติดตั้งเริ่มต้นMarkdown แสดงตัวอย่างให้คุณแสดงภาพตัวอย่างของคุณในแท็บแยกต่างหากโดยใช้Ctrl+ +ShiftM

ฉันไม่ได้ทดสอบไวยากรณ์เต็มรูปแบบของมัน แต่เพราะมันมาจาก GitHub ผมจะประหลาดใจมากถ้าไวยากรณ์การแสดงตัวอย่างของที่แตกต่างกันจากพวกเขา (บล็อคไม่พอใจการใช้~~~งาน)

ตอนนี้ในขณะที่มันไม่ได้ใช้บรรทัดคำสั่งทางเทคนิคมันใช้ Node.js และเอาท์พุทไปที่DOM- renderer ซึ่งอาจช่วยให้ใครก็ตามที่พยายามแสดง GitHub ที่อิงกับไวยากรณ์บนเว็บที่ใช้ Node.js หรือเพียงแค่แก้ไข / README.md ของเขาออฟไลน์


1
ใน Atom คุณสามารถติดตั้งแพ็คเกจชื่อgfm-pdf ( atom.io/packages/gfm-pdf ) ซึ่งส่งออกเอกสาร markdown ของคุณไปเป็นเอกสาร HTML และ / หรือ PDF ห้องสมุดwkhtmltopdfเป็นสิ่งจำเป็น
spren9er


3

มีเครื่องมือที่ดีและเรียบง่ายสำหรับการเรียกดูเอกสาร GFM Markdown:

GFMS - เซิร์ฟเวอร์ Markdown รส Github

มันง่ายและมีน้ำหนักเบา (ไม่จำเป็นต้องมีการกำหนดค่า) เซิร์ฟเวอร์ HTTP คุณสามารถเริ่มต้นในไดเรกทอรีใด ๆ ที่มีไฟล์ markdown เพื่อเรียกดูได้

คุณสมบัติ:

  • รองรับ GFM Markdown แบบเต็ม
  • การเน้นไวยากรณ์ของซอร์สโค้ด
  • เรียกดูไฟล์และไดเรกทอรี
  • เอาต์พุตที่ดูดี (และ CSS สไตล์ชีตที่กำหนดค่าได้)
  • ส่งออกเป็น PDF

3

ฉันจัดการเพื่อใช้สคริปต์ Ruby หนึ่งบรรทัดสำหรับวัตถุประสงค์นั้น (แม้ว่าจะต้องใช้ไฟล์แยกต่างหาก) ก่อนอื่นให้เรียกใช้คำสั่งเหล่านี้หนึ่งครั้งในเครื่องไคลเอนต์แต่ละเครื่องคุณจะกดเอกสารจาก:

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

การทางพิเศษแห่งประเทศไทย: สิ่งนี้จะไม่ช่วยให้คุณมี MarkOverflow-flavor Markdown ซึ่งดูเหมือนจะล้มเหลวในคำตอบนี้


ฉันคิดว่านี่เป็นคำตอบที่ "ใกล้เคียงที่สุดกับแหล่งที่มา" เพราะเครื่องมือเหล่านี้เป็นเครื่องมือที่ใช้โดย GitHub
memoselyk

3

ฉันใช้ Pandoc กับตัวเลือก--from=gfmสำหรับ GitHub Flavoured Markdown ดังนี้:

$ pandoc my_file.md   --from=gfm -t html -o my_file.html

ด้วย pandoc 1.16.0.2 บนลินุกซ์มิ้นท์ 18 pandoc: Unknown reader: gfmฉันได้รับข้อผิดพลาด: ไปที่ 2.2.1 แก้ไขสิ่งนี้
kidmose

ฉันทดสอบด้วย Pandoc 2.1.2
Asme เพิ่ง

วิธีการติดตั้ง 2.2.1 บน Ubuntu?
Alexander Mills

@AlexanderMills คุณลองsudo apt install pandocหรือยัง
Asme เพียง

2

ปรับปรุงตามโซลูชันของ @ barry-stae ติดตัวอย่างข้อมูลนี้ใน ~ / .bashrc

function mdviewer(){
  pandoc $* | lynx -stdin
}

จากนั้นเราสามารถดูไฟล์ได้อย่างรวดเร็วจากบรรทัดคำสั่ง ยังทำงานได้ดีในช่วง SSH / Telnet

mdviewer README.md

2

การเพิ่มล่าช้า แต่showdownjsมีเครื่องมือ CLI ที่คุณสามารถใช้ในการแยกวิเคราะห์ MD เป็น HTML


1

ผมพบว่าเว็บไซต์ที่จะทำเช่นนี้สำหรับคุณ: http://tmpvar.com/markdown.html วางใน Markdown ของคุณแล้วมันจะแสดงให้คุณเห็น ดูเหมือนว่าจะทำงานได้ดี!

อย่างไรก็ตามดูเหมือนจะไม่จัดการกับตัวเลือกการเน้นไวยากรณ์สำหรับรหัส นั่นคือ~~~rubyคุณสมบัติไม่ทำงาน มันพิมพ์ 'ทับทิม'


tmpvar ดูเหมือนจะไม่ทำการปรับปรุงรุ่น GFM อย่างเช่นตาราง
Greg

0

การปรับปรุง @ barry-stae และ @Sandeep คำตอบสำหรับผู้ใช้ elinks ทั่วไปคุณจะต้องเพิ่มสิ่งต่อไปนี้ใน. bashrc:

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

อย่าลืมติดตั้ง pandoc (และ elinks)


0

จากคำตอบของ Jim Limฉันได้ติดตั้ง GitHub Markdown gem ซึ่งรวมสคริปต์ที่เรียกว่า gfm ที่ใช้ชื่อไฟล์ในบรรทัดคำสั่งและเขียน HTML ที่เทียบเท่าไปยังเอาต์พุตมาตรฐาน ฉันแก้ไขเล็กน้อยเพื่อบันทึกไฟล์ลงดิสก์และจากนั้นเปิดเบราว์เซอร์มาตรฐานด้วย launchy:

#!/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)

1
ฉันลองมันด้วยบล็อกที่ไม่พอใจสำหรับ Ruby และ Cucumber ในขณะที่รั้ว ( ruby, แตงกวา ฯลฯ ) ดูเหมือนว่าจะรับรู้ว่าเป็นรั้ว (เพราะพวกเขาแสดงผลในข้อความความกว้างคงที่) ไม่มีการเน้นไวยากรณ์ มีความคิดอะไรบ้าง
Keith Bennett

0

วิธี 'รวดเร็วและสกปรก' คือการดาวน์โหลดหน้า HTML wiki โดยใช้wgetยูทิลิตี้แทนที่จะทำการโคลน ตัวอย่างเช่นนี่คือวิธีที่ฉันดาวน์โหลด Hystrix wiki จาก GitHub (ฉันใช้Ubuntu Linux):

 $ 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

การโทรครั้งแรกจะดาวน์โหลดหน้ารายการ wiki และการอ้างอิงทั้งหมด อันที่สองจะเรียกเพจย่อยทั้งหมดที่อยู่ในนั้น Netflix/Hystrix/wiki.1.htmlคุณสามารถเรียกดูวิกิพีเดียในขณะนี้โดยการเปิด

โปรดทราบว่าwgetจำเป็นต้องใช้ทั้งสองสาย หากคุณเพียงแค่เรียกใช้ครั้งที่สองคุณจะพลาดการอ้างอิงบางอย่างเพื่อแสดงหน้าอย่างถูกต้อง


-1

ฉันเพิ่งทำสิ่งที่คุณต้องการเพราะฉันต้องการสร้างเอกสารจากไฟล์ Markdown และสไตล์ GitHub ก็ค่อนข้างดี ลองมัน. มันเขียนใน Node.js

GFM


ฉันรู้ว่าโมดูลไม่ได้รับการ udated ใน 9 เดือนทำไมคุณถึงลงโพสต์เก่า
Gabriel Llamas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.