db77302883
This change is needed because in 1.8.3 we are going to introduce Markdown tables in the documentation (#3873 and #3921), and the old marked version did not support generating them. Instead of committing the marked source code here, we live install from npm if needed via the Makefile. n.b.: at the time of this change, marked latest version is 1.0.0, released a few days ago. I am updating to the version immediately before that (0.8.2), because in 1.0.0 the hyperlinks in the Table of Contents do not work (probably a bug in that version).
32 lines
837 B
Makefile
32 lines
837 B
Makefile
doc_sources = $(wildcard doc/*/*.md) $(wildcard doc/*.md)
|
|
outdoc_files = $(addprefix out/,$(doc_sources:.md=.html))
|
|
|
|
docassets = $(addprefix out/,$(wildcard doc/assets/*))
|
|
|
|
VERSION = $(shell node -e "console.log( require('./src/package.json').version )")
|
|
UNAME := $(shell uname -s)
|
|
|
|
ensure_marked_is_installed:
|
|
set -eu; \
|
|
hash npm; \
|
|
if [ $(shell npm list --prefix bin/doc >/dev/null 2>/dev/null; echo $$?) -ne "0" ]; then \
|
|
npm ci --prefix=bin/doc; \
|
|
fi
|
|
|
|
docs: ensure_marked_is_installed $(outdoc_files) $(docassets)
|
|
|
|
out/doc/assets/%: doc/assets/%
|
|
mkdir -p $(@D)
|
|
cp $< $@
|
|
|
|
out/doc/%.html: doc/%.md
|
|
mkdir -p $(@D)
|
|
node bin/doc/generate.js --format=html --template=doc/template.html $< > $@
|
|
ifeq ($(UNAME),Darwin)
|
|
sed -i '' 's/__VERSION__/${VERSION}/' $@
|
|
else
|
|
sed -i 's/__VERSION__/${VERSION}/' $@
|
|
endif
|
|
|
|
clean:
|
|
rm -rf out/
|