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/


Reply via email to