Markdown Viewer


154

ฉันพบไฟล์ที่จัดรูปแบบด้วย Markdown พวกคุณช่วยแนะนำโปรแกรมดูไฟล์แบบไหนที่ฉันสามารถใช้ดูไฟล์ประเภทนี้? หวังว่าจะไม่มี gui (ถ้าเป็นไปได้)

อัปเดต ฉันกำลังมองหาผู้ดูที่สามารถแยกวิเคราะห์รูปแบบไฟล์มาร์กอัปที่ไม่ต้องการการแปลงใด ๆ แต่สิ่งที่ใกล้เคียงกับที่ควรจะโอเค


5
ไฟล์มาร์คดาวน์สามารถอ่านได้เมื่อคุณเปิดมันในโปรแกรมแก้ไขคุณไม่จำเป็นต้องใช้เครื่องมือแฟนซีในการอ่าน คุณต้องการอะไร / รูปแบบที่คุณต้องการให้อยู่ใน?
kasterma

1
มี"markdown" หลายเวอร์ชัน ในทางเทคนิค LaTeX, HTML เป็น markdowns ตามที่เป็นตัวเอียงตัว หนา ตัวหนาตัวหนาและลิงค์USE ...
vonbrand

1
รีเท็กซ์ตอนนี้บน githubตามที่แนะนำ @Fran
Dr Beco

15
@vonbrand น้ำยางและ HTML มีเครื่องหมายขึ้นภาษา Markdown เป็นรูปแบบข้อความเฉพาะ "ภาษา" (แม้ว่าคุณจะถูกต้องว่ามีหลายรูปแบบรวมถึงรูปแบบที่ใช้ในไซต์ Stack Exchange เช่นนี้) ชื่อของ Markdown เป็นเรื่องตลกเพราะมันช่วยให้คุณทำสิ่งต่าง ๆ มากมายที่สามารถทำได้ด้วยภาษามาร์กอัปโดยไม่มีการ "ทำเครื่องหมาย" (เช่น: การเพิ่มแท็ก) ลงในข้อความของคุณ (ส่วนใหญ่)
Laurence Gonsalves

คำตอบ:


37

เว็บไซต์ต่อไปนี้มีเครื่องมือที่จะแปล markdown เป็น HTML:

http://daringfireball.net/projects/markdown/

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

$ wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
$ unzip Markdown_1.0.1.zip
$ cd Markdown_1.0.1/
$ ./Markdown.pl ~/testfile.markdown | html2text

html2textเป็นหนึ่งในเครื่องมือมากมายที่คุณสามารถใช้เพื่อดูข้อความที่จัดรูปแบบ html จากบรรทัดคำสั่ง ตัวเลือกอื่นหากคุณต้องการให้เอาต์พุตที่ดีกว่าเล็กน้อยคือใช้lynx :

$ ./Markdown.pl ~/testfile.markdown | lynx -stdin

หากคุณเป็นผู้ใช้ emacs บางคนได้เขียนโหมดสำหรับ markdown ซึ่งมีอยู่ที่นี่: http://jblevins.org/projects/markdown-mode/ นี่เป็นการเน้นไวยากรณ์ที่ดีซึ่งสามารถเห็นได้ในภาพหน้าจอในเว็บไซต์นั้น

เครื่องมือเหล่านี้ทั้งหมดควรมีให้สำหรับ slackware


8
ใน VIM คุณสามารถรับการเน้นไวยากรณ์ได้ด้วยตนเองโดยตั้งค่าไวยากรณ์เป็น markdown ด้วยตนเองหากไม่เป็นที่รู้จัก :set syntax=mkd
เกอร์ท

1
ฉันไม่เคยคิดที่จะใช้-stdinและแมวป่าชนิดหนึ่งฉลาดมากและแน่นอนในสิ่งที่ฉันต้องการ
NickO

1
ฉันทดสอบสิ่งนี้และสามารถตรวจสอบว่ามันใช้งานได้บน Linux แต่ที่น่าสนใจก็คือ man page แจ้งว่าคุณลักษณะดังกล่าวใช้กับ UNIX เท่านั้น -stdin read the startfile from standard input (UNIX only).
sherrellbc

