254 lines
12 KiB
XML
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© 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>
|