I adapted this code to make it work for me. I use Jekyll.
- Correct encoding UTF-8.
- Use the correct python executable (there is only a 'python3' on my OpenSuse system).
- Do not use a HTML table for code fragments.
This plugin adds ReStructuredText support to Jekyll and Octopress. It renders ReST in posts and pages, and provides a custom directive to support Octopress-compatible syntax highlighting.
- Jekyll or Octopress >= 2.0
- Docutils
- Pygments
- RbST
Install Docutils and Pygments.
The most convenient way is to use virtualenv_burrito:
$ curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash $ source /Users/xdissent/.venvburrito/startup.sh $ mkvirtualenv jekyll-rst $ pip install docutils pygments
Install RbST.
If you use bundler with Octopress, add
gem 'RbST'to yourGemfilein thedevelopmentgroup, then runbundle install. Otherwise,gem install RbST.Install the plugin.
For Jekyll:
$ cd <jekyll-project-path> $ git submodule add https://github.com/xdissent/jekyll-rst.git _plugins/jekyll-rst
For Octopress:
$ cd <octopress-project-path> $ git submodule add https://github.com/xdissent/jekyll-rst.git plugins/jekyll-rst
Start blogging in ReStructuredText. Any file with the
.rstextension will be parsed as ReST and rendered into HTML.Note
Be sure to activate the
jekyll-rstvirtualenv before generating the site by issuing aworkon jekyll-rst. I suggest you follow Harry Marr's advice and create a.venvfile that will automatically activate thejekyll-rstvirtualenv when youcdinto your project.
A code-block ReST directive is registered and aliased as sourcecode.
It adds syntax highlighting to code blocks in your documents:
.. code-block:: ruby # Output "I love ReST" say = "I love ReST" puts say
Optional arguments exist to supply a caption, link, and link title:
.. code-block:: console :caption: Read Hacker News on a budget :url: http://news.ycombinator.com :title: Hacker News $ curl http://news.ycombinator.com | less
Octopress already includes style sheets for syntax highlighting, but you'll need to generate one yourself if using Jekyll:
$ pygmentize -S default -f html > css/pygments.css
- Use
.. morein your ReST documents to indicate where Octopress'sexcerpttag should split your content for summary views.