97

ใช้ pandoc และ lynx โดยไม่ต้องสร้างไฟล์ชั่วคราว:

pandoc file.md | lynx -stdin

7
(หมายเหตุ: pandoc อยู่ใน
Haskell

10
หรือเพียงแค่pandoc -t plain file.md | less
Adriano P

7
จากนั้นเพิ่มลงใน.bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

หลังจากทำการแก้ไขบางอย่างฉันก็เริ่มต้นที่การอ่าน "README.md" ซึ่งเป็นสิ่งที่ฉันมักจะทำ: ฟังก์ชั่น mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / usr / bin / น้อยกว่า }
bgvaughan

สำหรับวิธีการแก้ปัญหาของ @ HDave defining function based on alias 'md'ให้ทำดังนี้: ตรวจสอบว่ามันเหมาะกับอะไร (เช่นคุณต้องการ / ใช้หรือไม่? ): which md(ของฉันถูกตั้งค่าเป็นmkdir -p) ไม่มี? จากนั้นเพิ่มสิ่งนี้เหนือบรรทัด: unalias md. ได้รับข้อผิดพลาดนี้เมื่อใช้งานzshบน Ubuntu 18
หมุน

44

ฉันเขียนโปรแกรมดู markdown terminal ที่มีน้ำหนักเบาใน python สำหรับ CLI หรือเป็น lib:

สนับสนุนเช่นตารางคำเตือนและธีมสีมากมาย

Usage:
mdv [-t THEME] [-T C_THEME] [-x] [-l] [-L] [-c COLS] [-f FROM] [-m] [-M   DIR] [-H] [-A] [MDFILE]

Options:
MDFILE    : Path to markdown file
-t THEME  : Key within the color ansi_table.json. 'random' accepted.
-T C_THEME: Theme for code highlight. If not set: Use THEME.
-l        : Light background (not yet supported)
-L        : Display links
-x        : Do not try guess code lexer (guessing is a bit slow)
-f FROM   : Display FROM given substring of the file.
-m        : Monitor file for changes and redisplay FROM given substring
-M DIR    : Monitor directory for markdown file changes
-c COLS   : Fix columns to this (default: your terminal width)
-A        : Strip all ansi (no colors then)
-H        : Print html version

   ป้อนคำอธิบายรูปภาพที่นี่


ฉันชอบสิ่งนี้ แต่ขาดคุณสมบัติการใช้งานขั้นพื้นฐานบางอย่างเช่น: ไม่แสดงธีมตามค่าเริ่มต้นเมื่อเรียกใช้เป็นแอป (ฉันไม่สนใจว่าจะใช้ชุดรูปแบบใดให้ฉันกำหนดหนึ่งในนามแฝงแล้ว เพียงแสดง markdown โปรด) แสดงข้อความในย่อหน้า (ไม่ต้องใส่เครื่องหมายยัติภังค์ขั้นสูงที่นี่ แต่อย่างน้อยคำตัดคำ) และมันก็ดูเหมือนจะไม่จัดการย่อหน้าที่ถูกต้องด้วยเหตุผลแปลก ๆ เป็นการเริ่มต้นที่ดีจริงๆและมีคุณสมบัติที่มีประโยชน์มากมายเช่นการเน้นรหัสไวยากรณ์ แต่โดยทั่วไปไม่สามารถใช้งานได้ในสถานะปัจจุบันเศร้าเพราะมันเข้ามาใกล้
โธมัส

สวัสดีขอบคุณ! Btw: หลังจากนั้นเพียง 10 ปีหรือมากกว่านั้นฉันได้แก้ไขสิ่งเหล่านั้น หากคุณยังคงสนใจคุณสามารถดูและข้อเสนอแนะเกี่ยวกับ GH
ยาเม็ดสีแดง

เฮ้แล้ว Python 3 เวอร์ชั่นนั้นเป็นอย่างไร
Lucas Soares

