Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

πŸ‘Œ Make Jade and Pug play well with Sprockets

Gem Version Build Status


pug-rails is a gem that allows you to easily integrate Jade / Pug template engine with Rails asset packaging system known as Sprockets.

pug-ruby is used under the hood. Please refer to the gem if you would like to use Jade / Pug compiler API directly.

Installing gem

RubyGems users

  1. Run gem install pug-rails --version "~> 3.0.0".
  2. Add require "pug-rails" to your code.

Bundler users

  1. Add to your Gemfile:
gem "pug-rails", "~> 3.0.0"
  1. Run bundle install.

Installing Jade and Pug

See installation steps and notes at pug-ruby. You may not need to do this step.

Requiring Jade runtime

Put the next line in your asset manifest:

//= require jade-runtime-1.11.0

You may change Jade runtime.js version depending on your scenario.

Naming Jade templates

Use .jst.jade as extension of your Jade files.

Requiring Pug runtime

Put the next line in your asset manifest:

//= require pug-runtime-2.0.2

You may change Pug runtime.js version depending on your scenario.

IMPORTANT: You don't need to do this if you have configured Pug compiler to inline runtime functions in template. Please read about inlineRuntimeFunctions option at official website:

Naming Pug templates

Use .jst.pug as extension of your Pug files.

Configuring Jade / Pug

Configuration documentation is available at pug-ruby.

Configuring asset lookup paths

It doesn't matter where to put Jade / Pug files but don't forget to update asset lookup paths. Personally I prefer to put templates in app/assets/templates:

# This will add app/assets/templates to asset lookup paths.
# Add the next line to your initializers or application.rb:
Rails.application.config.assets.paths << Rails.root.join("app/assets/templates")

Running tests

  1. Install both Jade and Pug: npm install --global jade pug.
  2. Install gem dependencies: bundle install.
  3. Finally, run tests: bundle exec appraisal rake test.


Prior to 2.0 the version of the gem was the same as the version of the Jade runtime that it contained.