降价查看器


154

我发现了使用Markdown格式化的文件。你们能否建议我可以使用哪种查看器来查看此类文件?希望一个没有gui的人(如果可能)

更新 我实际上是在寻找一种可以解析不需要任何转换的markdown文件格式的查看器。但是接近那个应该没问题。


5
只需在编辑器中打开markdown文件即可读取它,您实际上不需要精美的工具即可读取它。您想要什么/您希望使用什么格式?
卡斯特马

1
“ markdown” 有许多版本。从技术上讲,乳胶,HTML是降价促销,因为是斜体 大胆 粗体斜体使用链接...
vonbrand

1
现在按@Fran的建议在github上重新发送文字
Beco博士

15
@vonbrand乳胶和HTML的标记的语言。Markdown是一种特定的文本格式“语言”(尽管您正确的说有很多变体,包括在Stack Exchange网站上使用的变体)。Markdown的名字是个玩笑,因为它使您可以使用标记语言来完成很多事情,而无需在文本上(实际上)“标记”(即添加标签)。
劳伦斯·贡萨尔维斯

Answers:


37

以下网站提供了将markdown转换为HTML的工具:

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

将文件转换为HTML后,可以使用许多命令行工具来查看文件。使用包含markdown格式化文本的测试文件,我发现以下内容很好用。

$ 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 : //jblev​​ins.org/projects/markdown-mode/。如该网站的屏幕截图所示,这提供了很好的语法突出显示。

所有这些工具都应该可用于slackware。


8
在VIM中,您可以通过手动将语法设置为markdown(如果无法识别)来突出显示语法。:set syntax=mkd
Gert

1
我从来没有想过使用-stdin和天猫座,确实非常聪明,正是我所需要的。
NickO 2014年

1
我对此进行了测试,并可以验证它是否可以在Linux上运行,但是有趣的是,手册页告知该功能仅适用于UNIX。-stdin read the startfile from standard input (UNIX only)
sherrellbc

97

使用pandoc和lynx而不创建临时文件:

pandoc file.md | lynx -stdin

7
(请注意:pandoc在haskell中)
2015年

10
或者只是pandoc -t plain file.md | less
Adriano P

7
然后将其添加到.bashrcmd() { pandoc "$1" | lynx -stdin; }
HDave

经过一番修补后,我决定解决这个问题,默认情况下是阅读“ README.md”,这是我通常要做的:function mdless {/ usr / bin / pandoc -t plain“ $ {1:-README.md} “ | / usr / bin / less; }
bgvaughan

对于@HDave的解决方案,如果得到defining function based on alias 'md',请执行以下步骤:检查它的用途(例如,您是否需要/使用它?):(which mdmine设置为mkdir -p)。没有?然后在行上方添加此代码unalias md使用时收到此错误zsh在Ubuntu 18
旋转

44

我用python或CLI编写了一个轻量级的终端markdown查看器:

它支持例如桌子,告示和大量的颜色主题。

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),为段落文本辩解(此处不要求高级连字符,但至少要求自动换行),而且由于某种奇怪的原因,它似乎也无法正确处理段落中断。这是一个非常好的开始,具有许多有用的功能,例如代码语法高亮显示,但基本上不能在当前状态下使用,可悲的是,因为它是如此接近。
托马斯

你好谢谢!顺便说一句:仅10年左右,我就修复了这些东西。如果您仍然感兴趣,请查看有关GH的外观和反馈问题。
红色药丸

嘿,那Python 3版本呢?
卢卡斯·苏亚雷斯

会马上做PY3准备POSIX thoughtstreams.io/ncoghlan_dev/...
丸红

太糟糕了,它仍然不支持浅色背景。(pip按自述文件中的建议安装)
Ruslan

42

学分@乔的回答中堆栈溢出。


您可以使用Grip,它完全像GitHub一样呈现Markdown(它使用GitHub markdown API)。

用安装pip

pip install grip

渲染文件example.md

grip -b example.md

看起来如何:

在此处输入图片说明


1
Arch Linux用户:Grip是一个不同的软件包。做吧pip install grip
大街

奇迹般有效。我推荐这个。
some_guy632

30

是一个GUI程序,但是我发现此任务ReText有用,它是Markdown和reStructuredText的编辑器,具有预览模式:

ReText屏幕截图

但是,如果您需要从终端查看ReText文件,则可以使用以下方法将marddown转换为html pandoc并查看html副本lynx

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

编辑

还有一些免费的Markdown编辑器,可用于* nix系统预览。某些在官方存储库中,有些则没有,各有各的优缺点,但作为合适的读者,我要强调以下几点:

  • Typora:它仍处于beta阶段,但同时是免费的(尚不清楚稳定版本将如何获得许可)。尽管不是FOSS,但它是markdown查看器的理想选择,因为默认情况下,它几乎可以用作带有“概述”面板(目录)的WYSIWYG编辑器(“实时预览模式”),这对于大型文件非常方便。“源代码模式”具有语法突出显示,包括用于标题的较大字体和用于强调的斜体。而且不仅可以导出为HTML,ODT和PDF。还可以通过pandoc集成将进出口导入多种格式。

  • Ghostwriter:仅HTML预览(不可编辑),但具有漂亮的轮廓面板和语法突出显示。没有导入选项,但是使用pandoc和其他处理器(MultiMarkdown,Discount或cmark)导出为多种格式,并通过hunspell/ 进行实时拼写检查myspell

  • MdCharm:类似于Retext,但支持markdown(额外的markdown)和MultiMarkdown。还显示轮廓(ToC)面板。

