A platform to create, publish and edit sites
Ruby CSS CoffeeScript HTML Other
Latest commit 51c89c1 Sep 25, 2016 @did did do not raise an error if a page has nil as editable elements + the ac…
…tion liquid tag handles file upload (engine site) locomotivecms/steam@269b38f
Permalink
Failed to load latest commit information.
.tx add the transifex config file + add minimal French translations in or… Oct 26, 2015
app do not raise an error if a page has nil as editable elements + the ac… Sep 25, 2016
bin fix a bug with page redirect_url property (accepts now /) + UI specs … Feb 2, 2016
config [RTE] allow the editors to add an alt attribute for an image #1171 Sep 14, 2016
doc/changelogs no more rspec warnings (remove all the calls to should) Dec 18, 2014
lib do not raise an error if a page has nil as editable elements + the ac… Sep 25, 2016
public Update favicons Dec 20, 2015
spec do not raise an error if a page has nil as editable elements + the ac… Sep 25, 2016
vendor/assets [RTE] allow the editors to add an alt attribute for an image #1171 Sep 14, 2016
.bowerrc new version if Steam + use Bower in dev to fetch the last versions of… Nov 13, 2015
.coveralls.yml coverall integration Jan 13, 2015
.gitignore new locales: zh-CN, ru, lt + pulled changes for other locales + rely … Apr 27, 2016
.rspec specs are failing because of https://jira.mongodb.org/browse/MONGOID-… Oct 10, 2015
.travis.yml use Travis container-based infrastructure Sep 24, 2015
Gemfile do not raise an error if a page has nil as editable elements + the ac… Sep 25, 2016
Gemfile.lock do not raise an error if a page has nil as editable elements + the ac… Sep 25, 2016
LICENSE upgrade to the very last version of gems + change the extensions of t… Jan 13, 2015
README.md minor changes Jan 12, 2016
Rakefile merge Nic work about the API + upgrade the README Apr 1, 2015
bower.json fix a couple of issues with the datetimepicker JS component (one of t… Mar 11, 2016
locomotive_cms.gemspec use Steam 1.2.0.rc2 + bump version to 3.2.0.rc2 Sep 15, 2016

README.md

Locomotive

Build Status Code Climate Dependency Status Coverage Status Join the chat at https://gitter.im/locomotivecms/engine

Locomotive is an open source platform to create, publish and edit sites (CMS). It is designed to save time and help you focus on what matters: front-end technology, standard development process and a very low learning curve for your clients.

Locomotive relies on a very original workflow:

  • Sites are coded locally using our open source tool: Wagon. A desktop version (not open source and not tested in v3) is also available here.
  • Sites are deployed to the platform (engine) thanks to our internal API.
  • A back-office for the end-users is automatically generated based on the custom models and editable regions described by the developers.

Locomotive

Visit the Locomotive official website here for more information.

Features

  • Multi-sites natively supported
  • Uses Liquid, a simple and clean templating language
  • Easy to add custom content types, no SQL needed
  • Beautiful and intuitive editing interface
  • Can fully localize all the content and pages
  • Embed a Restful API to manage every site
  • Develop and preview sites locally with your favorite tools (Wagon)
  • Support for SASS, HAML and Coffee Script (Wagon)

Instructions and help

Contribute

V3 has launched! Which means a lot of stuff changed and we got bunch of new features shipped in. However, Locomotive will be updated frequently with more awesome features. Have a look at our Trello board to see what's next or see where you can help out.

Technologies

Here is a list of the main gems used to power the Locomotive platform:

  • Rails 4.2 - web framework
  • Bootstrap - UI framework
  • Mongoid 5 - Object-Document-Mapper for MongoDB 2/3
  • Devise 3.4 - Authentication
  • Carrierwave - Upload
  • Pundit - Permissions

Translating the back-office

By default, the Locomotive back-office is fully translated in English, Dutch and Greek.

Adding a new language is pretty straightforward since we now manage all our I18n translation keys in Transifex, a platform dedicated to this kind of task.

Here is our Transifex portal page: https://www.transifex.com/locomotive/locomotive-engine. Feel free to sign up and translate!

How to contribute

Locomotive is an open source project, we encourage contributions. If you have found a bug and want to contribute a fix, or have a new feature you would like to add, follow the steps below to get your patch into the project:

  • Install ruby, mongoDB and phantomjs
  • Clone the project git clone git@github.com:locomotivecms/engine.git
  • Setup a virtual host entry for test.example.com to point to localhost
  • Start mongodb if it is not already running
  • Run the tests bundle exec rake
  • Write your failing tests
  • Make the tests pass
  • Create a GitHub pull request

For new features (especially large ones) it is best to create a topic on the Google group first to make sure it fits into the goals of the project.

Contact

Feel free to contact me at did at locomotivecms dot com.

Copyright (c) 2016 NoCoffee, released under the MIT license