Trình xem Markdown


154

Tôi tìm thấy một tập tin được định dạng với Markdown. Các bạn có thể đề xuất những trình xem mà tôi có thể sử dụng để xem loại tệp này không? Hy vọng rằng không có gui (nếu có thể)

Cập nhật Tôi thực sự đang tìm kiếm một trình xem có thể phân tích định dạng tệp đánh dấu mà không cần bất kỳ chuyển đổi nào. Nhưng một cái gì đó gần với nó sẽ ổn thôi.


5
Một tập tin đánh dấu chỉ có thể được đọc khi bạn mở nó trong một trình soạn thảo, bạn không thực sự cần các công cụ ưa thích để đọc nó. Bạn muốn nó cho / định dạng nào bạn muốn nó ở?
kasterma

1
nhiều phiên bản "markdown". Về mặt kỹ thuật, LaTeX, HTML là các dấu ấn, cũng như các chữ in nghiêng in đậm và các liên kết USE ...
vonbrand


15
@vonbrand LaTeX và HTML là đánh dấu lên tiếng. Markdown là một "ngôn ngữ" định dạng văn bản cụ thể (mặc dù bạn đúng rằng có một số biến thể, bao gồm một biến thể được sử dụng trên các trang web Stack Exchange như trang này). Tên của Markdown là một trò đùa, vì nó cho phép bạn thực hiện rất nhiều thứ có thể được thực hiện bằng ngôn ngữ đánh dấu, mà không thực sự "đánh dấu" (ví dụ: thêm thẻ) vào văn bản của bạn (đối với hầu hết các phần).
Laurence Gonsalves

Câu trả lời:


37

Trang web sau đây cung cấp một công cụ sẽ dịch markdown sang HTML:

http://daredfireball.net/projects/markdown/

Khi bạn chuyển đổi tệp thành HTML, có một số công cụ dòng lệnh sẽ sử dụng để xem tệp. Sử dụng một tệp kiểm tra có chứa văn bản được định dạng đánh dấu, tôi thấy các mục sau hoạt động tốt.

$ 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 là một trong nhiều công cụ bạn có thể sử dụng để xem văn bản có định dạng html từ dòng lệnh. Một tùy chọn khác, nếu bạn muốn đầu ra đẹp hơn một chút sẽ sử dụng lynx :

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

Nếu bạn là người dùng emacs, ai đó đã viết một chế độ đánh dấu có sẵn ở đây: http://jblevins.org/projects/markdown-mode/ . Điều này cung cấp đánh dấu cú pháp đẹp như có thể nhìn thấy trong ảnh chụp màn hình trên trang web đó.

Tất cả các công cụ này nên có sẵn cho slackware.


8
Trong VIM, bạn có thể nhận được cú pháp tô sáng bằng cách đặt thủ công cú pháp thành đánh dấu nếu nó không được nhận dạng. :set syntax=mkd
Gert

1
Tôi chưa bao giờ nghĩ sẽ sử dụng -stdinvà lynx, thực sự rất thông minh và đúng như những gì tôi cần.
NickO

1
Tôi đã thử nghiệm điều này và có thể xác minh nó hoạt động trên Linux, nhưng điều thú vị là trang man thông báo một tính năng như vậy chỉ áp dụng cho UNIX. -stdin read the startfile from standard input (UNIX only).
sherrellbc

98

Sử dụng pandoc và lynx mà không tạo các tệp tạm thời:

pandoc file.md | lynx -stdin

7
(lưu ý: pandoc đang ở haskell)
fche 30/03/2015

10
Hoặc chỉpandoc -t plain file.md | less
Adriano P

7
sau đó thêm phần này vào .bashrc: md() { pandoc "$1" | lynx -stdin; }
HDave

Sau khi sửa đổi, tôi đã giải quyết vấn đề này, để mặc định đọc "README.md", đó là điều tôi thường làm: chức năng mdless {/ usr / bin / pandoc -t plain "$ {1: -README.md} "| / usr / bin / ít hơn; }
bgvaughan

