From 3e4035695c9c969675de66ca1b63e13ef57e5bd8 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Mon, 21 Dec 2015 10:50:37 +0100 Subject: nixpkgs manual: add idris docs generated from *.md I also modified the nesting approach in haskell docs to allow more uniform handling of markdown -> docbook conversions. /cc #11308. --- doc/default.nix | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'doc/default.nix') diff --git a/doc/default.nix b/doc/default.nix index cca68014b0d10..7e41380d63580 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -20,27 +20,39 @@ stdenv.mkDerivation { --param callout.graphics.extension '.gif' ''; - buildCommand = '' - { - echo "" - echo "" - echo "User's Guide to the Haskell Infrastructure" - echo "" - pandoc ${./haskell-users-guide.md} -w docbook | \ - sed -e 's|||' \ - -e 's|||' - echo "" - echo "" - } >haskell-users-guide.xml + buildCommand = let toDocbook = { useChapters ? false, inputFile, outputFile }: + let + extraHeader = ''xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" ''; + in '' + { + pandoc '${inputFile}' -w docbook ${optionalString useChapters "--chapters"} \ + | sed -e 's|||' \ + -e 's|||' \ + -e '1s| id=| xml:id=|' \ + -e '1s|\(<[^ ]* \)|\1${extraHeader}|' + } > '${outputFile}' + ''; + in + + '' ln -s '${sources}/'*.xml . mkdir ./languages-frameworks cp -s '${sources-langs}'/* ./languages-frameworks - + '' + + toDocbook { + inputFile = ./haskell-users-guide.md; + outputFile = "haskell-users-guide.xml"; + useChapters = true; + } + + toDocbook { + inputFile = ./../pkgs/development/idris-modules/README.md; + outputFile = "languages-frameworks/idris.xml"; + } + + '' + cat languages-frameworks/idris.xml echo ${nixpkgsVersion} > .version xmllint --noout --nonet --xinclude --noxincludenode \ -- cgit 1.4.1