Developers' Guide
Are you interested in helping build out this website? This page will help you get started!
Table of contents
- Prerequisites
- Get The Source
- Running The Website
- Running The Tests
- Making A Change To The Website
- Running Without Docker
Prerequisites
The following are required to follow this guide:
The website is written with the Django web framework, which is itself written with Python. Knowledge of Python and/or web programming are nice, but not strictly required to contribute. Knowledge of how to use git is very beneficial.
It's also a good idea to get yourself a text editor that is aware of: Python, HTML, CSS, Javascript, YAML, and TOML
Get The Source
You can download or clone the website source code from GitLab.
cd /some/path
git clone https://gitlab.com/modding-openmw/modding-openmw.com
Running The Website
To run the website from your local source code:
cd /path/to/modding-openmw.com
docker build . -t modding-openmw-dot-com:0
docker run -p 8000:8000 -it -e HOST=0.0.0.0 -e MOMW_VER=wtf -v $(pwd):/app --rm modding-openmw-dot-com:0 reset server
# Or:
make docker-reset-and-run
You can then visit http://localhost:8000 to view the site locally.
Running Tests
To run source code tests from your local source code:
cd /path/to/modding-openmw.com
docker build . -t modding-openmw-dot-com:0
docker run -p 8000:8000 -it -e HOST=0.0.0.0 -e MOMW_VER=wtf -v $(pwd):/app --rm modding-openmw-dot-com:0 reset test
# Or:
make docker-tests
Making A Change To The Website
If you have a change you'd like to see merged into the website codebase, the process looks something like this:
- Create a GitLab account if you don't already have one.
- Fork the website source code
- Push your changes to your fork
- Open a merge request to the
beta
branch
A website maintainer will be notified of your merge request and review it. From there, the path to merging depends on the nature of your change and the availability of maintainers to review and test the changes.
Running Without Docker
This method is for advanced users, it is not supported on Windows. Linux is strongly recommended and is what the text below is written for but it could be adapted for Macs. GNU Make and Python 3 with a functional pip are required!
cd /path/to/modding-openmw.com
make venv pip-requirements
make reset server
At this point, you should be able to interact with the codebase as expected. To run tests, do: make reset test