Đối với giải pháp của @ HDave, nếu bạn nhận được defining function based on alias 'md', hãy làm điều này: Kiểm tra xem nó dùng để làm gì (ví dụ: Bạn có cần / sử dụng nó không? ): which md(Của tôi đã được đặt thành mkdir -p). Không? Sau đó thêm phần này phía trên dòng : unalias md. Đã nhận được lỗi này khi sử dụng zshtrên Ubuntu 18.
Xoay

44

Tôi đã viết một trình xem đánh dấu thiết bị đầu cuối nhẹ bằng python, cho CLI hoặc dưới dạng lib:

Nó hỗ trợ ví dụ như bảng, lời khuyên và hàng tấn chủ đề màu sắc.

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

   nhập mô tả hình ảnh ở đây


Tôi thực sự thích điều này, nhưng nó thiếu một số tính năng sử dụng cơ bản, chẳng hạn như: không hiển thị chủ đề theo mặc định khi chạy dưới dạng một ứng dụng (Tôi thực sự không quan tâm đến chủ đề nào được sử dụng, hãy để tôi xác định một trong bí danh của mình và sau đó vui lòng chỉ hiển thị đánh dấu), chứng minh văn bản đoạn văn (không yêu cầu gạch nối nâng cao ở đây nhưng ít nhất là bao bọc từ) và dường như nó cũng không xử lý ngắt đoạn đúng vì một số lý do kỳ lạ. Đó là một khởi đầu thực sự tốt và có nhiều tính năng hữu ích như tô sáng cú pháp mã, nhưng về cơ bản là không thể sử dụng được ở trạng thái hiện tại, thật đáng buồn vì nó rất gần.
Thomas

Xin chào, cảm ơn! Btw: chỉ sau 10 năm hoặc lâu hơn, tôi đã sửa những thứ ob đó. Nếu vẫn thú vị với bạn, hãy xem xét và phản hồi các vấn đề về GH.
Viên thuốc đỏ

Này, phiên bản Python 3 đó thì sao?
Lucas Soares

sẽ làm trong thời gian sớm Py3 đã sẵn sàng cho POSIX thoughtstreams.io/ncoghlan_dev/...
Pill Red

Quá tệ, nó vẫn không hỗ trợ nền sáng. (được cài đặt với pipđề xuất trong Readme)
Ruslan

42

Lưu ý : ghi có vào câu trả lời của @ Joe trong Stack Overflow.


Bạn có thể sử dụng Grip , kết xuất lại Markdown chính xác như GitHub (nó sử dụng API đánh dấu GitHub ).

Cài đặt nó với pip:

pip install grip

Để kết xuất một tập tin example.md:

grip -b example.md

Nó trông như thế nào:

nhập mô tả hình ảnh ở đây


1
Người dùng Arch Linux: Grip là một gói khác nhau. Làm pip install gripthay thế.
Ave

Hoạt động như một lá bùa. Tôi khuyên bạn nên điều này.
some_guy632

30

Là một chương trình GUI, nhưng tôi thấy hữu ích cho tác vụ này ReText , đó là trình chỉnh sửa cho Markdown và reSturationuredText với chế độ xem trước:

Ảnh chụp màn hình ReText

Tuy nhiên, nếu bạn cần xem tệp ReText từ thiết bị đầu cuối, một tùy chọn có thể được chuyển đổi từ marddown sang html pandocvà xem bản sao html trong lynx:

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

Biên tập

