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 http://psychedeli.ca.
Add to Gemfile:
And generate a model:
$ rails generate copy article
You'll get this as app/models/article.rb:
class Article < :: attr_accessible :title end
You'll also see a generator pop up in lib/generators that
corresponds to the name you gave the original generator. The
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/your-article.md:
--- 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 end end
And show the article in your view:
#article %h1= @article.name .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.