diff options
author | Graham Christensen <graham@grahamc.com> | 2018-03-24 11:36:10 -0400 |
---|---|---|
committer | Graham Christensen <graham@grahamc.com> | 2018-03-25 19:52:07 -0400 |
commit | 7e25ff7106f00bdca9957b1109e2fd9beca86ea1 (patch) | |
tree | 8b9954e280106dc30557f2d69540eeda63a1c8c1 /doc/Makefile | |
parent | 8c7be5927e8ba5c1925dad1d3af09624bd907116 (diff) | |
download | nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar.gz nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar.bz2 nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar.lz nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar.xz nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.tar.zst nixlib-7e25ff7106f00bdca9957b1109e2fd9beca86ea1.zip |
docs: Build with a makefile
Diffstat (limited to 'doc/Makefile')
-rw-r--r-- | doc/Makefile | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 000000000000..366d971d7819 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,69 @@ +MD_TARGETS=$(addsuffix .xml, $(basename $(wildcard ./*.md ./**/*.md))) + +.PHONY: all +all: out/html/index.html out/epub/manual.epub + +.PHONY: clean +clean: + rm -f ${MD_TARGETS} .version manual-full.xml + rm -rf ./out/ + +validate: manual-full.xml + jing "$$RNG" manual-full.xml + +out/html/index.html: manual-full.xml style.css + mkdir -p out/html + xsltproc $$xsltFlags \ + --nonet --xinclude \ + --output $@ \ + "$$XSL/docbook/xhtml/docbook.xsl" \ + ./manual-full.xml + + cp ./style.css out/html/style.css + + mkdir -p out/html/images/callouts + cp "$$XSL/docbook/images/callouts/"*.gif out/html/images/callouts/ + +out/epub/manual.epub: manual-full.xml + mkdir -p out/epub/scratch + xsltproc $$xsltFlags --nonet \ + --output out/epub/scratch/ \ + "$$XSL/docbook/epub/docbook.xsl" \ + ./manual-full.xml + + cp "$$XSL/docbook/images/callouts/"*.gif out/epub/scratch/OEBPS + echo "application/epub+zip" > mimetype + zip -0Xq "out/epub/manual.epub" mimetype + rm mimetype + cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" * + rm -rf "out/epub/scratch/" + +manual-full.xml: ${MD_TARGETS} .version *.xml + xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml + +.version: + nix-instantiate --eval \ + -E '(import ../lib).nixpkgsVersion' > .version + +%.section.xml: %.section.md + pandoc $^ -w docbook+smart \ + -f markdown+smart \ + | sed -e 's|<ulink url=|<link xlink:href=|' \ + -e 's|</ulink>|</link>|' \ + -e 's|<sect. id=|<section xml:id=|' \ + -e 's|</sect[0-9]>|</section>|' \ + -e '1s| id=| xml:id=|' \ + -e '1s|\(<[^ ]* \)|\1xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" |' \ + | cat > $@ + +%.chapter.xml: %.chapter.md + pandoc $^ -w docbook+smart \ + --top-level-division=chapter \ + -f markdown+smart \ + | sed -e 's|<ulink url=|<link xlink:href=|' \ + -e 's|</ulink>|</link>|' \ + -e 's|<sect. id=|<section xml:id=|' \ + -e 's|</sect[0-9]>|</section>|' \ + -e '1s| id=| xml:id=|' \ + -e '1s|\(<[^ ]* \)|\1|' \ + | cat > $@ |