Rubyists Assemble! We're currently raising funds to help drive the launch of 1.0! Join the effort today ▸


If you have a new markup or template language you’d like to use with your site, you can process it by implementing your own converter. The Markdown and ERB support in Bridgetown is implemented using this very method.

Below is a converter which will take all posts ending in .upcase and process them using the UpcaseConverter:

# ./plugins/upcase_converter.rb

class UpcaseConverter < Bridgetown::Converter
  priority :low

  input :upcase

  def convert(content)

In this example, the convert method is provided the raw content of the file (without front matter), and it returns an uppercase string back. The converter will only run for files with the extension(s) defined using the input class method.

If you need to examine the source page/document or layout object which is responsible for processing the file, you can access it using a second convertible argument:

def convert(content, convertible)
  content + " — brought to you by the #{convertible.class} object."

Back to Plugins