setup to parse asciidoc
This commit is contained in:
parent
e4aad311a8
commit
936eb1a7cd
55
doc.nix
Normal file
55
doc.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ stdenv,
|
||||
lib,
|
||||
liminix,
|
||||
gnumake,
|
||||
fennel,
|
||||
pandoc,
|
||||
luaPackages,
|
||||
asciidoctor,
|
||||
borderVmConf
|
||||
}:
|
||||
let
|
||||
json =
|
||||
(import liminix {
|
||||
inherit borderVmConf;
|
||||
device = import (liminix + "/devices/qemu");
|
||||
liminix-config =
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./modules/all-modules.nix ];
|
||||
};
|
||||
}).outputs.optionsJson;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "liminix-doc";
|
||||
nativeBuildInputs = [
|
||||
gnumake
|
||||
fennel
|
||||
pandoc
|
||||
asciidoctor
|
||||
luaPackages.lyaml
|
||||
];
|
||||
|
||||
src = lib.sources.sourceFilesBySuffices
|
||||
(lib.cleanSource ./. ) [
|
||||
".adoc"
|
||||
".nix" ".rst" "Makefile" ".svg"
|
||||
".fnl" ".py" ".css" ".html"
|
||||
".md" ".html.in"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
cat ${json} | fennel --correlate doc/parse-options.fnl > doc/modules-generated.inc.rst
|
||||
cat ${json} | fennel --correlate doc/parse-options-outputs.fnl > doc/outputs-generated.inc.rst
|
||||
cp ${(import ./doc/hardware.nix)} doc/hardware.rst
|
||||
make -C doc html
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/nix-support $out/share/
|
||||
cd doc
|
||||
make install prefix=$out/share
|
||||
ln -s ${json} $out/options.json
|
||||
echo "file source-dist \"$out/share/doc/liminix\"" \
|
||||
> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
}
|
36
doc/Makefile
36
doc/Makefile
@ -1,24 +1,26 @@
|
||||
# Minimal makefile for Sphinx documentation
|
||||
#
|
||||
DOCS=\
|
||||
admin \
|
||||
configuration \
|
||||
development \
|
||||
index \
|
||||
installation \
|
||||
intro \
|
||||
modules \
|
||||
outputs \
|
||||
reference \
|
||||
tutorial
|
||||
|
||||
# You can set these variables from the command line, and also
|
||||
# from the environment for the first two.
|
||||
SPHINXOPTS ?=
|
||||
SPHINXBUILD ?= sphinx-build
|
||||
SOURCEDIR = .
|
||||
BUILDDIR = _build
|
||||
|
||||
# Put it first so that "make" without argument is like "make help".
|
||||
help:
|
||||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
hardware.rst: hardware.nix
|
||||
@rm -f hardware.rst || true
|
||||
@cp $$(nix-build hardware.nix) hardware.rst
|
||||
|
||||
.PHONY: help Makefile
|
||||
%.html : %.adoc
|
||||
asciidoctor -a stylesheet=asciidoc.css $<
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
html: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
html: Makefile $(patsubst %,%.html,$(DOCS))
|
||||
|
||||
install:
|
||||
mkdir -p $(prefix)/doc
|
||||
cp -a posts/* news.html index.html liminix.css $(prefix)
|
||||
cp $(patsubst %,%.html,$(DOCS)) $(prefix)/doc
|
||||
|
Loading…
Reference in New Issue
Block a user