README-docs.md
pip install mkdocs (or pip3 install mkdocs) as well as pip install mkdocs-material.mlr, which must be somewhere
in your $PATH.docs/
within your clone.docs/src has *.md.in files containing markdown as well as directives for auto-generating code
samples. Edit these files, not *.md directly.*.md.in file, lines like GENMD_RUN_COMMAND mark a live code sample: the command gets
run, and its output included, when the file is processed.genmds script reads docs/src/*.md.in and writes docs/src/*.md.mkdocs build reads docs/src/*.md and writes HTML files in docs/site.make within the docs directory handles both of those steps.make docs from the Miller base directory.docs directory and leave mkdocs serve running.docs/src subdirectory and edit *.md.in.genmds to re-create all the *.md files, or genmds foo.md.in to just re-create the
foo.md.in file you just edited, or (simplest) just make within the docs/src subdirectory.docs/site; HTML is served up directly in the browser -- this is nice
for previewing interactive edits.docs/src/foo.md.in.docs/mkdocs.yml pointing at foo.md -- the filename must match the basename
of your new .md.in exactly, or the built page won't be linked into the site.docs/src/Makefile's genmds target only rebuilds files already listed in
$(wildcard *.md). Since foo.md doesn't exist yet, a plain make within docs/src won't
generate it. Two ways around this:
make docs from the Miller base directory (or make -C docs/src forcebuild)
-- these force-run genmds on every *.md.in unconditionally, new or not.docs/src, run ./genmds foo.md.in directly, once, to create the initial foo.md.
After that it's picked up by ordinary make runs like any other page.foo.md yourself (e.g. via touch): if its mtime
ends up newer than foo.md.in, make's implicit %.md: %.md.in rule will see the target as up to
date and skip regenerating it, silently leaving it empty.git add both foo.md.in and the generated foo.md.src subdirectory of docs and edit *.md.in.make -C ..docs/site.file:///your/path/to/miller/docs/site/index.htmlsudo pip3 install git+https://github.com/linkchecker/linkchecker.gitcd site and linkchecker .docs/src/*.md.in and docs/src/*.md are both
checked in to source control.
docs/src/foo.md.in and run make docs.pip install mkdocs then feel free to put up a PR which edits a
foo.md.in as well as its foo.md.git add your modified files (*.md.in as well as *.md), git commit, git push, and submit
a PR at https://github.com/johnkerl/miller.docs/src/extra.css for Miller
coloring/branding.main in this repo.