This guide is a work in progress, PR's welcome!
TODO
TODO
TODO
Setting up a local development environment in Linux. Pull-requests welcome for MacOS support. (Although, this is the "Linux Upskill Challenge", why not Linux?)
Setting up a local python virtual environment is recommended.
python3 -m venv .envInstall python development environment dependencies.
python3 -m pip install -r requirements-dev.txtActivate the python environment:
source .env/bin/activateThe markdown linter that's used by this project is an npm package. Install
markdown lint dependencies from the package.json file.
npm installLinters:
- yamllint
- markdownlint
- ShellCheck
- Via shellcheck-py. It's easier to manage this project dependency as a pip-installable package. Also, pre-commit uses shellcheck-py because the native ShellCheck pre-commit hook has an annoying Docker dependency.
If you setup your python development environment by installing pip packages
from requirements-dev.txt earlier then pre-commit should already be
installed in your python environment.
Pre-commit runs linting, syntax, and other checks via git hook scripts that run before code is committed.
Install pre-commit and the hook scripts defined in .pre-commit-config.yaml:
pre-commit install && pre-commit install-hooksPre-commit will now run prior to committing any code with git.
To manually run the hook scripts and lint the repo:
pre-commit
# or run for all files
pre-commit run --all-filesThis project uses the MkDocs Python static site generator geared towards building project docs. It uses the mkdocs-material theme.
If you setup your Python environment above, then the mkdocs and mkdocs-material packages should already be installed.
A local instance of the site can be built and served via localhost by running...
mkdocs server...from the project root directory.
Served from localhost: LUC @localhost
Stages:
- Validate
- Build & Deploy
TODO: Flesh out this section.