Is there a command line utility for rendering GitHub flavored Markdown?

I'm wondering if there is a command line utility for taking a GitHub flavored Markdown file and rendering it to HTML.

I'm using a GitHub wiki to create website content. I've cloned the repository on my server and would then like to process it into regular HTML. It's important to me that what appears on GitHub is exactly how it should look for my website. I'd also really like to use the fenced blocks with ~~~ , so I'd rather not use standard Markdown syntax only.

I've looked a bit into the JavaScript live preview thinking I could hook it into Node.js, but they say it is deprecated. I've looked at the redcarpet repository, but it doesn't look like it has a command line interface.

I rolled my own solution, however, since no solution here is clearly better than the others, I'll leave the question without a selected answer.


I wrote a small CLI in Python and added GFM support. It's called Grip (Github Readme Instant Preview).

Install it with:

$ pip install grip

And to use it, simply:

$ grip

Then visit localhost:5000 to view the readme.md file at that location.

You can also specify your own file:

$ grip CHANGES.md

And change port:

$ grip 8080

And of course, specifically render GitHub-Flavored Markdown, optionally with repository context:

$ grip --gfm --context=username/repo issue.md

Notable features:

  • Renders pages to appear exactly like on GitHub
  • Fenced blocks
  • Python API
  • Navigate between linked files (thanks, vladwing!) added in 2.0
  • Export to a single file (thanks, iliggio!) added in 2.0
  • New: Read from stdin and export to stdout added in 3.0
  • Hope this helps someone here. Check it out.


    I've not found a quick and easy method for GitHub-flavoured Markdown, but I have found a slightly more generic version - Pandoc. It converts from/to a number of formats, including Markdown, Rest, HTML and others.

    I've also developed a Makefile to convert all .md files to .html (in large part to the example at Writing, Markdown and Pandoc):

    # 'Makefile'
    MARKDOWN = pandoc --from markdown_github --to html --standalone
    all: $(patsubst %.md,%.html,$(wildcard *.md)) Makefile
    
    clean:
        rm -f $(patsubst %.md,%.html,$(wildcard *.md))
        rm -f *.bak *~
    
    %.html: %.md
        $(MARKDOWN) $< --output $@
    

    Maybe this might help:

    gem install github-markdown
    

    No documentation exists, but I got it from the gollum documentation. Looking at rubydoc.info, it looks like you can use:

    require 'github/markdown'  
    puts GitHub::Markdown.render_gfm('your markdown string')
    

    in your Ruby code. You can wrap that easily in a script to turn it into a command line utility:

    #!/usr/bin/env ruby
    
    # render.rb
    require 'github/markdown'
    
    puts GitHub::Markdown.render_gfm File.read(ARGV[0])
    

    Execute it with ./render.rb path/to/my/markdown/file.md . Note that this is not safe for use in production without sanitization.

    链接地址: http://www.djcxy.com/p/3418.html

    上一篇: 在Python中创建多行注释的方法?

    下一篇: 是否有一个命令行实用程序来呈现GitHub风格的Markdown?