Developers' Guide

Are you interested in helping build out this website? This page will help you get started!

Table of contents

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:

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

Getting Started Tips Mod List Changelogs Website Changelog CFG Generator Name Generator About FAQ Resources Users' Guide Subscribe Issue Tracker MOMW On Discord #momw On IRC MOMW On GitLab
Settings
GPLv3 logo