我发现了使用Markdown格式化的文件。你们能否建议我可以使用哪种查看器来查看此类文件?希望一个没有gui的人(如果可能)
更新 我实际上是在寻找一种可以解析不需要任何转换的markdown文件格式的查看器。但是接近那个应该没问题。
我发现了使用Markdown格式化的文件。你们能否建议我可以使用哪种查看器来查看此类文件?希望一个没有gui的人(如果可能)
更新 我实际上是在寻找一种可以解析不需要任何转换的markdown文件格式的查看器。但是接近那个应该没问题。
Answers:
以下网站提供了将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 : //jblevins.org/projects/markdown-mode/。如该网站的屏幕截图所示,这提供了很好的语法突出显示。
所有这些工具都应该可用于slackware。
:set syntax=mkd
-stdin
和天猫座,确实非常聪明,正是我所需要的。
-stdin read the startfile from standard input (UNIX only)
。
使用pandoc和lynx而不创建临时文件:
pandoc file.md | lynx -stdin
pandoc -t plain file.md | less
.bashrc
: md() { pandoc "$1" | lynx -stdin; }
defining function based on alias 'md'
,请执行以下步骤:检查它的用途(例如,您是否需要/使用它?):(which md
mine设置为mkdir -p
)。没有?然后在行上方添加此代码unalias md
。使用时收到此错误zsh
在Ubuntu 18
我用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
pip
按自述文件中的建议安装)
注:学分@乔的回答中堆栈溢出。
您可以使用Grip,它完全像GitHub一样呈现Markdown(它使用GitHub markdown API)。
用安装pip
:
pip install grip
渲染文件example.md
:
grip -b example.md
看起来如何:
pip install grip
。
是一个GUI程序,但是我发现此任务ReText有用,它是Markdown和reStructuredText的编辑器,具有预览模式:
但是,如果您需要从终端查看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 Commander和RStudio还可以轻松预览HTML,PDF或Word。
使用mdless
gem /命令。它会在终端中很好地显示Markdown文件。
gem install mdless
然后跑
mdless README.d
链接:
还有Discount,David Parsons对John Gruber的Markdown文本到html语言的C实现。折扣由几个命令行工具,包括markdown
,mkd2html
,makepage
,mktags
和theme
。
http://www.pell.portland.or.us/~orc/Code/discount/
另外,使用PEG语法在C中实现了markdown。
https://github.com/jgm/peg-markdown
在Mac OS X上,您还可以查看qlmarkdown
Markdown文件的QuickLook生成器。
我知道您说过您喜欢非GUI应用程序,但是我目前正在开发一个名为DownMarker的GUI应用程序。您可以在此处的Mercurial存储库中找到源。您可以在此处找到与mono或.NET一起运行的独立可执行文件。
警告:还远远没有完成,只是偶尔在linux / mono上进行了测试。我上次测试是在Mono 2.6上进行的。如果要构建它,您自己将需要最新版本的mercurial来克隆存储库,并需要MonoDevelop来编译应用程序。
2个工具:
- 摊牌是JavaScript的端口或降价:https://github.com/coreyti/showdown。你可以用它只能从浏览器
- Txt2tags的可以阅读Markdown格式,但它增加了很多新的选择和featues:http://txt2tags.org/online.php
一些评论询问或提到了使用浏览器加载项的可能性。我喜欢这种方法,因为我可以在任何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等成熟的编辑器竞争。)
IMHO严重低估了命令行markdown查看器是markdown-cli。
npm install markdown-cli --global
markdown-cli <file>
可能没有引起太大的注意,因为它缺少任何文档...
但是据我可以通过一些示例降价文件弄清楚,一些让我信服的事情:
我已经意识到以下问题
通过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
。
这是一个命令行脚本,在将其转换为html之后,会在浏览器中打开一个markdown文件:http : //minhajuddin.com/2012/03/16/markdown-viewer-script-for-your-markdown-documents/
在大多数情况下,一个简单的解决方案是:将降价标记复制/粘贴到“云”中的查看器中。这里有两个选择:
没有安装!跨平台!跨浏览器!始终可用!
缺点:对于大型文件,标准的云应用程序安全性问题可能会麻烦。
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;参数为:
<(echo ".TH $1 7
date --iso-8601 Dr.Beco Markdown")
:可以启动文件并groff
可以理解为页眉和页脚注释的东西。这将替换-s
key上的空标头pandoc
。<(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
(或类似位置)
对我而言,最轻松的方法是使用来自Ruby的mdless gem。
sudo apt-get install ruby
sudo gem install mdless
mdless filename.md
mdless
已经给出了答案。