I haven't seen webrev.01, so I'll describe what I see in webrev.02.
Some of the affected tests have been made to check for <dl> elements, where they
previously didn't:
"<dl class=\"notes\">"
For the record, it's not that those <dl> elements were not in the HTML in the
first place, it's just the tests are now checking that those <dl>s have
a particular form.
<span class="..."> with the classes like "paramLabel", "returnLabel",
"seeLabel",
"simpleTagLabel", and "throwsLabel" have gone from the associated <dt>s.
I can see that not all of the affected tests have been updated with this issue
number in their @bug. I skimmed through all those tests and I can see that it
makes sense. The tests have been tidied up a bit too. Thanks!
I agree with Hannes, this whole change makes HTML output more economical and
cleaner. This new structure makes much more sense.
As for that CSS class name, "notes". I don't have a strong opinion. Hannes and
yourself know that area much better than I do. So I trust your judgment,
especially that you've mentioned you had something (related) in the works that
gives you a broader context for this particular choice of name.
Nits
====
1. Since we are in this area, could you please fix the preexisting bad grammar?
That is, all the occurrences of "overriden" in "TestExternalOverridenMethod"
and everywhere under the test/langtools/jdk/javadoc/doclet/testPrivateClasses
directory.
2. Please escape "@param" in the top-level comment of the ParamTaglet type
with {@code ...}.
3. There's a line in "TestOverrideMethods" whose indentation is a bit off.
Otherwise looks good.
-Pavel
> On 26 Feb 2020, at 21:41, Jonathan Gibbons <[email protected]>
> wrote:
>
> Updated webrev, with one additional change. The new CSS class name is
> changed from "blockTags" to "notes". This was done automagically in a single
> command, with one manual fixup to move the position of the renamed member in
> the list, which is still alphabetically sorted (for now).
>
> I'm suggesting this rename now, because upcoming work suggests there are more
> definition lists involved that need to be subject to cleanup, for which
> "blockTags" is not a good CSS class name. The proposed name "notes" is
> intended to cover the lists generated for block tags, the lists for supertype
> and subtype information for a class, and the supertype information for an
> overriding method.
>
> New webrev:
>
> Webrev: http://cr.openjdk.java.net/~jjg/8239804/webrev.02/
>
> -- Jon
>
>
> On 02/25/2020 02:32 PM, Jonathan Gibbons wrote:
>> Hannes,
>>
>> Thanks for all the feedback; comments inline.
>>
>> New webrev:
>>
>> Webrev: http://cr.openjdk.java.net/~jjg/8239804/webrev.01/
>>
>> -- Jon
>>
>>
>> On 02/25/2020 07:05 AM, Hannes Wallnöfer wrote:
>>> Hi Jon,
>>>
>>> I think this is a good change overall. Less HTML tags, less CSS classes
>>> while still providing the same result.
>>>
>>> A few minor issues:
>>>
>>> - The new imports in ParamTaglet.java and MethodWriterImpl.java are not
>>> used.
>> Fixed.
>>>
>>> - In line 297 of MethodWriterImpl.java there’s a use of writer.contents
>>> that should use the local contents variable (or get rid of local var and
>>> just use writer.contents)
>> I'll keep the local variable, since it's used in a few places, and fix line
>> 297.
>>>
>>> - In TagletWriter#getParamHeader the javadoc @param tag needs to be
>>> renamed/updated as well.
>> Oops, yes. Fixed.
>>>
>>> - Given its slightly broader usage I’m not fully convinced about the
>>> „blockTags“ name, but can’t think of anything better. I’m fine with keeping
>>> the name for now, maybe we'll find something better in the upcoming CSS
>>> cleanup.
>> I'm not wildly enthusiastic about the name either, and like you, I can't
>> think of anything better right now. But, the only anomaly is the use for
>> overriding methods, and it's hard to come up with a meaningful term for both
>> block tags and overriding info. There's words like "info", "more info"
>> which are very generic; "details" is too specific and already has a
>> different meaning on the most of the same pages.
>>
>> There's also the CSS name "block" being used, that means something else, but
>> that is a better candidate to be renamed!
>>
>>>
>>> - I got very confused when I saw one of the CSS styles you removed in the
>>> generated docs in one of the module-overview.html pages. I even thought the
>>> generated docs were built with some other JDK, until I realised some of the
>>> taglets reside outside the src directory. Below is a patch that updates
>>> these taglet classes to conform to the new output. I think it should be
>>> included with this patch for consistency.
>>
>> Yeah, I know about the other taglets, and was going to handle them
>> separately, but now they've come up here, I'll fix them here as well.
>>
>>>
>>> diff -r 4f902f017def
>>> make/jdk/src/classes/build/tools/taglet/ModuleGraph.java
>>> --- a/make/jdk/src/classes/build/tools/taglet/ModuleGraph.java Tue Feb 25
>>> 09:46:12 2020 +0100
>>> +++ b/make/jdk/src/classes/build/tools/taglet/ModuleGraph.java Tue Feb 25
>>> 15:32:53 2020 +0100
>>> @@ -74,7 +74,7 @@
>>> + "</span>";
>>> }
>>> return "<dt>"
>>> - + "<span class=\"simpleTagLabel\">Module Graph:</span>\n"
>>> + + "Module Graph:\n"
>>> + "</dt>"
>>> + "<dd>"
>>> + "<a class=moduleGraph href=\"" + imageFile + "\">"
>>> diff -r 4f902f017def make/jdk/src/classes/build/tools/taglet/ToolGuide.java
>>> --- a/make/jdk/src/classes/build/tools/taglet/ToolGuide.java Tue Feb 25
>>> 09:46:12 2020 +0100
>>> +++ b/make/jdk/src/classes/build/tools/taglet/ToolGuide.java Tue Feb 25
>>> 15:32:53 2020 +0100
>>> @@ -95,7 +95,7 @@
>>> return "";
>>> StringBuilder sb = new StringBuilder();
>>> - sb.append("<dt class=\"simpleTagLabel\">Tool Guides:</dt>\n")
>>> + sb.append("<dt>Tool Guides:</dt>\n")
>>> .append("<dd>");
>>> boolean needComma = false;
>>>
>>>
>>> —
>>> Hannes
>>>
>>>
>>>> Am 22.02.2020 um 01:57 schrieb Jonathan Gibbons
>>>> <[email protected]>:
>>>>
>>>> Please review a change to cleanup/simplify the HTML and CSS used to
>>>> present block tags, like @see, @since, etc.
>>>>
>>>> Currently, the information from these tags is presented in a definition
>>>> list (<dl>). The labels, in the <dt> nodes, are wrapped in <span> using an
>>>> inconsistent set of CSS class names. Sometimes the names are shared,
>>>> sometimes they are unique.
>>>>
>>>> With this change, a new CSS class "blockTags" is put on the enclosing <dl>
>>>> node, and the <span> nodes wrapping the individual labels removed. This
>>>> does mean that it is no longer possible to style some of the labels
>>>> individually, but the use of CSS class names that were sometimes shared,
>>>> sometime unique, makes it unlikely that anyone tried to do this. If (and
>>>> only if) there is a demand to style tags individually, that should be
>>>> handled as a new Enhancement request, that might involve putting
>>>> tag-specific CSS class names on the <dt> and <dd> nodes for each tag (i.e.
>>>> without an additional <span>).
>>>>
>>>> There is one anomaly. The definition list for the block tags for a method
>>>> is also used to present information when the method overrides or
>>>> implements a method from a supertype. That makes the new CSS class name of
>>>> "blockTags" slightly less than ideal. Suggestions for a better name are
>>>> welcome.
>>>>
>>>> The code to generate the overall list of tags for any element is not as
>>>> centralized as might be desired. This changeset does not attempt to fix
>>>> that.
>>>>
>>>> There should be no visible change to docs generated using the default
>>>> stylesheet when the docs are viewed in a browser.
>>>>
>>>> The src/ code changes are relatively simple, and just consist of adjusting
>>>> the HTML and CSS that is generated. In some cases, there is some
>>>> additional code cleanup. About 30 tests are affected, although the changes
>>>> are generally simple and localized. The bug number has been added to the
>>>> @bug list for a subset of the tests; there are no new additional tests.
>>>>
>>>> ---
>>>>
>>>> A separate exercise would be to identify other <dl> nodes generated by the
>>>> doclet, and to add a CSS class to those nodes to identify the kind of list.
>>>>
>>>> -- Jon
>>>>
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8239804
>>>> Webrev: http://cr.openjdk.java.net/~jjg/8239804/webrev.00/
>>>>
>>
>