Có một vài trình chỉnh sửa markdown miễn phí với bản xem trước có sẵn cho các hệ thống * nix. Một số trong kho chính thức, một số khác thì không, và mỗi cái có điểm mạnh và điểm yếu riêng, nhưng là người xem phù hợp, tôi muốn nêu bật những điều sau:

  • Typora : Nó vẫn đang trong giai đoạn thử nghiệm, nhưng trong khi đó nó miễn phí (không rõ làm thế nào sẽ được cấp phép phiên bản ổn định). Mặc dù nó không phải là FOSS, nhưng nó hoàn hảo như trình xem markdown vì nó hoạt động theo mặc định gần như là trình soạn thảo WYSIWYG ("chế độ xem trước trực tiếp") với bảng điều khiển Outline (mục lục) rất thuận tiện cho các tệp lớn. "Chế độ mã nguồn" có tô sáng cú pháp, bao gồm các phông chữ lớn hơn cho các tiêu đề và chữ nghiêng để nhấn mạnh. Và không chỉ xuất sang HTML, ODT và PDF. Cũng có thể nhập-xuất sang một số định dạng thông qua pandoctích hợp.

  • Ghostwriter : Chỉ xem trước HTML (không thể chỉnh sửa) nhưng cũng có bảng điều khiển phác thảo đẹp và tô sáng cú pháp. Không có tùy chọn nhập, nhưng xuất sang một số định dạng với bộ xử lý pandoc và các bộ xử lý khác (MultiMarkdown, Giảm giá hoặc cmark) và có kiểm tra chính tả trực tiếp qua hunspell/ myspell.

  • MdCharm : Tương tự Retext, nhưng hỗ trợ markdown (đánh dấu thêm) và MultiMarkdown. Hiển thị một bảng phác thảo (ToC).

Đối với R Markdownngười dùng, tôi cũng nên đề cập đến editR . Không phải là một chương trình, mà là gói R để chỉnh sửa / xem trước html của R Markdown trong trình duyệt. R CommanderRStudio cũng cho phép xem trước dễ dàng bằng HTML, PDF hoặc Word.


Tôi sử dụng retext độc quyền. Nó đã không làm tôi thất vọng nhưng sau đó tôi đã không sử dụng nó nhiều như một số người khác có. Tôi sử dụng nó để tạo ra các vấn đề trong github (đáng buồn là sử dụng markdown) và không có GUI cho nó.
shirish

Cảm ơn vì tiền boa, chính xác những gì tôi đang tìm kiếm. Điều duy nhất tôi nhận thấy ReText bị thiếu cho đến nay là tính năng làm mới hoặc "tải khi thay đổi" để bạn có thể sử dụng nó cùng với các trình soạn thảo khác.
Tro

Mẹo rất hay. Cũng được đề xuất ở đây: softwarerecs.stackexchange.com/a/17740 Kho lưu trữ đã thay đổi thành github: github.com/retext-project/retext
Dr Beco

12

Đối với những người thích w3m (ràng buộc kiểu vi):

pandoc file.md | w3m -T text/html

Tôi đặt nó trong một kịch bản, mdview.sh và đặt nó vào đường dẫn của tôi:

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

Cho đến nay, phiên bản tốt nhất không có gui: render giữ màu thiết bị đầu cuối và trông giống như một lesslệnh đơn giản với tô màu.
Ulysse BN


4

Ngoài ra còn có Giảm giá, việc David Parsons triển khai văn bản Markdown của John Gruber sang ngôn ngữ html. Giảm giá bao gồm một số công cụ dòng lệnh bao gồm markdown, mkd2html, makepage, mktagstheme.

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

Ngoài ra, có một triển khai đánh dấu trong C, sử dụng ngữ pháp PEG.

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

Trên Mac OS X, bạn cũng có thể xem qua qlmarkdown, trình tạo QuickLook cho các tệp Markdown.


3

Tôi biết bạn nói rằng bạn thích một ứng dụng không phải GUI, nhưng tôi hiện đang làm việc trên một ứng dụng GUI có tên DownMarker thực hiện điều này. Bạn có thể tìm thấy nguồn trong một kho lưu trữ đồng bóng ở đây . Bạn có thể tìm thấy một tệp thực thi độc lập để chạy với mono hoặc .NET tại đây .

Hãy cẩn thận: Nó còn lâu mới kết thúc và chỉ thỉnh thoảng được thử nghiệm trên linux / mono. Thử nghiệm cuối cùng tôi đã làm là trên Mono 2.6. Nếu bạn muốn tự xây dựng nó, bạn sẽ cần một phiên bản gần đây để sao chép kho lưu trữ và MonoDevelop để biên dịch ứng dụng.