对于R Markdown用户,我还应该提到editR。不是程序,而是用于在浏览器中编辑/标记R Markdown的R包。R CommanderRStudio还可以轻松预览HTML,PDF或Word。


我专门使用retext。它并没有使我失望,但是后来我没有像其他人那样广泛地使用它。我专门用它来在github中产生问题(可悲的是使用markdown),并且没有GUI。
shirish

感谢您的提示Fran,正是我想要的。到目前为止,我注意到ReText唯一缺少的是刷新或“更改时加载”功能,因此您可以将其与其他编辑器结合使用。
2015年

很好的提示。此处也建议:softwarerecs.stackexchange.com/a/17740 信息库已更改为github:github.com/retext-project/retext
Beco博士

12

对于那些喜欢w3m(vi样式绑定)的人:

pandoc file.md | w3m -T text/html

我将其放在脚本mdview.sh中,并将其放在我的路径中:

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

到目前为止,没有gui的最佳版本:渲染保留终端颜色,并且看起来像是less带有着色的简单命令。
Ulysse BN



3

我知道您说过您喜欢非GUI应用程序,但是我目前正在开发一个名为DownMarker的GUI应用程序。您可以在此处的Mercurial存储库中找到源。您可以在此处找到与mono或.NET一起运行的独立可执行文件。

警告:还远远没有完成,只是偶尔在linux / mono上进行了测试。我上次测试是在Mono 2.6上进行的。如果要构建它,您自己将需要最新版本的mercurial来克隆存储库,并需要MonoDevelop来编译应用程序。


1
它在Windows 7机器上以64位打开,但不呈现md文档,仅显示源。尽管如此,令人惊讶的是,一个Mono应用程序在我的机器上运行时没有崩溃。:)
GmonC 2010年


3

一些评论询问或提到了使用浏览器加载项的可能性。我喜欢这种方法,因为我可以在任何Linux文本编辑器(从nano到vim到Kate)中编辑markdown文件,并在Firefox(我选择的浏览器)中查看文件。

我只是安装了此Firefox插件,它在Kubuntu 12.04和Firefox 33.0上开箱即用。无需任何调整。

Markdown Viewer :: Firefox附加组件
https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer/

(我也喜欢ReText,但我更希望看到像ReText这样的东西实现为Kate的插件。ReText缺少太多功能,无法与Kate等成熟的编辑器竞争。)


这个问题要求没有gui的查看器,但是我个人真的很喜欢这种解决方案。
绍尔堡,2017年


2

假设您想查看html的外观:使用Web浏览器(带有附加组件)作为查看器。

例如,对于谷歌浏览器,有TextDown,它还使您可以直接在浏览器中编辑文件并查看实时预览。

添加后,您还需要转到chrome:// chrome / extensions /并选中“允许访问文件URL”,以便可以打开本地文件。但是有一个警告:如果保存(shift-ctrl-s),则TextDown不会保存到打开的文件中,而是保存到下载文件夹中。


还有这个 Firefox扩展,然后你就可以得到由以下工作这个
威尔夫

2

我建议看一下Atom。这是一个出色的文本编辑器,具有内置的markdown预览。我通常不使用markdown预览模式,因为它有一个严重的错误-换行符(除非它们成对出现,表示<p>标签的内容)保留在预览中。但是语法高亮模式是如此出色(因为Markdown被优化为易于阅读,并且Atom的色彩非常出色),以至于我通常最终会在源代码视图模式下读取markdown文件。


2

IMHO严重低估了命令行markdown查看器是markdown-cli

安装

npm install markdown-cli --global

用法

markdown-cli <file>

特征

可能没有引起太大的注意,因为它缺少任何文档...
但是据我可以通过一些示例降价文件弄清楚,一些让我信服的事情:

  • 处理格式错误的文件要好得多(类似于atom,github等;例如,列表之前缺少空白行时)
  • 标头或列表的格式更加稳定(列表中的粗体会破坏其他查看器中的子列表)
  • 正确的表格格式
  • 语法高亮
  • 解析脚注链接以显示该链接而不是脚注编号(并非每个人都想要此)

屏幕截图

example.png

缺点

我已经意识到以下问题

  • 代码块被展平(所有前导空格均消失)
  • 列表前面出现两个空行

2

带有Markdown突出显示和折叠功能的只读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

但是,与上面列出的脚本相反,折叠不适用于this less.sh




0

在大多数情况下,一个简单的解决方案是:将降价标记复制/粘贴到“云”中的查看器中。这里有两个选择:

  1. Dillinger.io
  2. ing

没有安装!跨平台!跨浏览器!始终可用!

缺点:对于大型文件,标准的云应用程序安全性问题可能会麻烦。


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可以理解为页眉和页脚注释的东西。这将替换-skey上的空标头pandoc
    • arg2::<(pandoc -t man $1)文件本身,通过过滤pandoc,输出man文件样式$1
  • | groff -K utf8 -t -T utf8 -man 2>/dev/null:将生成的串联文件传送到groff
    • -K utf8因此groff了解输入文件的代码
    • -t 因此它在文件中正确显示表格
    • -T utf8 因此它以正确的格式输出
    • -man因此它使用MACRO软件包以man格式输出文件
    • 2>/dev/null 忽略错误(毕竟,原始文件是由人工手动转换的,只要我们能看到格式不太丑的文件,我们就不会在意这些错误)。
  • | less:最后,显示了使用进行分页的文件less(我尝试通过使用groffer而不是来避免使用此管道groff,但效果groffer不如它强壮less,有些文件将其挂起或根本不显示。因此,让它通过另一个管道, 有没有搞错!

将其添加到您的~/.bash_aliases(或类似位置)



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.