Extras
There are a number of (optional) extra features that Jekyll supports that you may want to install, depending on how you plan to use Jekyll.
LaTeX Support
Maruku comes with optional support for LaTeX to PNG rendering via blahtex
(Version 0.6) which must be in your $PATH
along with dvips
. If you need
Maruku to not assume a fixed location for dvips
, check out Remi’s Maruku
fork.
Alternative Markdown Processors
While Jekyll defaults to using Maruku for Markdown conversion, you may use one of the other three pre-defined markdown parsers or define your own.
RDiscount
If you prefer to use RDiscount instead of Maruku for Markdown, just make sure you have it installed:
$ [sudo] gem install rdiscount
And then specify RDiscount as the Markdown engine in your _config.yml
file to
have Jekyll run with that option.
# In _config.yml
markdown: rdiscount
Kramdown
You can also use Kramdown instead of Maruku for Markdown. Make sure that Kramdown is installed:
$ [sudo] gem install kramdown
Then you can specify Kramdown as the Markdown engine in _config.yml
.
# In _config.yml
markdown: kramdown
Kramdown has various options for customizing the HTML output. The Configuration page lists the default options used by Jekyll. A complete list of options is also available on the Kramdown website.
User-Defined
So, you’re totally at odds with our four built-in markdown parsers, eh? No sweat. You can define one as a plugin:
require 'jekyll'
require 'some_renderer'
class Jekyll::Converters::Markdown::MyCustomParser
def initialize(config)
@site_config = config
end
def convert(content)
# (this _must_ return the resulting String after the rendering)
SomeRenderer.new(@site_config).to_html(content)
end
end
Once you’ve got that setup, ask Jekyll to use your custom markdown parser in
your _config.yml
file:
markdown: MyCustomParser
(Note that this is case-sensitive, and is only the piece after
Jekyll::Converters::Markdown
.) And there you are!