Docter
β NO LONGER MAINTAINED β
Check out chjj/marked if you're looking for a good javascript markdown parser. Sorry!
Uses github's own redcarpet library to provide accurate markdown previews in your local editor. This screenshot shows Marked using docter
as the markdown processor.
Changes
2012-01-17
- Updated styles to match new GitHub styles
- Updated gfm wrapper for
Redcarpet
2 - Removed
nokigiri
andalbino
dependencies - Using pygments.rb wrapper instead
GitHub Flavored Markdown Extensions Supported:
-
Fenced codeblocks
var awesome = new BadassClass (param) { return "string" }
-
Strikethrusupport -
Syntax highlighting via
pygments
require 'redcarpet' def markdown(text) options = [:fenced_code,:generate_toc,:hard_wrap,:no_intraemphasis,:strikethrough,:gh_blockcode,:autolink,:xhtml,:tables] html = Redcarpet.new(text, *options).to_html syntax_highlighter(html) end
-
table support
First Header Second Header Content Cell Content Cell Content Cell Content Cell
Why NodeJS and not ruby?
I have future plans for this in a node project. And because it's my party.
Requirements
Lots. Ungodly heaps of requirements.
-
Various gems
$ gem install redcarpet pygments.rb
Usage
- Clone this repo locally
cd
to the repo[sudo] npm -g install
This will install the package into your global node_modules
dir (usually /usr/local/lib/node_modules
). It will also symbolically link two executables into your path:
docter
: the nodejs wrapper.gfm
: the ruby redcarpet/pygments wrapper.
Both of these executables take markdown input through STDIN and output formatted HTML on STDOUT.
Marked.app
Using with- Set the markdown processor to either of the linked executables. If you don't plan on doing anything with the node wrapper, I would suggest using the straight ruby wrapper (
gfm
). - Optionally, add the
ghf_marked.css
(in this repo) to Marked's custom CSS list.
Other styles
Uncomment the doc_header()
function in github-flavored-markdown.rb
and include any of the built-in styles from pygments. Replace :style => 'vs'
with one of the styles in the comment block.
Outputting the emacs
style to the document header:
class HTMLwithPygments < Redcarpet::Render::XHTML
def doc_header()
'<style>' + Pygments.css('.highlight',:style => 'emacs') + '</style>'
end
def block_code(code, language)
Pygments.highlight(code, :lexer => language, :options => {:encoding => 'utf-8'})
end
end