ActiveCopy is a Rails model layer for reading from static page files. Inspired by Jekyll, it hacks ActionView to allow for storage of static page content inside app/views as YAML Front Matter/Markdown.

Although it's still very much a work in progress, ActiveCopy is being used in production on

Build Status


Add to Gemfile:

gem 'active_copy'

And generate a model:

$ rails generate copy article

You'll get this as app/models/article.rb:

class Article < ActiveCopy::Base
  attr_accessible :title

You'll also see a generator pop up in lib/generators that corresponds to the name you gave the original generator. The copy generator actually "generates a generator" so that you can more easily generate your custom model records (files).


You can define articles in app/views/articles/content/

title: "The title of your article"

Hi I'm a static article.

Retrieve that article from a param in your route:

class ArticlesController < ApplicationController
  def show
    @article = Article.find params[:id]

    respond_with @article

And show the article in your view:

  .content= @article.content


You can contribute by making a GitHub pull request. Please include tests with your feature/bug fix and an ample description as to why you're fixing the bug.


  • Generators