จะทำเร็ว ๆ นี้ Py3 พร้อมสำหรับ POSIX thoughtstreams.io/ncoghlan_dev/…
Red Pill

น่าเสียดายที่มันยังไม่รองรับพื้นหลังสีอ่อน (ติดตั้งพร้อมpipตามที่แนะนำใน Readme)
Ruslan

42

หมายเหตุ : ให้เครดิตกับคำตอบของ @ Joeใน Stack Overflow


คุณสามารถใช้Gripซึ่งทำให้ Markdown ตรงตามที่ GitHub ต้องการ (ใช้GitHub markdown API )

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

pip install grip

ในการแสดงไฟล์example.md:

grip -b example.md

ลักษณะนี้:

ป้อนคำอธิบายรูปภาพที่นี่


1
ผู้ใช้ Arch Linux: Grip เป็นแพ็กเกจอื่น ทำpip install gripแทน
Ave

ทำงานเหมือนจับใจ ฉันแนะนำสิ่งนี้
some_guy632

30

เป็นโปรแกรม GUI แต่ฉันพบว่ามีประโยชน์สำหรับงานReTextนี้นั่นคือโปรแกรมแก้ไขสำหรับ Markdown และ reStructuredText ด้วยโหมดแสดงตัวอย่าง:

สกรีนช็อต ReText

อย่างไรก็ตามหากคุณต้องการดูไฟล์ ReText จากเทอร์มินัลตัวเลือกหนึ่งสามารถแปลง marddown เป็น html ด้วยpandocและดูสำเนา html ในlynx:

pandoc file.mkd > file.html ; lynx file.html

แก้ไข

มีตัวแก้ไขมาร์กอัพฟรีอีกสองสามตัวพร้อมตัวอย่างสำหรับระบบ * nix บางคนในที่เก็บอย่างเป็นทางการบางคนไม่ได้และแต่ละคนมีจุดแข็งและจุดอ่อนของตัวเอง แต่ในฐานะผู้ชมที่เหมาะสมฉันอยากจะเน้นสิ่งเหล่านี้:

  • Typora : มันยังอยู่ในช่วงเบต้า แต่ก็ฟรีในขณะเดียวกัน (ไม่ชัดเจนว่าจะได้รับใบอนุญาตเวอร์ชั่นเสถียรหรือไม่) แม้ว่ามันจะไม่ใช่ FOSS แต่ก็สมบูรณ์แบบในฐานะตัวแสดง markdown เพราะมันทำงานได้ตามค่าเริ่มต้นเกือบจะเป็น WYSIWYG editor ("โหมดแสดงตัวอย่างแบบสด") พร้อมแผงโครงร่าง (สารบัญ) ที่สะดวกมากสำหรับไฟล์ขนาดใหญ่ "โหมดซอร์สโค้ด" มีการเน้นไวยากรณ์รวมถึงแบบอักษรขนาดใหญ่สำหรับส่วนหัวและตัวเอียงเพื่อเน้น และไม่เพียง แต่ส่งออกเป็น HTML, ODT และ PDF นอกจากนี้ยังสามารถนำเข้าส่งออกไปยังหลายรูปแบบผ่านpandocการรวม

  • Ghostwriter : แสดงตัวอย่าง HTML เท่านั้น (ไม่สามารถแก้ไขได้) แต่ยังมีแผงเค้าร่างที่ดีและเน้นไวยากรณ์ โดยไม่มีตัวเลือกนำเข้า แต่ส่งออกไปยังหลายรูปแบบด้วย pandoc และอื่น ๆ การประมวลผล (MultiMarkdown ส่วนลดหรือ cmark) และมีการตรวจการสะกดสดผ่านทาง/hunspellmyspell

  • MdCharm : คล้ายกับ Retext แต่รองรับ markdown (พิเศษ markdown) และ MultiMarkdown แสดงแผงเค้าร่าง (ToC) ด้วย

