From 4fbb5dd11e62054c4cde5688e32ff1d3f74532f4 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Fri, 12 May 2017 16:03:01 +0200 Subject: [PATCH] The real example ... --- Doc/Makefile | 222 ++++++++++++++++++--------- Doc/Sd1/Ref/Fig/.gitignore | 1 - Doc/Sda1/Ref/Fig/.gitignore | 1 - Doc/Sda2/Ref/Fig/.gitignore | 1 - Doc/Sdi/Ref/Fig/.gitignore | 1 - ws/Docbook/Extensions/Tdata/Makefile | 24 +-- 6 files changed, 158 insertions(+), 92 deletions(-) delete mode 100644 Doc/Sd1/Ref/Fig/.gitignore delete mode 100644 Doc/Sda1/Ref/Fig/.gitignore delete mode 100644 Doc/Sda2/Ref/Fig/.gitignore delete mode 100644 Doc/Sdi/Ref/Fig/.gitignore diff --git a/Doc/Makefile b/Doc/Makefile index 8bf863945..90637ad71 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -1,91 +1,161 @@ SHELL = /bin/bash SCRIPTBASENAME=lectures - -# -# Eclipse Help XSL related plugin parameters, see -# http://docbook.sourceforge.net/release/xsl/current/doc/param.html -# - -DOCMODULES=Sd1 Sda1 Sda2 Tdoc Sdi Persist - BUILDROOT=target #+++ no changes below this line ++++++++++++++++++++++++++++++++++++ - -include make.xsl - +# +DIR := ${CURDIR} numCores=$(shell nproc --all) -SAXONCMD=java -cp "/usr/share/java/Saxon-HE.jar:/usr/share/java/xercesImpl.jar:/usr/share/xmlmind/addon/config/common/xslthl/xslthl.jar" \ - -Dxslthl.config="file:///usr/share/xmlmind/addon/config/docbook5/xsl/highlighting/xslthl-config.xml" -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ +BUILDROOT_PROFILE=${BUILDROOT}/profile +BUILDROOT_WEBHELP=${BUILDROOT}/webhelp +BUILDROOT_EPUB=${BUILDROOT}/epub + +DBOOK=/usr/share/hdm-docbook-xsl +DBOOK_XSL=${DBOOK}/docbook-xsl +DBOOK_XSL_CUSTOM=${DBOOK}/CustomLayer +DBOOK_XSL_PREPROCESS=${DBOOK}/Preprocess + +# Common Docbook transformation parameter +dbookXslCommonParam=\ +keep.relative.image.uris=0 \ +callout.graphics=0 \ +callout.unicode=1 \ +graphicsize.use.img.src.path=1 \ +highlight.source=1 \ +id.warnings=1 \ +olink.debug=1 + +# Pdf related Docbook transformation parameter +dbookXslPdfParam=${dbookXslCommonParam} \ +fop1.extensions=1 \ +paper.type=A4 + +# Slide related Docbook transformation parameter +dbookXslSlideParam=${dbookXslCommonParam} + +# Epub related Docbook transformation parameter +dbookXslEpubParam=${dbookXslCommonParam} \ +generate.manifest=1 \ +base.dir=. + +# Webhelp related Docbook transformation parameter +dbookXslWebhelpParam=${dbookXslCommonParam} \ +generate.toc='appendix toc,title \ +article/appendix nop \ +article toc,title \ +book toc,title,figure,table,example,equation \ +chapter toc,title \ +appendix toc,title \ +part toc,title \ +preface toc,title \ +reference toc,title \ +sect1 toc \ +sect2 toc \ +sect3 toc \ +sect4 toc \ +sect5 toc \ +section toc \ +set toc,title' \ +webhelp.base.dir=. + +# Required for docbook Xsl 1.0 based stylesheets +SAXON6CMD=java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl-2.1.3.jar" \ + '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ + com.icl.saxon.StyleSheet + +# XSL 2.0 processor +SAXONCMD=java -cp "/usr/share/hdm-docbook-xsl/docbook-xsl/tools/lib/saxon9he.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xslthl-2.1.3.jar" \ +-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration \ - net.sf.saxon.Transform + -Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml \ + net.sf.saxon.Transform -#Video webm-->mp4 conversion rule +# Docbook related build rules # -%.webm.mp4:%.webm - avconv -i $< -acodec libx264 -c:a libvorbis -r 10 $<.mp4 || rm -f $<.mp4 - avconv -i $< -vframes 1 $<.png || rm -f $<.png - -webmSet = $(shell /bin/ls target/*/Ref/Video/*.webm 2>/dev/null) -mp4Set = $(foreach webmFile, $(webmSet), $(webmFile).mp4 ) - -videoformats:$(mp4Set) - -all: ${BUILDROOT}/stage1 - cd ${BUILDROOT}; tar c- ${DOCMODULES} | tar -x -C . #webhelp - cd ${BUILDROOT};zip -r webhelp/lectures.zip webhelp Slides ${DOCMODULES} extern -x webhelp/lectures.zip - -${BUILDROOT}/${SCRIPTBASENAME}_print.xml \ -${BUILDROOT}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml Common/glossary.xml Common/bibliography.xml - mkdir -p ${BUILDROOT}; - ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2docbook.xsl > ${BUILDROOT}/${SCRIPTBASENAME}.xml - ${SAXONCMD} -s:${BUILDROOT}/${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2html.xsl > ${BUILDROOT}/${SCRIPTBASENAME}_html.xml - ${SAXONCMD} -s:${BUILDROOT}/${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2print.xsl > ${BUILDROOT}/${SCRIPTBASENAME}_print.xml - cd ${BUILDROOT}; ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../../ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl - for module in ${DOCMODULES}; do \ - tar c- $$module/Ref| tar -x -C ${BUILDROOT}; \ - done; - $(MAKE) $(mp4Set) - cd ${BUILDROOT}; $(MAKE) -f ../make.rules -j ${numCores} pdf - -${BUILDROOT}/stage1:\ - ${BUILDROOT}/webhelp/index.html \ - ${BUILDROOT}/webhelp/lectures.epub \ - ${BUILDROOT}/webhelp/printversion.pdf \ - ${BUILDROOT}/mobil/index.html - touch ${BUILDROOT}/stage1 - -${BUILDROOT}/webhelp/index.html:${BUILDROOT}/${SCRIPTBASENAME}.xml - cd ${BUILDROOT};\ - ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../../ws/Docbook/Extensions/Xsl/docbook2slides.xsl \ - callout.unicode=1 highlight.source=1;\ - ln -sf /usr/share/reveal.js Slides;\ - /usr/share/xmlmind/bin/xxetool convert ${XSLPARAM} db5.toWebHelp \ - ${SCRIPTBASENAME}_html.xml -u webhelp; ln -sf /usr/share/hdmwebhelp/extern . - -${BUILDROOT}/mobil/index.html:${BUILDROOT}/${SCRIPTBASENAME}.xml - cd ${BUILDROOT};\ - /usr/share/xmlmind/bin/xxetool convert ${XSLPARAM} db5.toEclipseHelp \ - ${SCRIPTBASENAME}_html.xml -u mobil - -${BUILDROOT}/webhelp/printversion.pdf: ${BUILDROOT}/${SCRIPTBASENAME}_print.xml - cd ${BUILDROOT};\ - /usr/share/xmlmind/bin/xxetool convert ${XSLPARAM} ${XSLPARAM_pdf} db5.toPSFile \ - ${SCRIPTBASENAME}_print.xml -s pdf -s "|pdf" -u webhelp/printversion.pdf - -${BUILDROOT}/webhelp/lectures.epub: ${BUILDROOT}/${SCRIPTBASENAME}.xml - cd ${BUILDROOT};\ - /usr/share/xmlmind/bin/xxetool convert ${XSLPARAM} \ - db5.toEpub ${SCRIPTBASENAME}.xml -u webhelp/lectures.epub - -slides: - ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2docbook.xsl > ${BUILDROOT}/${SCRIPTBASENAME}.xml - cd ${BUILDROOT};\ - ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../../ws/Docbook/Extensions/Xsl/docbook2slides.xsl \ - callout.unicode=1 highlight.source=1;\ +# Basic profiling +%.print.xml %.html.xml: %.xml + mkdir -p $(@D); ln -sf /usr/share/hdmwebhelp/extern $(@D)/.. + ${SAXONCMD} -s:$(<F) \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2docbook.xsl > ${*}.xml + ${SAXONCMD} -s:$(<F) \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${*}.html.xml + ${SAXONCMD} -s:$(<F) \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${*}.print.xml + cd $(@D); ${SAXONCMD} -s:$(<F) -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl + tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C $(@D) + cp -f ${DBOOK_XSL_PREPROCESS}/make.image $(@D) + cd $(@D); $(MAKE) -j ${numCores} -f make.image; #rm -rf `find . -name Generate` + +# Webhelp and indexing +%.webhelp: %.html.xml + ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam} + rsync -a ${DBOOK_XSL}/webhelp/template/* . # Images, Css + cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> common/css/positioning.css # highlighting supplements + cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/hdmlogo.svg common/images + rsync -a /usr/share/hdmwebhelp/extern/libs/mathjax . + cd ${DBOOK_XSL}/webhelp/template/search; \ + cp nwSearchFnt.js default.props punctuation.props en-us.props stemmers/en_stemmer.js \ + ${DIR}/search + java \ + -DhtmlDir=. \ + '-DindexerLanguage=en' \ + '-DhtmlExtension=html' \ + '-DdoStem=true' \ + '-DtocFile=$${toc.file}' \ + '-DindexerExcludedFiles=index.html' \ + '-Dorg.xml.sax.driver=org.ccil.cowan.tagsoup.Parser' \ + '-Djavax.xml.parsers.SAXParserFactory=org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl' \ + -cp '${DBOOK_XSL}/extensions/webhelpindexer.jar:${DBOOK_XSL}/extensions/lucene-analyzers-3.0.0.jar:${DBOOK_XSL}/extensions/lucene-core-3.0.0.jar:${DBOOK_XSL}/extensions/tagsoup-1.2.1.jar' \ + com.nexwave.nquindexer.IndexerMain + touch $*.webhelp + +# Epub +%.epub: %.html.xml + ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} + cd ..; rm -rf mimetype META-INF ${*}.epub + mv mimetype META-INF .. + rsync -av --delete ${DBOOK_XSL}/images . # Images, Css + cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> docbook-epub.css # highlighting supplements + cd ..; zip -rX ${*}.epub mimetype META-INF OEBPS + +%.slides: %.html.xml + ${SAXONCMD} -s:$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam} + rsync -a /usr/share/reveal.js . + touch $*.slides + +# PDF +# See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975 +%.pdf: %.print.xml + ${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo + /usr/share/hdm-fop/fop-2.2/fop/fop -fo $*.fo -pdf ${*}.pdf + +all: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slides ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf + +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.print.xml \ +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml \ +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml :\ + ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml + rsync -a --delete ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP} + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.webhelp + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cp -r ${BUILDROOT_PROFILE} ${BUILDROOT_WEBHELP}/OEBPS + cd ${BUILDROOT_WEBHELP}/OEBPS; ${MAKE} -f ../../../Makefile ${SCRIPTBASENAME}.epub + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slides: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.slides + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.pdf clean: rm -rf ${BUILDROOT} diff --git a/Doc/Sd1/Ref/Fig/.gitignore b/Doc/Sd1/Ref/Fig/.gitignore deleted file mode 100644 index b72dea3da..000000000 --- a/Doc/Sd1/Ref/Fig/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Generate diff --git a/Doc/Sda1/Ref/Fig/.gitignore b/Doc/Sda1/Ref/Fig/.gitignore deleted file mode 100644 index b72dea3da..000000000 --- a/Doc/Sda1/Ref/Fig/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Generate diff --git a/Doc/Sda2/Ref/Fig/.gitignore b/Doc/Sda2/Ref/Fig/.gitignore deleted file mode 100644 index b72dea3da..000000000 --- a/Doc/Sda2/Ref/Fig/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Generate diff --git a/Doc/Sdi/Ref/Fig/.gitignore b/Doc/Sdi/Ref/Fig/.gitignore deleted file mode 100644 index b72dea3da..000000000 --- a/Doc/Sdi/Ref/Fig/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Generate diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile index 81f4c9e08..be01e7e4b 100644 --- a/ws/Docbook/Extensions/Tdata/Makefile +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -132,30 +132,30 @@ SAXONCMD=java -cp "/usr/share/hdm-docbook-xsl/docbook-xsl/tools/lib/saxon9he.jar ${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo /usr/share/hdm-fop/fop-2.2/fop/fop -fo $*.fo -pdf ${*}.pdf -all: ${BUILDROOT_WEBHELP}/fig.webhelp ${BUILDROOT_WEBHELP}/fig.epub ${BUILDROOT_WEBHELP}/fig.slides ${BUILDROOT_WEBHELP}/fig.pdf +all: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slides ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.print.xml \ ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml \ ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml -${BUILDROOT_WEBHELP}/fig.xml \ -${BUILDROOT_WEBHELP}/fig.html.xml \ -${BUILDROOT_WEBHELP}/fig.print.xml :\ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml :\ ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml rsync -a --delete ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP} -${BUILDROOT_WEBHELP}/fig.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile fig.webhelp +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.webhelp -${BUILDROOT_WEBHELP}/fig.epub: ${BUILDROOT_WEBHELP}/fig.html.xml +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml cp -r ${BUILDROOT_PROFILE} ${BUILDROOT_WEBHELP}/OEBPS - cd ${BUILDROOT_WEBHELP}/OEBPS; ${MAKE} -f ../../../Makefile fig.epub + cd ${BUILDROOT_WEBHELP}/OEBPS; ${MAKE} -f ../../../Makefile ${SCRIPTBASENAME}.epub -${BUILDROOT_WEBHELP}/fig.slides: ${BUILDROOT_WEBHELP}/fig.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile fig.slides +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slides: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.slides -${BUILDROOT_WEBHELP}/fig.pdf: ${BUILDROOT_WEBHELP}/fig.print.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile fig.pdf +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}fig.pdf clean: rm -rf ${BUILDROOT} -- GitLab