h1. LocomotiveCMS
"!https://secure.travis-ci.org/locomotivecms/engine.png!":http://travis-ci.org/locomotivecms/engine
"!https://codeclimate.com/github/locomotivecms/engine.png!":https://codeclimate.com/github/locomotivecms/engine
"!https://gemnasium.com/locomotivecms/engine.png(Dependency Status)!":https://gemnasium.com/locomotivecms/engine
LocomotiveCMS is a simple but powerful CMS based on liquid templates and mongodb database. At my company ("NoCoffee":http://www.nocoffee.fr), we use it for our clients when they request a simple website.
If we have to give a couple of features to describe our application, there will be:
* managing as many websites as you want with one application instance
* nice looking UI (see http://www.locomotivecms.com for some screenshots)
* flexible content types
* content localization out of the box
* playing smoothly with Heroku, Bushido and MongoHQ
* inline editing (wip)
* API
h2. Strategy / Development status
We already developed a fully functional prototype in Rails 2.3.2 with both active record / mongomapper and it worked quite well. We are even using it for some client websites.
Now, our goal is to port our prototype to Rails 3 and migrate from mongomapper to mongoid. Besides, we put a lot of efforts to make it as robust as we can by writing better specs than we wrote for the prototype at first.
h2. Gems
Here is a short list of main gems / technologies used in the application.
* Ruby 2.0
* Rails 3.2.14 (Rails 4.0 in the next months)
* Mongoid 3.1.3 (with MongoDB 2.x)
* Liquid
* Devise
* Carrierwave
* Haml
* Formtastic
* Cells
* Coffeescript / Backbone / SASS
h2. Installation
See the "installation documentation on the official website":http://doc.locomotivecms.com
h2. Upgrading
We work on the procedure to upgrade from a previous version of the engine (below the 2.0.0)
h2. Community
* Get help or discuss locomotive CMS at the "LocomotiveCMS Google group":https://groups.google.com/forum/?fromgroups#!forum/locomotivecms
* Join us on IRC "#locomotivecms at irc.freenode.net!":http://webchat.freenode.net/
* "Follow us on twitter":http://twitter.com/locomotivecms
h2. Contributing to LocomotiveCMS
LocomotiveCMS 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 and mongoDB
* Clone the project git clone git@github.com:locomotivecms/engine.git
* Setup a virtual host entry for test.example.com
to point to localhost
* Install PhantomJS (Required for the cucumber suite See: https://github.com/jonleighton/poltergeist)
* Run the tests rake
* Write your failing tests
* Make the tests pass
* "Create a GitHub pull request":http://help.github.com/send-pull-requests
For new features (especially large ones) it is best to create a topic on the "Google group":https://groups.google.com/forum/?fromgroups#!forum/locomotivecms first to make sure it fits into the goals of the project.
h2. Team
* Developers: "Didier Lafforgue":http://www.nocoffee.fr, "Mario Visic":http://www.mariovisic.com, "Jacques Crocker":http://www.railsjedi.com
* Contributors: "Dirk Kelly":http://www.dirkkelly.com, "Raphael Costa":http://raphaelcosta.net (Brazilian Portuguese translation), "Bernd Hauser":http://www.designhunger.de (German translation), "Andrea Frigido":http://www.frisoft.it (Italian translation), "Enrique GarcĂa":https://github.com/kikito (Spanish translation), "Lars Smit":https://github.com/larssmit (Dutch translation), "PitOn":https://github.com/GarPit (Russian translation), "paulsponagl":https://github.com/paulsponagl
* UI Designer: "Sacha Greif":http://www.sachagreif.com
* IE maintainer: "Alex Sanford":https://github.com/alexsanford
h2. Support
Bernd Hauser from "designhunger":http://www.designhunger.de funded the following feature: *has_one* / *has_many* between content types.
h2. Credits
"Rodrigo Alvarez":http://blog.codecaster.es/ for his plugin named Congo which gave us a good starting point and for his availability for (very late) tech discussions.
"Emmanuel Grard":http://www.grardesign.com designed the awesome locomotive illustration in the old locomotivecms.com landing page.
"Font Awesome":http://fortawesome.github.com/Font-Awesome for providing the best icons. Make the whole back-office Retina-ready.
h2. Contact
Feel free to contact me at didier at nocoffee dot fr.
Copyright (c) 2013 NoCoffee, released under the MIT license
...