build-markdown.xml 7.9 KB

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