Converters
If you have a new markup language you’d like to use with your site, you can include it by implementing your own converter. Both the Markdown and Textile markup languages are implemented using this method.
Remember your Front Matter
Jekyll will only convert files that have a YAML header at the top, even for converters you add using a plugin.
Below is a converter that will take all posts ending in .upcase and process
them using the UpcaseConverter:
module Jekyll
  class UpcaseConverter < Converter
    safe true
    priority :low
    def matches(ext)
      ext =~ /^\.upcase$/i
    end
    def output_ext(ext)
      ".html"
    end
    def convert(content)
      content.upcase
    end
  end
end
Converters should implement at a minimum 3 methods:
| Method | Description | 
|---|---|
| 
         
  | 
      
        Does the given extension match this converter’s list of acceptable
        extensions? Takes one argument: the file’s extension (including the
        dot). Must return   | 
    
| 
         
  | 
      
        The extension to be given to the output file (including the dot).
        Usually this will be   | 
    
| 
         
  | 
      Logic to do the content conversion. Takes one argument: the raw content of the file (without front matter). Must return a String.  | 
    
In our example, UpcaseConverter#matches checks if our filename extension is
.upcase, and will render using the converter if it is. It will call
UpcaseConverter#convert to process the content. In our simple converter we’re
simply uppercasing the entire content string. Finally, when it saves the page,
it will do so with a .html extension.