Kramdown fenced code blocks not processed by Coderay (starting with Jekyll v0.12.0) #734

Closed
matthodan opened this Issue Jan 5, 2013 · 3 comments

Comments

Projects
None yet
4 participants

When I switched to v0.12.0 Jekyll stopped processing Kramdown fenced code blocks with Coderay (see following example; code commented because Github markdown doesn't render properly):

# ---
# title: hello world
# ---
# ~~~ ruby
# puts 'hello world'
# ~~~

I should note that I have set the 'use_coderay' option to true in my _config.yml. Also, I have Jekyll, Kramdown and Coderay installed via Bundler (i.e. I use bundle exec jekyll to compile my site).

Ok, I've found the problem. It appears Kramdown v0.13.8 had a bug and was not processing fenced code blocks correctly. This bug was fixed by Kramdown v0.14.1. Unfortunately, Jekyll currently uses Kramdown ~> v0.13.4 as per the gemspec. The reason I didn't encounter this issue when I was using the older v0.11.2 of Jekyll was because between v0.11.2 and v0.12.0, the following code was changed in the gemspec:

-  s.add_runtime_dependency('kramdown', "~> 0.13")
+  s.add_runtime_dependency('kramdown', "~> 0.13.4")

The tilde arrow means "equal to or greater than in the last digit", so minor version updates (e.g. v0.13 ... v0.) will be used in Jekyll v0.11.2 whereas only patch versions (e.g. v0.13.4 ... v0.13.) will be used in Jekyll v0.12.0.

Owner

parkr commented Feb 20, 2013

Upgraded to Kramdown 0.14 in Jekyll 0.12.1.

@parkr parkr closed this Feb 20, 2013

Member

penibelst commented May 22, 2014

Same issue in the latest Jekyll. Kramdown ignores all Coderay options. Working example: IIIF/iiif.io#152

@jekyllbot jekyllbot locked and limited conversation to collaborators Feb 27, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.