สำหรับR Markdownผู้ใช้ควรจะกล่าวถึงยังeditR ไม่ใช่โปรแกรม แต่เป็นแพ็คเกจ R เพื่อแก้ไข / html แสดงตัวอย่าง R Markdown ในเบราว์เซอร์ R CommanderและRStudioยังช่วยให้สามารถดูตัวอย่างใน HTML, PDF หรือ Word


ฉันใช้ retext โดยเฉพาะ มันไม่ได้ทำให้ฉันผิดหวัง แต่แล้วฉันก็ไม่ได้ใช้มันอย่างกว้างขวางเหมือนที่คนอื่นมี ฉันใช้มันโดยเฉพาะเพื่อสร้างปัญหาใน GitHub (ซึ่งน่าเศร้าที่ใช้ markdown) และไม่มี GUI สำหรับมัน
shirish

ขอบคุณสำหรับเคล็ดลับ Fran สิ่งที่ฉันกำลังมองหา สิ่งเดียวที่ฉันสังเกตเห็นว่า ReText ที่ขาดหายไปในตอนนี้คือการรีเฟรชหรือ "โหลดตามการเปลี่ยนแปลง" เพื่อให้คุณสามารถใช้ร่วมกับเครื่องมือแก้ไขอื่น ๆ ได้
Ash

เคล็ดลับดีมาก แนะนำด้วยที่นี่: softwarerecs.stackexchange.com/a/17740 พื้นที่เก็บข้อมูลได้เปลี่ยนเป็น github: github.com/retext-project/retext
Dr Beco

12

สำหรับผู้ที่ชื่นชอบ w3m (การผูกสไตล์ vi):

pandoc file.md | w3m -T text/html

ฉันใส่ไว้ในสคริปต์ mdview.sh และวางไว้ในเส้นทางของฉัน:

#!/bin/sh
pandoc "$1" | w3m -T text/html

โดยรุ่นที่ดีที่สุดที่ไม่มีกุย: การเรนเดอร์ทำให้สีของเทอร์มินัลและดูเหมือนlessคำสั่งง่าย ๆ ที่มีการระบายสี
Ulysse BN


4

นอกจากนี้ยังมีส่วนลดการติดตั้ง David Parsons 'C สำหรับข้อความ Markdown ของ John Gruber เป็นภาษา html ส่วนลดประกอบด้วยเครื่องมือบรรทัดคำสั่งหลายคนรวมทั้งmarkdown, mkd2html, makepage, และmktagstheme

http://www.pell.portland.or.us/~orc/Code/discount/

นอกจากนี้ยังมีการใช้งาน markdown ใน C โดยใช้ไวยากรณ์ PEG

https://github.com/jgm/peg-markdown

ใน Mac OS X คุณอาจดูqlmarkdownตัวสร้าง QuickLook สำหรับไฟล์ Markdown


3

ฉันรู้ว่าคุณบอกว่าคุณต้องการแอปพลิเคชันที่ไม่ใช่ GUI แต่ขณะนี้ฉันกำลังทำงานกับแอปพลิเคชัน GUI ที่เรียกว่า DownMarker ซึ่งทำเช่นนี้ คุณสามารถหาแหล่งที่มาในพื้นที่เก็บข้อมูลปรอทที่นี่ คุณสามารถค้นหาแบบสแตนด์อะโลนที่ปฏิบัติการในการทำงานด้วยโมโนหรือ .NET ที่นี่

Caveat: มันอยู่ไกลจากเสร็จแล้วและทดสอบเป็นครั้งคราวเฉพาะใน linux / mono การทดสอบล่าสุดที่ฉันทำคือ Mono 2.6 หากคุณต้องการสร้างมันเองจะต้องมี Mercurial เวอร์ชันล่าสุดเพื่อโคลนที่เก็บและ MonoDevelop เพื่อคอมไพล์แอปพลิเคชัน


1
มันเปิดในเครื่อง Windows 7 ของฉัน 64 บิต แต่มันไม่ได้แสดงผลเอกสาร md มันแสดงเฉพาะแหล่งที่มา อย่างไรก็ตามมันเป็นเรื่องที่น่าอัศจรรย์ใจที่แอปพลิเคชั่นแบบโมโนก็ทำงานได้โดยไม่เกิดความผิดพลาดในเครื่องของฉัน :)
GmonC

