The rendering stack used by both Wagon and Engine. It includes:
- the rack stack to pages and already precompiled assets (through webpack, vite or other).
- the liquid drops/filters/tags libs to parse and render liquid templates.
- a Filesystem adapter which reads the source of a site written for Wagon.
- a MongoDB adapter which reads an existing site hosted by the Locomotive Engine.
Note: Steam passes all the specifications of both Wagon and Engine.
gem install puma gem install locomotivecms_steam
Warning: For now, Steam is not aimed to be run standalone. The following is just a proof of concept.
Display all the options:
Render a local Wagon site:
steam --path=<PATH to a Wagon site>
Render a Engine site:
steam --database=<NAME of the MongoDB database used by the Engine> --assets-path=<PATH to the public folder of the Locomotive>
Once launched, open your browser
Inside Engine / Wagon:
see the list in the issues section.
- Fork it ( http://github.com//locomotivecms/steam )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Running test with docker
A docker configuration is included in this repository, you can run all the tests with the following procedure
First run a bash shell inside the container
docker-compose run steam gosu ubuntu bash
Now you are inside the container you can
Init the database with demo data
Run all the test with
Run specific test with rspec
Note: you do not need to prefix with bundle exec as the docky-ruby image already add it automatically
Copyright (c) 2023 NoCoffee. MIT Licensed, see MIT-LICENSE for details.