From 01497f55e981ae4132d487531eb3684ff435f1c4 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Tue, 8 Jan 2019 01:32:16 -0500 Subject: [PATCH] mkdocs: enforce sufficiently new version, and use mkdocs-exclude. We want to use the mkdocs-exclude plugin, which lets us exclude particular files from the output directory. But plugins aren't available in the debian-stable version of mkdocs, so ensure that we're running a sufficiently new version. If we aren't, gracefully just skip building the documentation. --- docs/mkdocs.do | 19 ++++++++++++++++--- docs/requirements.txt | 2 ++ mkdocs.yml | 14 +++++++++++++- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 docs/requirements.txt 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