3

2 เครื่องมือเพิ่มเติม:
- แบไต๋เป็นพอร์ต JavaScript หรือ Markdown: https://github.com/coreyti/showdown คุณสามารถใช้งานได้จากเบราว์เซอร์เท่านั้น
- txt2tagsสามารถอ่านรูปแบบ Markdown แต่เพิ่มตัวเลือกและ featues ใหม่มากมาย: http://txt2tags.org/online.php


3

ความเห็นสองสามข้อถามหรือกล่าวถึงความเป็นไปได้ในการใช้งาน Add-on ของเบราว์เซอร์ ฉันชอบวิธีการนี้เพราะฉันสามารถแก้ไขไฟล์ markdown ในโปรแกรมแก้ไขข้อความ Linux (จาก nano เป็น vim ถึง Kate) และดูไฟล์ใน Firefox (เบราว์เซอร์ที่ฉันเลือก)

ฉันเพิ่งติดตั้ง Firefox add-on นี้และทำงานนอกกรอบบน Kubuntu 12.04 และ Firefox 33.0 ไม่จำเป็นต้องปรับแต่ง

Markdown Viewer :: โปรแกรมเสริมสำหรับ Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(ฉันชอบ ReText ด้วย แต่ฉันอยากเห็นสิ่งที่ต้องการ ReText ที่ใช้เป็นปลั๊กอินสำหรับ Kate ReText ขาดคุณสมบัติมากเกินไปที่จะแข่งขันกับบรรณาธิการที่เป็นผู้ใหญ่อย่าง Kate)


คำถามถามผู้ชมที่ไม่มีกุย แต่ส่วนตัวแล้วฉันชอบวิธีนี้มาก
sauerburger

3

ปัจจุบันใช้mdpในArch Linux และTermuxบน Android ซึ่งเป็นเครื่องมือการนำเสนอ markdown

ภาพ

การใช้

$ mdp {file}.md

นามแฝงเนียน

md() {
  fileName=${1:-"README.md"}
  mdp "$fileName"
}

2

สมมติว่าคุณต้องการดูว่า html มีลักษณะอย่างไร: ใช้เว็บเบราว์เซอร์ (ที่มี addon) เป็นตัวแสดง

ตัวอย่างเช่นสำหรับ Google Chrome มีTextDownซึ่งช่วยให้คุณแก้ไขไฟล์ได้โดยตรงในเบราว์เซอร์และดูตัวอย่างสด

หลังจากเพิ่มแล้วคุณต้องไปที่ chrome: // chrome / extensions / และทำเครื่องหมาย "อนุญาตให้เข้าถึง URL ไฟล์" เพื่อให้คุณสามารถเปิดไฟล์ในเครื่องได้ เตือนแม้ว่า: ถ้าคุณบันทึก (shift-ctrl-s) TextDown จะไม่บันทึกลงในไฟล์ที่คุณเปิด แต่ไปยังโฟลเดอร์ดาวน์โหลด


นอกจากนี้ยังมีนี้ส่วนขยายสำหรับ Firefox ซึ่งคุณสามารถแล้วได้รับการทำงานโดยทำตามนี้
วิลฟ์

2

ผมขอแนะนำการดูที่อะตอม มันเป็นโปรแกรมแก้ไขข้อความที่ยอดเยี่ยมด้วยการแสดงตัวอย่าง markdown ที่สร้างขึ้น ฉันมักจะไม่ใช้โหมดแสดงตัวอย่างมาร์คดาวน์เนื่องจากมีข้อบกพร่องร้ายแรง - ตัวแบ่งบรรทัด (เว้นแต่พวกเขาจะมาเป็นคู่ซึ่งระบุว่า<p>เนื้อหาของแท็ก) จะถูกเก็บไว้ในตัวอย่าง แต่โหมดไฮไลต์ไวยากรณ์นั้นดีมาก (เนื่องจาก Markdown ได้รับการปรับให้เหมาะกับมนุษย์ที่สามารถอ่านได้และการปรับสีของ Atom นั้นยอดเยี่ยม) ซึ่งโดยปกติแล้วฉันมักจะจบการอ่านไฟล์มาร์คดาวน์ในโหมดมุมมองต้นฉบับ