1
Nó mở trong máy Windows 7 64 bit của tôi, nhưng nó không hiển thị tài liệu md, nó chỉ hiển thị nguồn. Tuy nhiên, thật đáng kinh ngạc khi một ứng dụng đơn âm chỉ chạy mà không gặp sự cố trong máy của tôi. :)
GmonC


3

Một số ý kiến ​​đã hỏi về hoặc đề cập đến khả năng sử dụng tiện ích bổ sung cho trình duyệt. Tôi thích cách tiếp cận này vì tôi có thể chỉnh sửa các tệp markdown trong bất kỳ trình soạn thảo văn bản Linux nào (từ nano đến vim sang Kate) và xem các tệp trong Firefox (trình duyệt tôi chọn).

Tôi chỉ đơn giản là cài đặt tiện ích Firefox này và nó đã hoạt động tốt trên Kubfox 12.04 và Firefox 33.0. Không cần chỉnh sửa.

Trình xem Markdown :: Tiện ích bổ sung cho Firefox
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(Tôi cũng thích ReText, nhưng tôi thích thấy một cái gì đó giống như ReText được triển khai như một plugin cho Kate. ReText thiếu quá nhiều tính năng để cạnh tranh với các biên tập viên trưởng thành như Kate.)


Câu hỏi yêu cầu người xem không có gui, nhưng cá nhân tôi thực sự thích giải pháp này.
sauerburger

3

Một trình xem đánh dấu dòng lệnh bị đánh giá thấp của IMHO là markdown-cli .

Cài đặt

npm install markdown-cli --global

Sử dụng

markdown-cli <file>

Đặc trưng

Có lẽ không được chú ý nhiều, vì nó bỏ lỡ bất kỳ tài liệu nào ...
Nhưng theo như tôi có thể tìm ra bằng một số tệp đánh dấu ví dụ, một số điều đã thuyết phục tôi:

  • xử lý các tệp được định dạng xấu tốt hơn nhiều (tương tự như nguyên tử, github, v.v .; ví dụ: khi các dòng trống bị thiếu trước danh sách)
  • ổn định hơn với định dạng trong tiêu đề hoặc danh sách (văn bản in đậm trong danh sách phá vỡ danh sách phụ ở một số người xem khác)
  • định dạng bảng thích hợp
  • làm nổi bật cú pháp
  • giải quyết các liên kết chú thích để hiển thị liên kết thay vì số chú thích (không phải ai cũng có thể muốn điều này)

Ảnh chụp màn hình

example.png

Hạn chế

Tôi đã nhận ra những vấn đề sau

  • khối mã được làm phẳng (tất cả các khoảng trắng hàng đầu biến mất)
  • hai dòng trống xuất hiện trước danh sách

3

Hiện đang sử dụng mdptrong Arch Linux và Termux trên Android, một công cụ trình bày đánh dấu.

Hình ảnh, tưởng tượng

Sử dụng

$ mdp {file}.md

Bí danh bóng mượt

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

2

Giả sử bạn muốn xem html trông như thế nào: Sử dụng trình duyệt web (có addon) làm người xem.

Ví dụ: đối với Google Chrome có TextDown cũng cho phép bạn chỉnh sửa các tệp ngay trong trình duyệt và xem bản xem trước trực tiếp.

Sau khi thêm nó, bạn cũng cần truy cập chrome: // chrome / extend / và kiểm tra "cho phép truy cập URL tệp" để bạn có thể mở tệp cục bộ. Mặc dù vậy, một cảnh báo: nếu bạn lưu (shift-ctrl-s) TextDown không lưu vào tệp bạn đã mở mà vào thư mục tải xuống của bạn.


Ngoài ra còn có này mở rộng cho Firefox, mà sau đó bạn có thể được làm việc bằng cách làm theo này .
Wilf

2

Tôi đề nghị hãy xem qua Atom . Nó là một trình soạn thảo văn bản tuyệt vời với bản xem trước markdown dựng sẵn. Tôi thường không sử dụng chế độ xem trước đánh dấu vì nó có lỗi nghiêm trọng - ngắt dòng (trừ khi chúng đi theo cặp cho biết <p>nội dung của thẻ) được giữ nguyên trong bản xem trước. Nhưng chế độ tô sáng cú pháp rất tốt (vì Markdown được tối ưu hóa để có thể đọc được và màu sắc của Atom là tuyệt vời) nên tôi thường kết thúc việc đọc các tệp đánh dấu trong chế độ xem nguồn.


