Skip to content

locomotivecms/engine

Repository files navigation

Locomotive

Build Status Code Climate 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.
  • 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 sections, 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 Webpack, SASS, HAML and Coffee Script (Wagon)

Instructions and help

Contribute

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:

  • Ruby 3+
  • Rails 7 - web framework
  • Bootstrap - UI framework
  • Mongoid 7 - Object-Document-Mapper for MongoDB 6
  • Devise 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 locomotive.local 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

Contact

Feel free to contact me at didier at nocoffee dot fr.

Copyright (c) 2010-2024 NoCoffee, released under the MIT license