2

IMHO ประเมินอย่างหนักคำสั่งของผู้ชมสาย markdown เป็นmarkdown-CLI

การติดตั้ง

npm install markdown-cli --global

การใช้

markdown-cli <file>

คุณสมบัติ

อาจสังเกตไม่มากเพราะมันพลาดเอกสารใด ๆ ...
แต่เท่าที่ฉันสามารถหาไฟล์ตัวอย่างมาร์กดาวน์ได้บางสิ่งที่ทำให้ฉันมั่นใจ:

  • จัดการกับไฟล์ที่มีการจัดรูปแบบที่ไม่ดีมาก (คล้ายกับ atom, Github, ฯลฯ ; เช่นเมื่อบรรทัดว่างหายไปก่อนรายการ)
  • มีเสถียรภาพมากขึ้นด้วยการจัดรูปแบบในส่วนหัวหรือรายการ (ข้อความตัวหนาในรายการแบ่งย่อยในผู้ชมอื่น ๆ )
  • การจัดรูปแบบตารางที่เหมาะสม
  • การเน้นไวยากรณ์
  • แก้ไขลิงก์เชิงอรรถเพื่อแสดงลิงก์แทนหมายเลขเชิงอรรถ (ไม่ใช่ทุกคนที่อาจต้องการสิ่งนี้)

ภาพหน้าจอ

example.png

ข้อเสีย

ฉันได้ตระหนักถึงปัญหาต่อไปนี้

  • การบล็อคโค้ดแบน (ช่องว่างนำหน้าทั้งหมดหายไป)
  • บรรทัดว่างสองบรรทัดปรากฏขึ้นก่อนรายการ

2

Vim แบบอ่านอย่างเดียวพร้อมการเน้น & การพับเครื่องหมาย

ด้วยVim Markdown การเน้นและการพับและการเรียกใช้โซลูชันที่ตรงไปตรงมาที่สุดคือทำให้เกิดvimในโหมดอ่านอย่างเดียวด้วยvim -Rหรือ (อย่างน้อยบน Ubuntu) อย่างหรูหรามากขึ้น:

$ view filename.md

เพิ่มสิ่งต่อไปนี้ที่ด้านล่างสุดของ.vimrcไฟล์ของคุณและviewจะทำงานเหมือนกับlessประโยชน์เพิ่มเติมของการเน้นไวยากรณ์ที่คุณชื่นชอบ (ไม่เพียง แต่สำหรับ markdown!) และการพับ:

" less behaviour for view
" https://unix.stackexchange.com/a/314184/39845

" http://vim.wikia.com/wiki/Using_vim_as_a_syntax-highlighting_pager
function! LessBehaviour()
    if (!&modifiable || &ro)
        set nonumber
        set nospell
        set laststatus=0    " Status line
        set cmdheight=1
        set guioptions=aiMr    " No menu bar, nor tool bar
        noremap u <C-u>
        noremap d <C-d>
        noremap q :q<CR>
    endif
endfunction

" https://vi.stackexchange.com/a/9101/3168
augroup ReadOnly
    au!
    au VimEnter * :call LessBehaviour() 
augroup END

นอกจากนี้ยังมีless.shสคริปต์ที่เข้มงวดมากขึ้น vimในระบบของฉันก็มาพร้อมกับ ในการค้นหาให้ใช้:

$ find /usr/share/vim -name less.sh

แต่ตรงกันข้ามกับสคริปต์ที่ระบุไว้ข้างต้น, less.shการพับจะไม่ทำงานกับเรื่องนี้




0

