diff --git a/docs/mkdocs.do b/docs/mkdocs.do index c3044ee..388afa9 100644 --- a/docs/mkdocs.do +++ b/docs/mkdocs.do @@ -1,9 +1,22 @@ redo-ifchange doc.list xargs redo-ifchange ../mkdocs.yml /dev/null 2>/dev/null; then - (cd .. && mkdocs build) -else +# Most people don't have mkdocs installed, or are using an obsolete one, +# so let's handle those cases gracefully. +ver=$(mkdocs --version 2>/dev/null | cut -d' ' -f3) +check=' +import sys +ok = sys.argv[1].split(".") >= ["1", "0", "4"] +exit(not ok) +' + +if ! type mkdocs >/dev/null 2>/dev/null; then echo "Warning: mkdocs is missing; can't generate website." >&2 redo-ifcreate /usr/bin/mkdocs +elif ! python -c "$check" "$ver"; then + echo "Warning: mkdocs is too old ($ver); need at least 1.0.4." >&2 + mkd=$(which mkdocs 2>/dev/null || :) + [ -x "$mkd" ] && redo-ifchange "$mkd" +else + (cd .. && mkdocs build --strict --clean) fi diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..f409749 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,2 @@ +mkdocs>=1.0.4 +mkdocs-exclude diff --git a/mkdocs.yml b/mkdocs.yml index 39c7fe8..21ca880 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,8 +9,20 @@ extra_javascript: - fetchcode.js extra_css: - extra_style.css +plugins: + - exclude: + glob: + - "t/*" + - "*.tmp" + - "*.gz" + - "*.tar" + - "*.pdf" + - "*.ps" + - "*.1" + regex: + - ".*~" -pages: +nav: - Introduction: index.md - Getting Started: GettingStarted.md - Contributing.md