From e4e33815fe0cef165431d68a1b4a576230994229 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Fri, 5 May 2017 15:37:08 +0200 Subject: [PATCH] First draft lacking mathml and proper video support --- ws/Docbook/{Extensions => }/.project | 0 ws/Docbook/Extensions/Tdata/Makefile | 5 ++-- ws/Docbook/Preprocess/Xsl/common.xsl | 2 ++ ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl | 2 +- ws/Docbook/Preprocess/Xsl/docbook2html.xsl | 14 ++++++++++- .../Preprocess/Xsl/docbookExtractFig.xsl | 24 ++++++++++++++++--- ws/Docbook/Preprocess/make.image | 22 +++++++++++++++++ 7 files changed, 62 insertions(+), 7 deletions(-) rename ws/Docbook/{Extensions => }/.project (100%) create mode 100644 ws/Docbook/Preprocess/make.image diff --git a/ws/Docbook/Extensions/.project b/ws/Docbook/.project similarity index 100% rename from ws/Docbook/Extensions/.project rename to ws/Docbook/.project diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile index 1c50d204d..6cfba9554 100644 --- a/ws/Docbook/Extensions/Tdata/Makefile +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -74,8 +74,9 @@ ${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${BUILDROOT_SRC}/${SCRIPTBASENAME}_print.xml cd ${BUILDROOT_SRC}; ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl mkdir -p ${BUILDROOT_SRC}/_Resources; tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C ${BUILDROOT_SRC}/_Resources - find ${BUILDROOT_SRC} -name Ref -and -type d -exec cp ${DBOOK_XSL_CUSTOM}/pre.tex {} \; - $(MAKE) -j ${numCores} -f make.image + cp ${DBOOK_XSL_PREPROCESS}/make.image ${BUILDROOT_SRC} + cd ${BUILDROOT_SRC}; $(MAKE) -f make.image +# cd ${BUILDROOT_SRC}; $(MAKE) -j ${numCores} -f make.image epub: ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl-2.1.3.jar" \ diff --git a/ws/Docbook/Preprocess/Xsl/common.xsl b/ws/Docbook/Preprocess/Xsl/common.xsl index e95853eee..df264c261 100644 --- a/ws/Docbook/Preprocess/Xsl/common.xsl +++ b/ws/Docbook/Preprocess/Xsl/common.xsl @@ -4,6 +4,8 @@ exclude-result-prefixes="xs" version="2.0"> + + <xsl:template name="hdm.get.leftmost.of.separator"> <xsl:param name="path"/> <xsl:param name="separator"/> diff --git a/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl b/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl index 5385358c0..0b92d1a7a 100644 --- a/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl +++ b/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl @@ -20,7 +20,7 @@ <xsl:template match="@fileref"> <xsl:attribute name="fileref"> - <xsl:text>../</xsl:text> <!-- account for descend into "target" subdir --> + <xsl:text>_Resources/</xsl:text> <!-- account for descend into "target" subdir --> <xsl:if test="ancestor::*/@xml:base"> <xsl:call-template name="hdm.get.leftmost.of.separator"> <xsl:with-param name="path" select="ancestor::*/@xml:base"/> diff --git a/ws/Docbook/Preprocess/Xsl/docbook2html.xsl b/ws/Docbook/Preprocess/Xsl/docbook2html.xsl index f465eb332..53793d6f7 100644 --- a/ws/Docbook/Preprocess/Xsl/docbook2html.xsl +++ b/ws/Docbook/Preprocess/Xsl/docbook2html.xsl @@ -29,7 +29,7 @@ select="parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref"/> <xsl:with-param name="separator" select="'.'"/> </xsl:call-template> - <xsl:text>.pdf</xsl:text> + <xsl:text>.annotated.pdf</xsl:text> </xsl:attribute> <xsl:text>(Animated PDF Version)</xsl:text> </uri> @@ -44,6 +44,18 @@ </xsl:if> </xsl:template> + + <xsl:template match="db:imagedata[ends-with(@fileref, '.fig')]"> + + <xsl:copy> + <xsl:attribute name="fileref"> + <xsl:value-of select="@fileref"/> + <xsl:text>.svg</xsl:text> + </xsl:attribute> + <xsl:apply-templates select="@*[not(name(.) = 'fileref')] | node()"/> + </xsl:copy> + + </xsl:template> <xsl:template match="db:annotation[@role='slide']"> <db:para> diff --git a/ws/Docbook/Preprocess/Xsl/docbookExtractFig.xsl b/ws/Docbook/Preprocess/Xsl/docbookExtractFig.xsl index b928704ba..5f0fcdd23 100644 --- a/ws/Docbook/Preprocess/Xsl/docbookExtractFig.xsl +++ b/ws/Docbook/Preprocess/Xsl/docbookExtractFig.xsl @@ -6,10 +6,28 @@ <xsl:include href="common.xsl"/> <xsl:template match="/"> - <xsl:apply-templates select="//d:imagedata[ends-with(@fileref, '.fig') ]" mode="goik"/> + + <xsl:variable name="figFiles" select="//d:imagedata[ends-with(@fileref, '.fig') ]" /> + + <xsl:apply-templates select="//d:imagedata[ends-with(@fileref, '.fig') ]" mode="printLatex"/> + + <xsl:result-document method="text" encoding="utf-8" href="_Resources/_mediaobjects.list" > + <xsl:text>all: </xsl:text> + + <xsl:for-each select="$figFiles"> + <xsl:value-of select="@fileref"/> + <xsl:text>.pdf </xsl:text> + </xsl:for-each> + + <xsl:for-each select="//d:videodata[ends-with(@fileref, '.webm') ]"> + <xsl:value-of select="@fileref"/> + <xsl:text>.mp4 </xsl:text> + </xsl:for-each> + + </xsl:result-document> </xsl:template> - <xsl:template match="d:imagedata" mode="goik"> + <xsl:template match="d:imagedata" mode="printLatex"> <xsl:variable name="fullFileName" select="@fileref"/> <xsl:variable name="dirPath"> <xsl:call-template name="hdm.get.leftmost.of.separator"> @@ -50,7 +68,7 @@ </xsl:text> <xsl:result-document method="text" encoding="utf-8" href="{$fullGenerateBasename}.tex" > - <xsl:text>\input{pre.tex} + <xsl:text>\input{/usr/share/hdm-docbook-xsl/Preprocess/pre.tex} \begin{mycenterframe}{</xsl:text> <xsl:apply-templates select="." mode="object.title.markup.textonly"/> <xsl:text>} diff --git a/ws/Docbook/Preprocess/make.image b/ws/Docbook/Preprocess/make.image new file mode 100644 index 000000000..3fb44e65a --- /dev/null +++ b/ws/Docbook/Preprocess/make.image @@ -0,0 +1,22 @@ +include _Resources/_mediaobjects.list + +# image and video generating rules + +%.pdf:%.tex + cd $(@D)/..; env R=`echo $(@D)|sed -e s/\\\\/Generate//` perl -i -p -e 's/0[ ]([^ \/]+).(eps|png|jpg)/0 ${MYWD}\/$$ENV{'R'}\/$$1.$$2/g' $(*F).fig + cd $(@D)/..; fig2pdf --nogv $(*F).fig; mv $(*F).pdf $(*F).fig.pdf + cd $(@D); fig2mpdf -l -m ../$(*F).fig + cd $(@D)/..;pdflatex Generate/$(*F) + +%.fig.pdf %.fig.svg:%.fig + cd $(@D); fig2pdf --nogv $(*F).fig; pdf2svg $(*F).pdf $(*F).fig.svg ; mv $(*F).pdf $(*F).fig.pdf + cd $(@D)/Generate; fig2mpdf -l -m ../$(*F).fig + cd $(@D); pdflatex Generate/$(*F); mv $(*F).pdf $(*F).animate.pdf + + +%.webm.mp4:%.webm + avconv -y -i $< -vcodec libx264 -acodec aac -strict -2 -r 10 $<.mp4 + avconv -i $< -vframes 1 $<.png + + +#avconv -y -i q.webm -vcodec libx264 -acodec aac -strict -2 -r 10 target/src/_Resources/Video/Ref/Video/jdbcDriverConfig.webm.mp4 -- GitLab