2

Chỉ đọc Vim với đánh dấu & gấp Markdown

Với việc làm nổi bật Vim Markdown và gấp lại và chạy, giải pháp đơn giản nhất là gợi lên vimở chế độ chỉ đọc với một trong hai vim -R, hoặc (ít nhất là trên Ubuntu) một cách thanh lịch hơn:

$ view filename.md

Thêm phần sau vào cuối .vimrctệp của bạn và viewsẽ hoạt động giống như lessvới lợi ích bổ sung của tô sáng cú pháp yêu thích của bạn (không chỉ cho đánh dấu!) Và gấp lại:

" 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

Ngoài ra còn có một less.shkịch bản nghiêm ngặt hơn . Trên hệ thống của tôi, nó đi kèm với vim. Để tìm thấy nó, sử dụng:

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

Tuy nhiên, trái với kịch bản được liệt kê ở trên, gấp sẽ không hoạt động với điều này less.sh.




0

Một giải pháp dễ dàng cho hầu hết các tình huống: sao chép / dán đánh dấu vào trình xem trong "đám mây". Đây là hai lựa chọn:

  1. Dillinger.io
  2. Đinh lăng

Không có gì để cài đặt! Đa nền tảng! Qua trình duyệt! Luôn luôn sẵn sàng!

Nhược điểm: có thể gây rắc rối cho các tệp lớn, sự cố bảo mật ứng dụng đám mây tiêu chuẩn.


0

Đây là một bí danh đóng gói một hàm:

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 '

Giải trình

  • alias mdless='...' : tạo bí danh cho mdless
  • _mdless() {...}; : tạo một hàm tạm thời được gọi sau đó
  • _mdless : ở cuối, gọi nó (chức năng trên)

Bên trong chức năng:

  • if [ -n "$1" ] ; then : nếu đối số đầu tiên không phải là null thì ...
  • if [ -f "$1" ] ; then : đồng thời, nếu tệp tồn tại và đều đặn thì ...
  • cat arg1 arg2 | groff...: con mèo gửi hai đối số này được nối với nhau; các đối số là:
    • arg1: <(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): một cái gì đó bắt đầu tập tin và groffsẽ hiểu là ghi chú đầu trang và chân trang. Điều này thay thế tiêu đề trống từ -skhóa trên pandoc.
    • arg2 :: <(pandoc -t man $1)tệp chính nó, được lọc bởi pandoc, xuất ra mankiểu tệp$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null: đường ống dẫn tệp kết quả đến groff:
    • -K utf8để groffhiểu mã tập tin đầu vào
    • -t để nó hiển thị chính xác các bảng trong tệp
    • -T utf8 để nó xuất ra đúng định dạng
    • -manvì vậy, nó sử dụng gói MACRO để xuất tệp ở manđịnh dạng
    • 2>/dev/null để bỏ qua lỗi (xét cho cùng, một tệp thô được chuyển đổi bằng tay, chúng tôi không quan tâm đến các lỗi miễn là chúng ta có thể thấy tệp ở định dạng không quá xấu xí).
  • | less: cuối cùng, hiển thị tệp phân trang với nó less(Tôi đã cố gắng tránh đường ống này bằng cách sử dụng grofferthay vì groff, nhưng grofferkhông mạnh bằng lessvà một số tệp treo nó hoặc không hiển thị gì cả. Vì vậy, hãy để nó đi qua một ống nữa , cái quái gì thế!

Thêm nó vào ~/.bash_aliases(hoặc giống nhau)



0

Cách không đau đớn nhất đối với tôi là sử dụng đá quý mdless từ Ruby.

  1. Cài đặt ruby

    sudo apt-get install ruby

  2. Cài đặt mdless

    sudo gem install mdless

  3. Mở tệp qua mdless

    mdless filename.md


1
mdlessđã được đưa ra như một câu trả lời rồi.
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.