This repo is the source for ODK-X documentation.
The published documentation is at:
Please file an issue if you can't find what you are looking for.
There are two options for building and viewing ODK-X docs locally: using Docker or setting up a local Python/Sphinx environment. We generally recommend starting with the Docker image unless you already have a Sphinx environment set up. The Contributor Guide describes the philosophy behind the docs, style considerations, how to write restructured text and more.
Docker is a platform that makes it easier to package applications so that they can work on any computer. This is particularly valuable when setting up development environments which can work very differently based on versions of the tools involved.
-
Install Docker
- Windows and Mac users should follow the instructions in the get started guide
- Linux users should follow the instructions for their specific distribution: CentOS, Debian, Fedora, Ubuntu, Binaries
More info at the Docker CE docs page
-
Install git
-
Install Git-LFS
Clone the docs repo. For example, at the command line:
git clone https://github.com/odk-x/docs.git
It can take a long time (>10 minutes) to clone the repo due to the large number of images in the docs. If you get an error such as Smudge error
or GitHub's rate limit reached
, run git checkout -f HEAD
until you get the message Checking out files: 100% done
.
Next, you need to build the Docker image with all the tools you will be using to work with ODK-X's docs.
docker build -t odkx-docs .
It can take a long time to build the Docker image, but you only need to do this once.
Windows users
- All commands should be run in an elevated PowerShell window. Right click on PowerShell and select the "Run as administrator" option.
- Ensure Docker is running by checking your system tray. If Docker is not running, launch "Docker for Windows" app and wait until a notification confirms that Docker is running.
Build and serve the docs locally with:
- Windows:
.\run-task.bat odkx-autobuild
- Linux/macOS:
./run-task.sh odkx-autobuild
Once your terminal shows a "Serving on http://0.0.0.0:8080" message, you can then view the docs in your browser at http://localhost:8080.
Changes you make in the source files will automatically be built and shown in your browser.
Press Ctrl-C
on your keyboard to stop the build server. It could take a while to effectively stop, and you can always close the terminal window.
If you get a The name "odkx-docs" is already in use by container
error message, run the following command:
docker kill odkx-docs
You can also use the run-task
script described above to run just a portion of the build process. See available build tasks below.
We highly recommend you use a virtual environment like virtualenv or a Python version management like pyenv. (Type python --version
to see your current version.)
-
Instructions for setting up virtual environment:
A `virtual environment`_ is a Python construct that lets you download and install tools for a specific project without installing them for your entire computer. .. _virtual environment: https://docs.python.org/3/tutorial/venv.html #. Create a directory called 'odkx' Create a directory for the documents. For the purposes of these directions we will use the folder 'odkx' as the directory that will contain the ODK-X Docs environment. mkdir odkx Next, navigate the command line interface to inside the directory. cd odkx #. Create the virtual environment. Next create the virtual environment inside the 'odkx' directory. Bash /odkx/ $ python3 -m venv odkxenv PowerShell /odkx/ > python -m venv odkxenv #. Activate the virtual environment. Bash /odkx/ $ source odkxenv/bin/activate (odkxenv) /odkx/ $ PowerShell /odkx/ > source odkxenv/bin/activate (odkxenv) /odkx/ > The ``(odkxenv)`` before the prompt shows that the virtual environment is active. You will need to have this active any time you are working on the docs. If the file cannot be found, your activate file may be located under odkxenv/scripts/activate. Later, to deactivate the virtual environment: Bash (odkxenv) /odkx/ $ deactivate /odkx/ $ PowerShell (odkxenv) /odkx/ > deactivate /odkx/ >
Clone the docs repo and make sure all the requirements are installed:
$ git clone https://github.com/odk-x/docs.git
$ cd docs/
$ pip install -r requirements.txt
It can take a long time (>10 minutes) to clone the repo due to the large number of images in the docs. If you get an error such as Smudge error
or GitHub's rate limit reached
, run git checkout -f HEAD
until you get the message Checking out files: 100% done
.
Once your environment is set up, build and serve the docs locally with:
$ make odkx
$ cd odkx-build
$ python -m http.server 8000
You can then view the docs in your browser at http://localhost:8000.
You can also use make
to run just a portion of the build process. See available build tasks below.
Build & Serve | Build | Copy | LaTeX | Style Check | Spell Check | Check All | |
---|---|---|---|---|---|---|---|
Options | odkx-autobuild | odkx-build | odkx-copy | odkx-latex | odkx-style-check | odkx-spell-check | odkx-check |
We are open for new issues and pull requests.
- Please read the Contributors Guide before working on the documentation.
- Find issues to work on.
- Issues labelled easy do not require much specific technical knowledge.
- Issues labelled contributor friendly are usually self-contained and don't require extensive knowledge of the ODK-X ecosystem as a whole.
You can also...
- Discuss the documentation from a user perspective in our forum.
- File an issue for any needed improvements.
- Watch and star this repo, to keep up with what we're doing.
- If you get an
extension error
or aconfiguration error
:- Make sure your virtual environment is activated.
- Type
python --version
to check your current python version (it should be 3.x). - Run
pip install -r requirements.txt
.