Version Build Code Climate Test Coverage

Pages

Getting started

Pages is a Ruby on Rails-based CMS tailored for Rails developers.

The box does not include any themes or templates. Rather, it aims to make it as easy as possible to build your site from scratch, harnessing all the power of Rails and it's assets pipeline.

To get started, you'll need a Rails app. A freshly generated one will do. Add it to your Gemfile:

gem "pages_core"

Next, run the installer (which will ask you a few questions), and then the migrations.

bin/rails g pages_core:install
bin/rake db:migrate

You should now be ready to fire up the server and visit /admin to create your first user account.

Quick tour

Pages is all about the Page model - a site is a tree of Pages. Every page has a template (which corresponds to the files in app/views/pages/templates). Here's a sample template:

<h1>
  <%= @page.name %>
</h1>

<% if @page.excerpt? %>
  <%= @page.excerpt.to_html %>
<% end %>

<% if @page.body? %>
  <%= @page.body.to_html %>
<% end %>

<% if @page.pages.any? %>
  <h2>
    More stuff
  </h2>
  <ul>
    <% @page.pages.each do |p| %>
      <li>
        <%= link_to p.name, page_path(locale, p) %>
      </li>
    <% end %>
  </ul>
<% end %>

Every template has one or more blocks of content, configured in the page_templates.rb initializer. name, excerpt and body in the example above are the defaults, but this is fully customizable along with other optional features like images, file uploads, tags and more.

You'll also notice that the page links have a locale param. Pages does support localizations:

@page.localize(:en).name # => "Hello"
@page.localize(:fr).name # => "Bonjour"

All the helpers and controllers will automatically set the locale for you and it propagates across relations, so you'll rarely end up interacting with it directly in this fashion.

License

Pages is licensed under the MIT License.