Silmarilli ![Build Status](https://secure.travis-ci.org/metakermit/generator-silmarilli.png?branch=master)
The Noldor also it was who first achieved the making of gems;
and the fairest of gems were the Silmarils, and they are lost.
— J.R.R. Tolkien, The Silmarillion
This is a collection of the most brilliant gems out there,
forged into a powerful building tool.
The gems
Silmarilli is packaged as a Yeoman generator,
generator-silmarilli
. It scaffolds
your application consisting of a Django
REST API server connected to a PostgreSQL database and a
AngularJS web app.
The following gems are included in Silmarilli:
How is this possible? Through the magic of
composability,
copying files
based on template rendering
and glob expressions.
Getting Started
What is Yeoman?
Trick question. It's not a thing. It's this guy:
![](http://i.imgur.com/JHaAlBJ.png)
Basically, he wears a top hat, lives in your computer, and waits for you to tell
him what kind of application you wish to create.
Not every new computer comes with a Yeoman pre-installed. He lives in the
npm package repository. You only have to ask for him once,
then he packs up and moves into your hard drive. Make sure you clean up, he
likes new and shiny things.
npm install -g yo
Yeoman Generators
Yeoman travels light. He didn't pack any generators when he moved in. You can
think of a generator like a plug-in. You get to choose what type of application
you wish to create, such as a Backbone application or even a Chrome extension.
To install generator-silmarilli from
npm, run:
npm install -g generator-silmarilli
Finally, initiate the generator:
yo silmarilli
You can optionally pass in the project name as an argument (you'll be asked for
it otherwise).
yo silmarilli awesome_thingy
If you want to skip generating the Angular code, pass the --skip-angular
flag.
Getting To Know Yeoman
Yeoman has a heart of gold. He's a person with feelings and opinions, but he's
very easy to work with. If you think he's too opinionated, he can be easily
convinced.
If you'd like to get to know Yeoman better and meet some of his friends,
Grunt and Bower, check out the complete
Getting Started Guide.
Development
Install Docker Compose.
When necessary, run the migrations:
docker-compose run web ./manage.py migrate
afterwards, you can get the development server up and running by simply running:
docker-compose up
Now, open your browser at http://localhost:8000 or check the ip address with
boot2docker ip
if you're on OS X.
License
Original code GPLv3, for the included components see LICENSE.md.
Hacking
For when it should be updated, Cookiecutter-django is included from
kermit's fork
as:
cd app/templates
cookiecutter --no-input -c kermit gh:kermit666/cookiecutter-django
TODO
- fill out django-compose.yml
- use something more simliar to Jinja to render {% if %} tags in Cookiecutter
-> probably cookiecutter directly to handle {% raw %} tags
- Cookiecutter-django as subtree or submodule (probably submodule to KIS...)
- set other cookiecutter-django settings as options (author_name etc.)
- properly prompt the subgenerator
http://stackoverflow.com/questions/28520937/
- add local cookiecutterrc support to cookiecutter/cookiecutter/config.py