RFR: JDK-8298405: Support Markdown in the standard doclet [v2]

Pavel Rappo prappo at openjdk.org
Mon Jan 9 18:00:00 UTC 2023


On Mon, 9 Jan 2023 17:44:35 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:

>> Support for Markdown comments in the standard doclet.
>> 
>> To enable Markdown in a comment, start the comment with `/**md` followed by whitespace.  The syntax is as defined for CommonMark.
>> 
>> The work is in 3 parts:
>> 
>> 1. Update the Compiler Tree API to support Markdown tree nodes, containing strings of (uninterpreted) Markdown source code.
>> 2. Import commonmark-java into the `jdk.javadoc` module, to be able to convert Markdown strings to HTML.
>> 3. Update the standard doclet, to leverage the preceding two parts, to translate Markdown in documentation comments to `Content` nodes.
>> 
>> There are new tests both for the low level work in the Compiler Tree API, and for the overall high-level work in the doclet.
>
> Jonathan Gibbons has updated the pull request incrementally with five additional commits since the last revision:
> 
>  - Update copyright years
>  - Rename FFFC variable
>    Share Markdown parser and renderer in instance of MarkdownHandler
>  - Move CommonMark to new internal module.
>    Add legal header to imported CommonMark source files
>    Always use Text nodes inside AttributeTree values
>    Unwrap <p> from "simple" paragraphs
>  - Always use Text nodes inside AttributeTree values
>  - Update to CommonMark 0.21.

src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java line 47:

> 45: 
> 46:     private static final Map<String, String> NAMED_CHARACTER_REFERENCES = readEntities();
> 47:     private static final String ENTITY_PATH = "/org/commonmark/internal/util/entities.txt";

I see that you've added the missing `entities.properties` file, but renamed it to `entities.txt`. IIRC from our offline chat, it's due to how JDK build treats `.properties` files.

I wonder what would be better: (a) to keep the original extension, but amend the build to ignore this file, or (b) to do what you've done and possibly suggest a PR for CommonMark to do the same.  

On the one hand, it's not a true Java `.properties` file as one might've though from its extension. On the other hand, this change of yours diverge us from the original snapshot of CommonMark.

-------------

PR: https://git.openjdk.org/jdk/pull/11701


More information about the compiler-dev mailing list