-
Notifications
You must be signed in to change notification settings - Fork 6
Explore migrating away from Asciidoctor #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
4.x was finally released for the Asciidoctor Gradle Plugin, so the deprecation warnings are now gone which is nice. Still, would like to explore other documentation tools. |
For the two nice to have points: Versioned documentation is dependent on the tool being used. With the current Asciidoctor setup, versioned docs are created through subfolders and committed to a branch for GitHub Pages to use. VitePress does not currently provide support for versioned docs (see 109). The same setup for Asciidoctor could be replicated, but the Material for Mkdocs recommends using mike from the docs. From browsing GitHub, mike takes the same approach creating subfolders of the versioned docs, for example: https://github.com/airtai/faststream/tree/gh-pages ![]() For publishing the docs without the Gradle plugin, GitHub Actions does not really support versione , instead a archive containing the docs replaces what is already deployed (see 50). So, you would need to keep each versioned docs in the main branch which isn't really nice IMO to deal with. So, I think continue using the Gradle plugin since it works well today. |
Also, with VitePress (Node.js in general), can use the Mkdocs requires Python installed globally. |
VitePress does not support multi-region snippets which is required since the samples shown are testing. So they must be a full example in order to test, but only select regions are shown in documentation. |
Antora is another option to look at. |
I like Docusaurus' stance on versioned docs:
The documentation itself for this plugin rarely, if ever changes. So this makes the versioning nice to have requirement effectively moot. It even simplifies the build for the docs since publication can be handled by This brings me back to VitePress or Antora. From experimenting, VitePress was much more intuitive to get started with a simplier project structure. Docusaurus was excluded primarily because its structure seems dated relying on babel. |
I am here #109 Seeing your concerns, I also encountered the same problem Have you made a decision on which tool to use so far? Perhaps docusaurus can be used first, and after the official implementation of Vitepress, version control may only be possible with Vitepress 2. x. However, before that, docusaurus can be used. What do you think? |
Not yet, but I'm leaning towards VitePress, but it requires some workarounds to get project properties/values into the documentation. For example, a custom Gradle task that gets hooked in by loading the generated file. While somewhat easy to do, it was another thing to maintain whereas with Asiidoctor I could just plugin the values in using the Gradle extension. VitePress also does not support multi region snippets which could be worked around by some custom reader/generator that strips the unneeded lines and those generated files would be included in the final docs. I'll need to experiment more by migrating this project's documentation to all approaches and compare further. |
Antora works out nicely with the existing setup since it is already setup for Asciidoc, but in order to customize Antora's UI, you need to either provide a custom UI bundle or custom template (Handlebars). I'm not interested in maintaining a dedicated UI project for Antora. I am also not interested in maintaining a HTML Handlebars template albeit the template content is minimal. So Antora is excluded. The remaining candidates are VitePress and Docusaurus. I previously exluded Docusaurus, but I'm going to need to take a deeper dive. |
There is a small POC with VitePress that is largely working: https://github.com/ciscoo/cxf-codegen-gradle/tree/vitepress |
Did a POC on Antora even though I disregarded a few days ago: https://github.com/ciscoo/cxf-codegen-gradle/tree/antora Docusaurus requires quite a bit of cermony just to get started with a lot of configuration that is just a bit overloaded for my likings. The main pain point with VitePress is migrating from AsciiDoc to Markdown which isn't bad, just a mundane task. VitePress it is. |
The Gradle plugin is not actively maintained with little to no activity.Currently, there is a warning raised when building the documentation:This issue is meant to explore other documentation tools.
The following are strong candidates:
The following requirements are a must have:
The following are nice to have:
The text was updated successfully, but these errors were encountered: