code-srv-test/dita-ot-3.6/plugins/org.lwdita/build-markdown_template.xml
2021-03-23 22:38:58 +00:00

254 lines
12 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:dita="http://dita-ot.sourceforge.net"
xmlns:if="ant:if">
<target name="dita2markdown"
depends="build-init,
preprocess,
markdown.init,
markdown.topic,
markdown.map"/>
<target name="markdown.init">
<property name="out.ext" value=".md"/>
<local name="markdown.type.prefix"/>
<condition property="markdown.type.prefix" value="_${markdown.type}" else="">
<isset property="markdown.type"/>
</condition>
<property name="args.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/dita2markdown${markdown.type.prefix}.xsl"/>
<makeurl file="${dita.input.valfile}" property="dita.input.valfile.url" validate="no"/>
<property name="dita.markdown.reloadstylesheet" value="false"/>
</target>
<!-- Map -->
<target name="markdown.map"
depends="markdown.map.init,
markdown.map.toc"
unless="noMap"/>
<target name="markdown.map.init" unless="noMap">
<property name="args.markdown.toc.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/map2markdown-cover.xsl"/>
<property name="args.markdown.toc" value="index"/>
<property name="markdown.toc.generate" value="true"/>
<condition property="_markdown.toc.skip" value="true">
<or>
<isset property="noMap"/>
<isfalse value="${markdown.toc.generate}"/>
</or>
</condition>
</target>
<!--
<target name="dita.map.markdown.toc"
unless="noMap" if="old.transform"
description="Build Markdown TOC file">
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}"
includesfile="${dita.temp.dir}${file.separator}${user.input.file.listfile}"
classpathref="dost.class.path"
style="${args.markdown.toc.xsl}">
<excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
<dita:extension id="dita.conductor.markdown.toc.param" behavior="org.dita.dost.platform.InsertAction"/>
<mapper type="glob"
from="*${dita.input.filename}"
to="*${args.markdown.toc}${out.ext}" />
<xmlcatalog refid="dita.catalog"/>
</xslt>
</target>
<target name="dita.out.map.markdown.toc"
unless="noMap" if="inner.transform"
description="Build Markdown TOC file,which will adjust the directory">
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}"
includesfile="${dita.temp.dir}${file.separator}${user.input.file.listfile}"
classpathref="dost.class.path"
style="${args.markdown.toc.xsl}">
<excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
<dita:extension id="dita.conductor.markdown.toc.param" behavior="org.dita.dost.platform.InsertAction"/>
<mapper type="glob"
from="${user.input.file}"
to="${args.markdown.toc}${out.ext}" />
<xmlcatalog refid="dita.catalog"/>
</xslt>
</target>
-->
<target name="markdown.map.toc" unless="_markdown.toc.skip" description="Build Markdown TOC file">
<markdown.map>
<dita:extension id="dita.conductor.markdown.toc.param" behavior="org.dita.dost.platform.InsertAction"/>
</markdown.map>
</target>
<macrodef name="markdown.map">
<element name="params" optional="true" implicit="true"/>
<sequential>
<local name="markdown.toc.output.dir"/>
<condition property="markdown.toc.output.dir" value="${dita.output.dir}" else="${_dita.map.output.dir}">
<isset property="inner.transform"/>
</condition>
<pipeline message="Convert DITA map to Markdown" taskname="xslt">
<xslt destdir="${markdown.toc.output.dir}"
style="${args.markdown.toc.xsl}">
<ditafileset input="true" format="ditamap"/>
<param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile"/>
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext"/>
<param name="contenttarget" expression="${args.markdown.contenttarget}" if:set="args.markdown.contenttarget"/>
<param name="CSS" expression="${args.css.file}" if:set="args.css.file"/>
<param name="CSSPATH" expression="${user.csspath}" if:set="user.csspath"/>
<param name="OUTPUTCLASS" expression="${args.markdown.toc.class}" if:set="args.markdown.toc.class"/>
<params/>
<mapper type="merge" to="${args.markdown.toc}${out.ext}"/>
<xmlcatalog refid="dita.catalog"/>
</xslt>
</pipeline>
</sequential>
</macrodef>
<!-- Topics -->
<target name="markdown.topic"
depends="markdown.topics.common,
markdown.topics.common.inner"/>
<target name="markdown.topics.common" unless="noTopic" if="old.transform">
<markdown.topics>
<dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/>
<mapper classname="org.dita.dost.ant.types.JobMapper" to="${out.ext}"/>
</markdown.topics>
<!--
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}" includesfile="${dita.temp.dir}${file.separator}${fullditatopicfile}"
reloadstylesheet="${dita.markdown.reloadstylesheet}"
extension="${out.ext}" style="${args.xsl}"
filenameparameter="FILENAME"
filedirparameter="FILEDIR">
<excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
<param name="TRANSTYPE" expression="${transtype}" />
<param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile" />
<param name="DRAFT" expression="${args.draft}" if:set="args.draft" />
<param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl" />
<param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl" />
<param name="PRESERVE-DITA-CLASS" expression="${args.markdown.classattr}" if:set="args.markdown.classattr"/>
<param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
<param name="include.rellinks" expression="${include.rellinks}"/>
<param name="BREADCRUMBS" expression="${args.breadcrumbs}" if:set="args.breadcrumbs"/>
<param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow" />
<param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta" />
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
<param name="BASEDIR" expression="${basedir}"/>
<param name="OUTPUTDIR" expression="${output.dir}"/>
<param name="DBG" expression="${args.debug}" if:set="args.debug"/>
<!- -dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/- ->
<xmlcatalog refid="dita.catalog"/>
</xslt>
-->
</target>
<target name="markdown.topics.common.inner" unless="noTopic" if="inner.transform">
<markdown.topics>
<!--dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/-->
<mapper classname="org.dita.dost.ant.types.JobMapper" to="${out.ext}"/>
</markdown.topics>
<!--
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}" includesfile="${dita.temp.dir}${file.separator}${fullditatopicfile}"
reloadstylesheet="${dita.markdown.reloadstylesheet}"
extension="${out.ext}" style="${args.xsl}"
filenameparameter="FILENAME"
filedirparameter="FILEDIR">
<excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
<param name="TRANSTYPE" expression="${transtype}" />
<param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile" />
<param name="DRAFT" expression="${args.draft}" if:set="args.draft" />
<param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl" />
<param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl" />
<param name="PRESERVE-DITA-CLASS" expression="${args.markdown.classattr}" if:set="args.markdown.classattr"/>
<param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
<param name="include.rellinks" expression="${include.rellinks}"/>
<param name="BREADCRUMBS" expression="${args.breadcrumbs}" if:set="args.breadcrumbs"/>
<param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow" />
<param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta" />
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
<param name="BASEDIR" expression="${basedir}"/>
<param name="OUTPUTDIR" expression="${output.dir}"/>
<param name="DBG" expression="${args.debug}" if:set="args.debug"/>
<!- -dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/- ->
<!- -New,To generate&copy all dita files in the inputmap.dir, not all files in dita.temp.dir - ->
<mapper type="regexp"
from="^(${tempdirToinputmapdir.relative.value})(.*?)(\.(\w+))$$"
to="\2${out.ext}"/>
<xmlcatalog refid="dita.catalog"/>
</xslt>
-->
</target>
<macrodef name="markdown.topics">
<element name="params" optional="true" implicit="true"/>
<sequential>
<pipeline message="Convert DITA topic to Markdown" taskname="xslt">
<xslt destdir="${dita.output.dir}"
reloadstylesheet="${dita.markdown.reloadstylesheet}"
extension="${out.ext}"
style="${args.xsl}"
filenameparameter="FILENAME"
filedirparameter="FILEDIR">
<ditafileset format="dita" processingRole="normal"/>
<param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile"/>
<param name="CSS" expression="${args.css.file}" if:set="args.css.file"/>
<param name="CSSPATH" expression="${user.csspath}" if:set="user.csspath"/>
<param name="HDF" expression="${args.hdf}" if:set="args.hdf"/>
<param name="HDR" expression="${args.hdr}" if:set="args.hdr"/>
<param name="FTR" expression="${args.ftr}" if:set="args.ftr"/>
<param name="DRAFT" expression="${args.draft}" if:set="args.draft"/>
<param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl"/>
<param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl"/>
<param name="PRESERVE-DITA-CLASS" expression="${args.markdown.classattr}" if:set="args.markdown.classattr"/>
<param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
<param name="include.rellinks" expression="${include.rellinks}"/>
<param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow"/>
<param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta"/>
<param name="OUTEXT" expression="${out.ext}" if:set="out.ext"/>
<param name="BASEDIR" expression="${dita.dir}"/>
<param name="OUTPUTDIR" expression="${dita.output.dir}"/>
<param name="defaultLanguage" expression="${default.language}"/>
<params/>
<xmlcatalog refid="dita.catalog"/>
</xslt>
</pipeline>
</sequential>
</macrodef>
<!-- GitBook -->
<target name="dita2markdown_gitbook" depends="markdown_gitbook.init, dita2markdown"/>
<target name="markdown_gitbook.init" depends="markdown_github.init">
<condition property="args.markdown.toc.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/map2markdown-cover_gitbook.xsl">
<not>
<isset property="args.markdown.toc.xsl" />
</not>
</condition>
<condition property="args.markdown.toc" value="SUMMARY">
<not>
<isset property="args.markdown.toc" />
</not>
</condition>
<condition property="args.rellinks" value="nofamily">
<not>
<isset property="args.rellinks" />
</not>
</condition>
</target>
<!-- GFM -->
<target name="dita2markdown_github" depends="markdown_github.init, dita2markdown"/>
<target name="markdown_github.init">
<property name="markdown.type" value="github"/>
</target>
</project>