Developing
You can clone the repository with
git clone https://code.studioinfinity.org/glen/mkdocs-semiliterate
For the remaining steps, it may be easiest to do them in a python
virtual environment. If you put the virtual environment in .venv
at
the top level of the project, it will not disrupt any of the tests.
Remember to activate your virtual environment before doing the testing.
You can build the distribution with
pip install build
python -m build .
That will produce a .whl
file in the dist
subdirectory.
Testing
If you have a Docker daemon running on your local machine and the Drone
command-line installed, you can run all
of the tests via drone exec
. If not, or if you don’t want to wait for the
Docker container to spin up and install all of the prerequisites, you can make
sure you have the version of mkdocs-semiliterate that you want to test
currently properly installed in the python you are currently running, and then
starting from the top-level mkdocs-semiliterate
directory, run the commands
that drone uses to test:
flake8 --max-line-length=80 --extend-exclude=build --extend-exclude=.venv
mkdocs build
find site -not -path '*fonts*' -not -path '*img*' -not -path '*js*' | sort -f | diff tests/bootstrap.manifest -
bash tests/sites.bash
All of the commands should succeed and none of the diffs should produce any output.
Contributing
You can report issues at the
repository site.
Pull requests are welcome as well. If you’re new to contributing to open-source
projects, mkdocs-simple-plugin
has a very nice
tutorial.
Publishing
This package is published to PyPI
using twine. Mostly to jog the developer’s
memory, when a new release is freshly built, the command to update PyPI is
twine upload dist/*
. Also don’t forget to create a fresh release on the
repository site as well. Finally, you can manually upload the new doc pages
for mkdocs-semiliterate itself so the pages can be served by moving the
newly-produced site
directory to semiliterate
and then executing
scp -r -i [IDENTITY_FILE] semiliterate [USER]@[SERVER]:/opt/bitnami/apps/wordpress/htdocs