Contribute¶
Say you want to make some changes. Perhaps they turn out great, and you want to share them. That is greatly appreciated, and this page tells you how to do it!
Linux / bash¶
You will need to make sure you can push code to Github by setting up ssh keys. Then fork the svsite repository and follow these steps.
You will need python3
, pip
, a database (sqlite3
is default and easy, but slow), virtualenv
, git
, elasticsearch
and some SSL packages. Just type:
sudo apt-get install python3 sqlite3 python-virtualenv git build-essential libssl-dev libffi-dev python-dev elasticsearch
Get your copy of the svsite code:
git clone git@github.com:YOUR_SVSITE_FORK.git
Go to the directory, start a virtualenv and install:
virtualenv -p python3 env
source env/bin/activate
pip install --requirement dev/pip_freeze.txt
pip install --no-deps --editable .
To create the database and superuser:
python3 source/manage.py migrate
python3 source/manage.py createsuperuser
You might want to run the tests:
py.test tests
Then you can start the server on localhost:
python3 source/manage.py runserver_plus --cert dev/cert
You can now open the site in a browser. It is running on localhost over https on port 8000. The server prepends www
, so use a domain that works with that prefix. For example,
This refers to your localhost (127.0.0.1). The first time you will probably need to add a security exception, as this is a debug SSL certificate.
Now you are ready to make your chances!
After you are done and have tested your changes (and converted space-indents to tabs), you can suggest it for inclusion into svsite by means of a pull request
External services¶
There is a minimal api for building some external services, which is described in Integration.
A general note¶
Good luck! why-we-never-forget-our-fellow-coders_