build-markdown_template.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns:dita="http://dita-ot.sourceforge.net"
  3. xmlns:if="ant:if">
  4. <target name="markdown.init">
  5. <condition property="out.ext" value=".md">
  6. <not>
  7. <isset property="out.ext" />
  8. </not>
  9. </condition>
  10. <condition property="markdown.type.prefix" value="_${markdown.type}" else="">
  11. <isset property="markdown.type"/>
  12. </condition>
  13. <condition property="args.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/dita2markdown${markdown.type.prefix}.xsl">
  14. <not>
  15. <isset property="args.xsl" />
  16. </not>
  17. </condition>
  18. <makeurl file="${dita.input.valfile}" property="dita.input.valfile.url" validate="no"/>
  19. <!-- Set to "true" if you get out-of-memory errors during preprocess
  20. while processing very large (thousands of files) document sets. -->
  21. <condition property="dita.markdown.reloadstylesheet" value="false">
  22. <not><isset property="dita.markdown.reloadstylesheet"/></not>
  23. </condition>
  24. </target>
  25. <target name="markdown_github.init">
  26. <property name="markdown.type" value="github"/>
  27. </target>
  28. <target name="markdown_gitbook.init" depends="markdown_github.init">
  29. <condition property="args.markdown.toc.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/map2markdown-cover_gitbook.xsl">
  30. <not>
  31. <isset property="args.markdown.toc.xsl" />
  32. </not>
  33. </condition>
  34. <condition property="args.markdown.toc" value="SUMMARY">
  35. <not>
  36. <isset property="args.markdown.toc" />
  37. </not>
  38. </condition>
  39. <condition property="args.rellinks" value="nofamily">
  40. <not>
  41. <isset property="args.rellinks" />
  42. </not>
  43. </condition>
  44. </target>
  45. <target name="dita2markdown"
  46. depends="build-init,
  47. preprocess,
  48. markdown.init,
  49. dita.topics.markdown.common,
  50. dita.inner.topics.markdown.common,
  51. dita.map.markdown.init,
  52. dita.map.markdown.toc,
  53. dita.out.map.markdown.toc"/>
  54. <target name="dita2markdown_github" depends="markdown_github.init, dita2markdown"/>
  55. <target name="dita2markdown_gitbook" depends="markdown_gitbook.init, dita2markdown"/>
  56. <target name="dita.map.markdown.init" unless="noMap">
  57. <condition property="args.markdown.toc.xsl" value="${dita.plugin.org.lwdita.dir}/xsl/map2markdown-cover.xsl">
  58. <not>
  59. <isset property="args.markdown.toc.xsl" />
  60. </not>
  61. </condition>
  62. <condition property="args.markdown.toc" value="index">
  63. <not>
  64. <isset property="args.markdown.toc" />
  65. </not>
  66. </condition>
  67. </target>
  68. <target name="dita.map.markdown.toc"
  69. unless="noMap" if="old.transform"
  70. description="Build Markdown TOC file">
  71. <xslt basedir="${dita.temp.dir}"
  72. destdir="${output.dir}"
  73. includesfile="${dita.temp.dir}${file.separator}${user.input.file.listfile}"
  74. classpathref="dost.class.path"
  75. style="${args.markdown.toc.xsl}">
  76. <excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
  77. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  78. <dita:extension id="dita.conductor.markdown.toc.param" behavior="org.dita.dost.platform.InsertAction"/>
  79. <mapper type="glob"
  80. from="*${dita.input.filename}"
  81. to="*${args.markdown.toc}${out.ext}" />
  82. <xmlcatalog refid="dita.catalog"/>
  83. </xslt>
  84. </target>
  85. <target name="dita.out.map.markdown.toc"
  86. unless="noMap" if="inner.transform"
  87. description="Build Markdown TOC file,which will adjust the directory">
  88. <xslt basedir="${dita.temp.dir}"
  89. destdir="${output.dir}"
  90. includesfile="${dita.temp.dir}${file.separator}${user.input.file.listfile}"
  91. classpathref="dost.class.path"
  92. style="${args.markdown.toc.xsl}">
  93. <excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
  94. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  95. <dita:extension id="dita.conductor.markdown.toc.param" behavior="org.dita.dost.platform.InsertAction"/>
  96. <mapper type="glob"
  97. from="${user.input.file}"
  98. to="${args.markdown.toc}${out.ext}" />
  99. <xmlcatalog refid="dita.catalog"/>
  100. </xslt>
  101. </target>
  102. <!--requirement 3, old solution-->
  103. <target name="dita.topics.markdown.common" unless="noTopic" if="old.transform">
  104. <xslt basedir="${dita.temp.dir}"
  105. destdir="${output.dir}" includesfile="${dita.temp.dir}${file.separator}${fullditatopicfile}"
  106. reloadstylesheet="${dita.markdown.reloadstylesheet}"
  107. extension="${out.ext}" style="${args.xsl}"
  108. filenameparameter="FILENAME"
  109. filedirparameter="FILEDIR">
  110. <excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
  111. <param name="TRANSTYPE" expression="${transtype}" />
  112. <param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile" />
  113. <param name="DRAFT" expression="${args.draft}" if:set="args.draft" />
  114. <param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl" />
  115. <param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl" />
  116. <param name="PRESERVE-DITA-CLASS" expression="${args.markdown.classattr}" if:set="args.markdown.classattr"/>
  117. <param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
  118. <param name="include.rellinks" expression="${include.rellinks}"/>
  119. <param name="BREADCRUMBS" expression="${args.breadcrumbs}" if:set="args.breadcrumbs"/>
  120. <param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow" />
  121. <param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta" />
  122. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  123. <param name="BASEDIR" expression="${basedir}"/>
  124. <param name="OUTPUTDIR" expression="${output.dir}"/>
  125. <param name="DBG" expression="${args.debug}" if:set="args.debug"/>
  126. <!--dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/-->
  127. <xmlcatalog refid="dita.catalog"/>
  128. </xslt>
  129. </target>
  130. <!--To generate&copy inner files-->
  131. <!--requirement 1,2-->
  132. <target name="dita.inner.topics.markdown.common" unless="noTopic" if="inner.transform">
  133. <xslt basedir="${dita.temp.dir}"
  134. destdir="${output.dir}" includesfile="${dita.temp.dir}${file.separator}${fullditatopicfile}"
  135. reloadstylesheet="${dita.markdown.reloadstylesheet}"
  136. extension="${out.ext}" style="${args.xsl}"
  137. filenameparameter="FILENAME"
  138. filedirparameter="FILEDIR">
  139. <excludesfile name="${dita.temp.dir}${file.separator}${resourceonlyfile}" if:set="resourceonlyfile"/>
  140. <param name="TRANSTYPE" expression="${transtype}" />
  141. <param name="FILTERFILE" expression="${dita.input.valfile.url}" if:set="dita.input.valfile" />
  142. <param name="DRAFT" expression="${args.draft}" if:set="args.draft" />
  143. <param name="ARTLBL" expression="${args.artlbl}" if:set="args.artlbl" />
  144. <param name="GENERATE-TASK-LABELS" expression="${args.gen.task.lbl}" if:set="args.gen.task.lbl" />
  145. <param name="PRESERVE-DITA-CLASS" expression="${args.markdown.classattr}" if:set="args.markdown.classattr"/>
  146. <param name="NOPARENTLINK" expression="${args.hide.parent.link}" if:set="args.hide.parent.link"/>
  147. <param name="include.rellinks" expression="${include.rellinks}"/>
  148. <param name="BREADCRUMBS" expression="${args.breadcrumbs}" if:set="args.breadcrumbs"/>
  149. <param name="INDEXSHOW" expression="${args.indexshow}" if:set="args.indexshow" />
  150. <param name="genDefMeta" expression="${args.gen.default.meta}" if:set="args.gen.default.meta" />
  151. <param name="OUTEXT" expression="${out.ext}" if:set="out.ext" />
  152. <param name="BASEDIR" expression="${basedir}"/>
  153. <param name="OUTPUTDIR" expression="${output.dir}"/>
  154. <param name="DBG" expression="${args.debug}" if:set="args.debug"/>
  155. <!--dita:extension id="dita.conductor.markdown.param" behavior="org.dita.dost.platform.InsertAction"/-->
  156. <!--New,To generate&copy all dita files in the inputmap.dir, not all files in dita.temp.dir -->
  157. <mapper type="regexp"
  158. from="^(${tempdirToinputmapdir.relative.value})(.*?)(\.(\w+))$$"
  159. to="\2${out.ext}"/>
  160. <xmlcatalog refid="dita.catalog"/>
  161. </xslt>
  162. </target>
  163. </project>