docset: add list_missing_pages make target

This commit is contained in:
Florian Albrechtskirchinger 2022-07-25 18:07:21 +02:00
parent ec2b517e7d
commit 8a26a6fa75
No known key found for this signature in database
GPG Key ID: 19618CE9B2D4BE6D
2 changed files with 38 additions and 12 deletions

18
.gitignore vendored
View File

@ -9,7 +9,8 @@
/.idea /.idea
/cmake-build-* /cmake-build-*
# Visual Studio Code
# Visual Studio / Visual Studio Code
/.vs/ /.vs/
/.vscode/ /.vscode/
/out/ /out/
@ -21,19 +22,20 @@
/build*/ /build*/
# fuzzers # fuzzers
/tests/parse_*_fuzzer
/tests/corpus_* /tests/corpus_*
/tests/parse_*_fuzzer
/venv/ # documentation
/docs/mkdocs/docs/examples/ /docs/docset/docSet.dsidx
/docs/mkdocs/docs/__pycache__/
/docs/mkdocs/site/
/docs/mkdocs/venv/
/docs/docset/JSON_for_Modern_C++.docset/ /docs/docset/JSON_for_Modern_C++.docset/
/docs/docset/JSON_for_Modern_C++.tgz /docs/docset/JSON_for_Modern_C++.tgz
/docs/mkdocs/docs/__pycache__/
/docs/mkdocs/docs/examples/
/docs/mkdocs/docs/images/json.gif /docs/mkdocs/docs/images/json.gif
/docs/mkdocs/site/
/docs/mkdocs/venv/
# serve_header # serve_header
/serve_header.yml
/localhost.pem /localhost.pem
/localhost-key.pem /localhost-key.pem
/serve_header.yml

View File

@ -1,7 +1,16 @@
SED ?= $(shell which gsed 2>/dev/null || which sed) SED ?= $(shell which gsed 2>/dev/null || which sed)
JSON_for_Modern_C++.docset: Info.plist docSet.sql MKDOCS_PAGES=$(shell cd ../mkdocs/docs/ && find * -type f -name '*.md' | sort)
$(MAKE) clean
.PHONY: all
all: JSON_for_Modern_C++.tgz
docSet.dsidx: docSet.sql
# generate index
sqlite3 docSet.dsidx <docSet.sql
JSON_for_Modern_C++.docset: Info.plist docSet.dsidx
rm -fr JSON_for_Modern_C++.docset JSON_for_Modern_C++.tgz
mkdir -p JSON_for_Modern_C++.docset/Contents/Resources/Documents/ mkdir -p JSON_for_Modern_C++.docset/Contents/Resources/Documents/
cp icon*.png JSON_for_Modern_C++.docset cp icon*.png JSON_for_Modern_C++.docset
cp Info.plist JSON_for_Modern_C++.docset/Contents cp Info.plist JSON_for_Modern_C++.docset/Contents
@ -16,11 +25,26 @@ JSON_for_Modern_C++.docset: Info.plist docSet.sql
find JSON_for_Modern_C++.docset/Contents/Resources/Documents -type f -exec $(SED) -i 's| - JSON for Modern C++</title>|</title>|' {} + find JSON_for_Modern_C++.docset/Contents/Resources/Documents -type f -exec $(SED) -i 's| - JSON for Modern C++</title>|</title>|' {} +
# clean up # clean up
rm JSON_for_Modern_C++.docset/Contents/Resources/Documents/sitemap.* rm JSON_for_Modern_C++.docset/Contents/Resources/Documents/sitemap.*
# generate index # copy index
sqlite3 JSON_for_Modern_C++.docset/Contents/Resources/docSet.dsidx < docSet.sql cp docSet.dsidx JSON_for_Modern_C++.docset/Contents/Resources/
JSON_for_Modern_C++.tgz: JSON_for_Modern_C++.docset JSON_for_Modern_C++.tgz: JSON_for_Modern_C++.docset
tar --exclude='.DS_Store' -cvzf JSON_for_Modern_C++.tgz JSON_for_Modern_C++.docset tar --exclude='.DS_Store' -cvzf JSON_for_Modern_C++.tgz JSON_for_Modern_C++.docset
# list mkdocs pages missing from the docset index
.PHONY: list_missing_pages
list_missing_pages: docSet.dsidx
@for page in $(MKDOCS_PAGES); do \
case "$$page" in \
*/index.md) path=$${page/\/index.md/} ;; \
*) path=$${page/.md/} ;; \
esac; \
if [ "x$$page" != "xindex.md" -a "x$$(sqlite3 docSet.dsidx "SELECT COUNT(*) FROM searchIndex WHERE path='$$path/index.html'")" = "x0" ]; then \
echo $$page; \
fi \
done
.PHONY: clean
clean: clean:
rm -f docSet.dsidx
rm -fr JSON_for_Modern_C++.docset JSON_for_Modern_C++.tgz rm -fr JSON_for_Modern_C++.docset JSON_for_Modern_C++.tgz