【问题标题】:What is the most mature and maintained Markdown processor?什么是最成熟和维护最完善的 Markdown 处理器?
【发布时间】:2011-04-05 09:23:14
【问题描述】:

我需要在命令行处理 Markdown,所以没有真正的语言限制。

额外的功能,如漂亮的引号和破折号是受欢迎的补充。代码块是必须的,但我认为它们是核心的一部分。

我只想输出到 HTML,我在 Unix 环境中。

【问题讨论】:

    标签: html unix markdown


    【解决方案1】:

    Pandoc 允许您将 Markdown 转换为 HTML(以及 back!)和much more

    【讨论】:

    • 优秀的文档,恕我直言,在任何地方都是最好的(成熟本身就是老年)
    【解决方案2】:
    $ pandoc --help
    pandoc [OPTIONS] [FILES]
    Input formats:  
           native, json, markdown, markdown+lhs, rst, rst+lhs, 
           textile, html, latex, latex+lhs
    Output formats:  
          native, json, html, html+lhs, s5, slidy, docbook, 
          opendocument, latex, latex+lhs, context, texinfo, 
          man, markdown, markdown+lhs, plain, rst, rst+lhs, 
          mediawiki, textile, rtf, org, odt, epub
    Options:
      -f FORMAT, -r FORMAT  --from=FORMAT, --read=FORMAT                    
      -t FORMAT, -w FORMAT  --to=FORMAT, --write=FORMAT                     
      -s                    --standalone                                    
      -o FILENAME           --output=FILENAME                               
      -p                    --preserve-tabs                                 
                            --tab-stop=NUMBER                               
                            --strict                                        
                            --normalize                                     
                            --reference-links                               
      -R                    --parse-raw                                     
      -S                    --smart                                         
      -5                    --html5                                         
      -m[URL]               --latexmathml[=URL], --asciimathml[=URL]        
                            --mathml[=URL]                                  
                            --mimetex[=URL]                                 
                            --webtex[=URL]                                  
                            --jsmath[=URL]                                  
                            --mathjax[=URL]                                 
                            --gladtex                                       
      -i                    --incremental                                   
                            --offline                                       
                            --xetex                                         
                            --chapters                                      
      -N                    --number-sections                               
                            --listings                                      
                            --section-divs                                  
                            --no-wrap                                       
                            --columns=NUMBER                                
                            --ascii                                         
                            --email-obfuscation=none|javascript|references  
                            --id-prefix=STRING                              
                            --indented-code-classes=STRING                  
                            --toc, --table-of-contents                      
                            --base-header-level=NUMBER                      
                            --template=FILENAME                             
      -V KEY:VALUE          --variable=KEY:VALUE                            
      -c URL                --css=URL                                       
      -H FILENAME           --include-in-header=FILENAME                    
      -B FILENAME           --include-before-body=FILENAME                  
      -A FILENAME           --include-after-body=FILENAME                   
      -T STRING             --title-prefix=STRING                           
                            --reference-odt=FILENAME                        
                            --epub-stylesheet=FILENAME                      
                            --epub-cover-image=FILENAME                     
                            --epub-metadata=FILENAME                        
      -D FORMAT             --print-default-template=FORMAT                 
                            --bibliography=FILENAME                         
                            --csl=FILENAME                                  
                            --natbib                                        
                            --biblatex                                      
                            --data-dir=DIRECTORY                            
                            --dump-args                                     
                            --ignore-args                                   
      -v                    --version                                       
      -h                    --help
    

    $ pandoc --version
    pandoc 1.8.2
    
    Compiled with citeproc support.
    
    Compiled with syntax highlighting support for:
    
    Actionscript, Ada, Alert, Alert_indent, Ansys, Apache, 
    Asn1, Asp, Awk, Bash, Bibtex, Boo, C, Changelog, Cisco, 
    Cmake, Coffeescript, Coldfusion, Commonlisp, Cpp, Cs, 
    Css, Cue, D, Desktop, Diff, Djangotemplate, Doxygen, 
    Doxygenlua, Dtd, Eiffel, Email, Erlang, Fortran, Fsharp, 
    Fstab, Gap, Gdb, Gettext, Gnuassembler, Go, Haskell, 
    Haxe, Html, Idl, Ilerpg, Ini, Java, Javadoc, Javascript, 
    Json, Jsp, Latex, Lex, LiterateHaskell, Lua, M3u,  
    Makefile, Mandoc, Matlab, Maxima, Mediawiki, Metafont, 
    Mips, Modula2, Modula3, Monobasic, Nasm, Noweb, 
    Objectivec, Objectivecpp, Ocaml, Octave, Pango, Pascal, 
    Perl, Php, Pike, Postscript, Prolog, Python, R, 
    Relaxngcompact, Rhtml, Ruby, Scala, Scheme, Sci, Sed, 
    Sgml, Sql, SqlMysql, SqlPostgresql, Tcl, Texinfo, 
    Verilog, Vhdl, Winehq, Wml, Xharbour, Xml, Xorg, Xslt, 
    Xul, Yacc, Yaml
    Copyright (C) 2006-2011
    

    【讨论】:

      【解决方案3】:

      到目前为止,我一直在使用带有http://www.freewisdom.org/projects/python-markdown/ 的python 没有任何问题,并且它具有简单的扩展机制。

      【讨论】:

        【解决方案4】:

        还有折扣,David Parsons 将 John Gruber 的 Markdown 文本转换为 html 语言的 C 实现。 Discount 包含几个命令行工具,包括markdownmkd2htmlmakepagemktagstheme

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

        【讨论】:

          【解决方案5】:

          还推荐具有以下好处的 Pandoc:

          1. pandoc markdown 中的代码语法高亮非常适合 html,而且它正在增长!
          2. pandoc markdown 支持类似于 github 风格的 markdown
          3. 除了html之外的更多输出格式,可能你以后需要像电子书一样

          很强大!

          【讨论】:

            【解决方案6】:

            我不确定维护的是什么,我当然偏向于在这里使用它,但是 SO 使用的那个也可以在 github 上找到,它是 the markdownsharp project,写的在 C# 中,并且维护得很好。

            它修复了 SO 用户在提出问题时发现的原始 Markdown 实现中的许多错误,就像大多数事情一样,只是一个出于必要的项目。话虽这么说,markdown 的某些工作方式按照规范的设计,但不一定是直观的,这是维护者在那里采取什么行动的特权,直观与规范......所以在某些极端情况下,您可能需要稍微调整任何实现以完全获得您想要的。

            【讨论】:

            • 它是否包含一个用于外壳的容器?还有……它能在 Unix 上运行吗?
            • @Pepijn - 下载仅是源代码,但只要您安装了 .Net 4 就可以编译它(无论如何您都必须运行控制台应用程序),不确定是否这对您来说是不是一个选项...只是在问题的“无语言限制”上下文中回答:) 更好的方法 IMO 是将项目包含在您的控制台旁边...这样您就可以更轻松地应用更新随之而来。
            • 所以这至少对我来说意味着 Mono。不过,这对其他人来说可能是一个不错的选择,所以我会给你一个赞成票,但不是 /my/ 接受的解决方案。
            • @Pepijn - 很公平 :) 不过我会编辑问题,提供有关目标环境的更多信息,这将帮助您获得更好的答案:)
            • 完成。到目前为止,只有一个其他答案。
            猜你喜欢
            • 2011-01-24
            • 1970-01-01
            • 2011-09-14
            • 1970-01-01
            • 2010-09-22
            • 1970-01-01
            • 1970-01-01
            • 2011-03-05
            相关资源
            最近更新 更多