Project

pages_core

0.0
A long-lived project that still receives updates
Pages Core
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Project Readme

Version Build

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.

There's also a couple of optional generators:

bin/rails g pages_core:rspec
bin/rails g pages_core:frontend

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.

Contributing

Bug reports, feature requests, and pull requests are welcome. Read CONTRIBUTING.md first. Report security vulnerabilities privately as described in SECURITY.md.

CONTRIBUTING.md also covers how to run the tests and how commits are formatted. This project ships with a code of conduct.

License

Released under the MIT License.