Jekyll code highlighting on Heroku
The built in code highlighter in Jekyll doesn't work on Heroku due to some issues with Python. I came up with a work around by using the Pygmentize gem instead.
Gemfile
Add the Pygmentize gem to your gemfile:
gem 'pygmentize'
And run bundle install
_plugins/highlight.rb
Create a new file in the _plugins
directory with the name highlight.rb
. Paste the following code to make the built in code highlighter use the new Pygmentize gem:
require 'pygmentize'
class Jekyll::HighlightBlock < Liquid::Block
def render_pygments(context, code)
@options[:encoding] = 'utf-8'
output = add_code_tags(
Pygmentize.process(code, @lang),
@lang
)
output = context["pygments_prefix"] + output if context["pygments_prefix"]
output = output + context["pygments_suffix"] if context["pygments_suffix"]
output
end
end
Use
Just use the standard highlight blocks as usual:
``` ruby gem 'pygmentize' ```
- Published at
- Tags
- programming jekyll heroku ruby
- Related posts
- Jekyll + Heroku + Unicorn = Blazing fast blogging Deploy to Heroku from Github A Flickr plugin to Jekyll
- Have some thoughts?
- Reply by email
- Reactions