ทางออกที่ง่ายสำหรับสถานการณ์ส่วนใหญ่: คัดลอก / วาง markdown ลงในวิวเวอร์ใน "คลาวด์" ที่นี่มีสองทางเลือก:

  1. Dillinger.io
  2. Dingus

ไม่มีอะไรจะติดตั้ง! ข้ามแพลตฟอร์ม! ข้ามเบราว์เซอร์! ว่างเสมอ!

ข้อเสีย: อาจเป็นเรื่องยุ่งยากสำหรับไฟล์ขนาดใหญ่ปัญหาด้านความปลอดภัยของแอปพลิเคชันคลาวด์มาตรฐาน


0

นี่คือนามแฝงที่ห่อหุ้มฟังก์ชัน:

alias mdless='_mdless() { if [ -n "$1" ] ; then if [ -f "$1" ] ; then cat <(echo ".TH $1 7 `date --iso-8601` Dr.Beco Markdown") <(pandoc -t man $1) | groff -K utf8 -t -T utf8 -man 2>/dev/null | less ; fi ; fi ;}; _mdless '

คำอธิบาย

  • alias mdless='...' : สร้างนามแฝงสำหรับ mdless
  • _mdless() {...}; : สร้างฟังก์ชั่นชั่วคราวที่จะเรียกหลังจากนั้น
  • _mdless : ที่ท้ายเรียกมัน (ฟังก์ชั่นด้านบน)

ภายในฟังก์ชั่น:

  • if [ -n "$1" ] ; then : ถ้าอาร์กิวเมนต์แรกไม่ใช่ null แล้ว ...
  • if [ -f "$1" ] ; then : หากไฟล์นั้นมีอยู่และปกติแล้ว ...
  • cat arg1 arg2 | groff... : cat ส่งอาร์กิวเมนต์สองตัวที่ต่อกันกับ groff; ข้อโต้แย้งถูก:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): สิ่งที่เริ่มต้นไฟล์และgroffจะเข้าใจในฐานะส่วนหัวและส่วนท้ายของบันทึกย่อ ทดแทนส่วนหัวที่ว่างเปล่าจากที่สำคัญเกี่ยวกับ-spandoc
    • arg2:: <(pandoc -t man $1)ไฟล์นั้นถูกกรองออกโดยแสดงpandocผลลัพธ์manของไฟล์$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: piping ไฟล์ที่ตัดแบ่งผลลัพธ์เป็นgroff:
    • -K utf8ดังนั้นgroffเข้าใจรหัสไฟล์อินพุต
    • -t ดังนั้นจึงแสดงตารางอย่างถูกต้องในไฟล์
    • -T utf8 ดังนั้นมันจึงออกมาในรูปแบบที่ถูกต้อง
    • -manดังนั้นจึงใช้แพ็คเกจMACROเพื่อส่งออกไฟล์ในmanรูปแบบ
    • 2>/dev/null เพื่อละเว้นข้อผิดพลาด (หลังจากทั้งหมดไฟล์ดิบที่ถูกแปลงด้วยมือเราไม่สนใจข้อผิดพลาดตราบใดที่เราสามารถดูไฟล์ในรูปแบบที่ไม่น่าเกลียดมาก)
  • | less: ในที่สุดก็แสดงไฟล์ให้เลขหน้าด้วยless(ฉันพยายามหลีกเลี่ยงไพพ์นี้โดยใช้grofferแทนgroffแต่grofferไม่แข็งแกร่งเท่าที่lessและบางไฟล์แฮงค์มันหรือไม่แสดงเลยดังนั้นปล่อยผ่านไปอีกไพพ์หนึ่ง ห่าอะไร!

เพิ่มไปยังของคุณ~/.bash_aliases(หรือเหมือนกัน)



0

วิธีที่ลำบากที่สุดสำหรับฉันคือการใช้อัญมณีmdlessจากทับทิม

  1. ติดตั้งทับทิม

    sudo apt-get install ruby

  2. ติดตั้ง mdless

    sudo gem install mdless

  3. เปิดไฟล์ผ่าน mdless

    mdless filename.md


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