Jekyll for GitHub Pages can't find rouge on Windows
Asked Answered
E

2

4

I just installed Jekyll on Windows and I'm trying to make the syntax highlight work with rouge.

I have set highlighter: rouge on _config.yml.

In the file _posts\2015-08-13-my-first-post.md I got:

{% highlight javascript linenos %}
var s = "JavaScript syntax highlighting";
alert(s);
{% endhighlight %}

When I run bundle exec jekyll serve it outputs:

C:\Users\Fred\Documents\Projects\GithubPage>bundle exec jekyll serve
Configuration file: C:/Users/Fred/Documents/Projects/GithubPage/_config.yml
            Source: C:/Users/Fred/Documents/Projects/GithubPage
       Destination: C:/Users/Fred/Documents/Projects/GithubPage/_site
      Generating...
  Liquid Exception: cannot load such file -- rouge in _posts/2015-08-13-my-first-post.md
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/tags/highlight.rb:103:in `require': cannot load such file -- rouge (LoadError)
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/tags/highlight.rb:103:in `render_rouge'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/tags/highlight.rb:54:in `render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/block.rb:109:in `block in render_all'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/block.rb:96:in `each'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/block.rb:96:in `render_all'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/block.rb:82:in `render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/template.rb:128:in `render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/liquid-2.6.3/lib/liquid/template.rb:138:in `render!'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:106:in `render_liquid'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:233:in `do_layout'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/post.rb:261:in `render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:298:in `block in render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `each'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `render'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:51:in `process'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/command.rb:28:in `process_site'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:56:in `build'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:34:in `process'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
        from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.5.3/bin/jekyll:20:in `<top (required)>'
        from C:/Ruby21-x64/bin/jekyll:23:in `load'
        from C:/Ruby21-x64/bin/jekyll:23:in `<main>'

The gems that I have installed are:

C:\Users\Fred\Documents\Projects\GithubPage>gem list --local

*** LOCAL GEMS ***

bigdecimal (1.2.4)
blankslate (2.1.2.4)
bundler (1.10.6)
celluloid (0.16.1)
classifier-reborn (2.0.3)
coffee-script (2.4.1)
coffee-script-source (1.9.1.1)
colorator (0.1)
execjs (2.5.2)
fast-stemmer (1.0.2)
ffi (1.9.10 x64-mingw32)
hitimes (1.2.2)
io-console (0.4.3)
jekyll (2.5.3)
jekyll-coffeescript (1.0.1)
jekyll-gist (1.3.0)
jekyll-paginate (1.1.0)
jekyll-sass-converter (1.3.0)
jekyll-watch (1.2.1)
json (1.8.1)
kramdown (1.8.0)
liquid (2.6.3)
listen (2.10.1)
mercenary (0.3.5)
minitest (4.7.5)
parslet (1.5.0)
posix-spawn (0.3.11)
psych (2.0.5)
pygments.rb (0.6.3)
rake (10.1.0)
rb-fsevent (0.9.5)
rb-inotify (0.9.5)
rdoc (4.1.0)
redcarpet (3.3.2)
rouge (1.9.1)
safe_yaml (1.0.4)
sass (3.4.16)
test-unit (2.1.6.0)
timers (4.0.1)
toml (0.1.2)
yajl-ruby (1.2.1)
Eliga answered 14/8, 2015 at 3:9 Comment(2)
I just received an automatic e-mail from GitHub saying that rouge is not supported in GitHub Pages. It seems that this could be the problem and I have no alternative other than installing Python and pygments. Anyways, can anyone tell me if this is the reason of rouge not working on my development machine? Maybe because I'm using GitHub bundle. Can anyone confirm that?Eliga
For future readers: See this issue.Slacks
T
4

I had the same problem. I added the line

gem 'rouge'

to my Gemfile, then ran

bundle install

Then I could run

bundle exec jekyll build

without the error.

Tirza answered 2/3, 2016 at 18:10 Comment(0)
E
0

Github Pages work only with these plugins for security reasons.

Have you installed rouge in your Jekyll directory?

Here is a guide for syntax highlighting in Jekyll and installing Jekyll on a Windows machine that might help you.

Exoergic answered 16/8, 2015 at 19:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.