
# DMS3 Draft documentation

To add support diagrams in markdown documents, add Atom packages: "Markdown Preview Enhanced".

Use mkdocs to generate documentation site using markdown.

mkdocs setup:

References:
- https://www.mkdocs.org/
- https://www.mkdocs.org/user-guide/configuration/
- https://github.com/mkdocs/mkdocs/
- https://github.com/shd101wyy/markdown-preview-enhanced/blob/master/docs/diagrams.md

Use mkdocs pymdown-extensions with superfences and custom fences to support diagrams in mkdocs:
- https://facelessuser.github.io/pymdown-extensions/
- https://facelessuser.github.io/pymdown-extensions/extensions/superfences/
- https://mermaidjs.github.io/#/
- https://github.com/squidfunk/mkdocs-material/issues/693
- https://cdnjs.com/
- https://github.com/mermaid-https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-debian-10js/mermaid/

```bash
mkdir -p ~/Work/dapp/dms3
mkdir -p ~/Work/dapp/dms3/dms3-docs
cd ~/Work/dapp/dms3
```

Initial install was via cloning the repo as below.

Use clone of repo mermaid - cdnjs version has bad css that when a style is added to flowchart svg, the page is disabled. To build mermaid locally after cloning repo:

```bash
git clone https://github.com/mermaid-js/mermaid.git
cd mermaid/
nvm list
nvm use stable
npm install webpack
npm install yarn
npm run build
npm run release
ls -alg dist/
cp -v dist/mermaid.min.js* ../mkdocs-docs/docs/js/
cp -v dist/mermaid.js* ../mkdocs-docs/docs/js/

cd ../
python --version
pip --version
#sudo apt-get install python-pip
#
#wget https://bootstrap.pypa.io/get-pip.py
#sudo python get-pip.py
```

Later install followed this instead to setup a virtual python environment
- https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-
set-up-a-programming-environment-on-debian-10

```bash
sudo apt update
sudo apt -y upgrade
python3 -V
sudo apt install -y python3-pip
sudo apt install build-essential libssl-dev libffi-dev python3-dev
sudo apt install -y python3-venv
mkdir python_env
cd python_env
python3.7 -m venv mkdocs_env
ls mkdocs_env
source mkdocs_env/bin/activate
nano hello.py
  print("Hello, World!")
python hello.py

pip install mkdocs
mkdocs --version
mkdocs new mkdocs-docs
cd mkdocs-docs
mkdocs serve
pip install pymdown-extensions
pip install mkdocs-rtd-dropdown

mkdocs build
mkdocs serve
```
To support math rendering:
- https://stackoverflow.com/questions/27882261/mkdocs-and-mathjax/31926644
- https://squidfunk.github.io/mkdocs-material/extensions/pymdown/
- https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/

- roboto-slab fonts were downloaded from:
- Free download fonts at http://sharefonts.net
- unzip and move missing fonts into mkdocs-docs/docs/fonts/

## Usage

```bash
cd ~/Work/dapp/dms3-docs

# build
mkdocs build

# local live reload server
mkdocs serve # defaults to 127.0.0.1:8000
mkdocs serve --dev-addr=192.168.0.7:8000

# deploy
rsync -rv site/* gitlab.dms3.io:~/dms3-docs/site/
/sbin/apache2ctl restart
```
