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 | |
Have some thoughts? | Reply by email |
Reactions |