Skip to content

Add AsciiDoc -> Markdown support #757

@ysb33r

Description

@ysb33r

Now that 5.0 development is in progress, it is time to return to this concept. I believe we can probably integrate DownDoc in a transparent way.

  • Add a new toolchain type for DownDoc. This will not be asciidoctoj or asciidoctor.js based.
  • It will require Node to be used under the hood, so it would probably use so common code from the asciidoctor.js toolchain.
  • It will use a different engine (we'll call it DownDoc) and different launcher under the hood, but it will still be able to be launched from an AsciidoctorTask even though it will not go through an Asciidoctor engine itself.
  • It will automatically add the downdoc` NPM package, but the build script author will have the options to change the version in the same way the new model allows various compoenents to have version modified from the default versions.

Applying the plugin would effectively perform

import org.asciidoctor.gradle.downdoc.toolchains.DownDoc
import org.asciidoctor.gradle.downdoc.formatters.Markdown
asciidoc {
  toolchains {
    downdoc(DownDoc) {
      registeredOutputFormatters {
        markdown(Markdown) {
        }
      }
    }
  }
}

A build script author will then be able to do

asciidoc {
  publications {
    main {
      sourceSet {
      }
      output('asciidoctorj', 'html')
      output('downdoc', 'markdown')
    }
  }
}

And a Gradle run could produce both HTML and Markdown from the same source set

Metadata

Metadata

Assignees

No one assigned

    Labels

    5.xIssues related to 5.x series

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions