At bitmazk we create beautifull handcrafted websites. After nearly 10 years of web development it turned out that a simple apache / django / django-cms stack works best for us and our customers.
To streamline the process of setting up new projects for new customers we created this boilerplate. Stop peeling. Start cooking!
- Clone this repository,
- create a virtualenv,
- initiate the project
- and your database
git clone https://github.com/bitmazk/django-cms-html5-1140px-boilerplate yourproject cd yourproject ./bin/initvirtualenv.sh ./bin/initproject.sh ./bin/initdatabase.sh cd webapps/django/project workon yourvirtualenv python manage.py syncdb python manage.py migrate python manage.py runserver
createvirtualenv.sh has been put into its own script because it will take quite some time to install all dependencies. You might not want to create an own virtualenv for all your boilerplate based projects (however, it is advisable to do so).
initdatabase.sh will ask you for a database name. It will use your input for the username as well and drop existing entities, then create fresh ones.
We are standing on the shoulders of giants and use the awesome html5-boilerplate as a submodule.
Usually the main .css file that comes with the html5-boilerplate has a part somewhere in the middle of the file where your very own styles should go. In order to be able to define these styles with SASS initproject.sh slices that main .css file into two pieces. Now you can define your own styles in a .sass file and let django-compressor take care of combining and compressing everything.
Unfortunately we have to inject quite some django specific code into the index.html that comes with the html5-boilerplate. Therefore this repo ships with its own base.html and we don't ever touch the html5-boilerplate's index.html. Maybe this can be automated in the future so that our base.html will be generated out of index.html but for now be warned: Our base.html might not reflect latest and important changes to the html5-boilerplate's index.html. We will try to monitor changes there and add them to our base.html manually but we are just humans. And we are damn busy. So you better check it yourself as well.
If you find our base.html horribly outdated, please create an issue and we will take care quickly.
You might wonder about the folder structure of this project. We chose this structure because it reflects the structure on our hosted webservers at our awesome webhost Webfaction.
We usually have one static app for serving static files plus one django app for serving the django application. A deployment script on the server checks out the repository and copies everything to its destination via rsync. We might release that script in the future as well...