Content

Embed Ruby

Perron provides flexible options for embedding dynamic Ruby code in your content using ERB.

File extension

Any content file with a .erb extension (e.g., about.erb) will automatically have its content processed as ERB.

Frontmatter

You can enable ERB processing on a per-file basis, even for standard .md files, by adding erb: true to the file's frontmatter (like this markdown file you are looking at).

---
title: Embed Ruby
erb: true
---

This entire page will be processed by ERB.
The current date (upon building this site) is: 06 November 2025
↳ uses `<%= Time.current.strftime("%d %B %Y") %>`

erbify helper

For the most granular control, the erbify helper allows to process specific sections of a file as ERB. This is ideal for generating dynamic content like lists or tables from your resource's metadata, without needing to enable ERB for the entire file.

Example: Generating a list from frontmatter data in a standard .md file.

---
title: Features
features:
  - Rails based
  - SEO friendly
  - Markdown first
  - ERB support
---

Check out our amazing features:

<%= erbify do %>
  <ul>
    <% @resource.metadata.features.each do |feature| %>
      <li>
        <%= feature %>
      </li>
    <% end %>
  </ul>
<% end %>

This would iterate over the features array and display its value within the li-element.

Rendering erb-tags

When needing to show actual ERB tags (rather than having them processed), to escape them by doubling the percent signs. For example: <%% and <%%=.

Edit this page