BT

GitHub Pages Moves to Jekyll 3.0 to Improve Performance

| by Sergio De Simone Follow 14 Followers on Feb 09, 2016. Estimated reading time: 1 minute |

According to GitHub, Jekyll 3.0 will make GitHub Pages faster and easier to use, though the switch will not be painless for all existing sites due to some features being removed in the process.

Besides lots of performance improvements, Jekyll 3.0 adoption will also bring a couple of new features to GitHub Pages, such as:

  • incremental regeneration of pages through the (still experimental) --incremental switch, which promises to make builds even faster.
  • liquid profiler, enabled through a --profile switch to the build or serve commands. This will analyze a site’s build time and show where improvements are desirable.

Other changes that GitHub is enforcing to Pages will, though, shrink the options available to developers. First and foremost, GitHub Pages will exclusively support kramdown, Jekyll’s default engine, starting May 1st, 2016. This means that alternative engines, such as Rdiscount and RedCarpet will not be supported anymore. According to GitHub, Pages will provide the features of the two deprecated engine, so to make the transition painless. Yet, developers on Reddit complained that kramdown does not support all the features available from the other engines. In the process, alternative markup language Textile will also become unsupported from May 1st.

As a workaround to that, a few developers suggested on Reddit to generate locally the web site and then push it to GitHub by using a command like git subtree push --prefix build_folder origin gh-pages. An useful hint at this regard, is using two branches, one to host all sources, and another, master, for the rendered web site.

Another potentially breaking change concerns Pages syntax highlighter. Indeed, the only option available with the new GitHub Pages is Ruby-based Rouge, which rules out Python-based Pygments and other highlighter such as highlight.js.

Finally, Jekyll 3.0 does no support relative permalinks anymore, thus requiring that all paths be relative to the site’s root directory.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT