On Fri, 14 Mar 2025 13:46:09 GMT, Hannes Wallnöfer <hann...@openjdk.org> wrote:

>> Please review an enhancement to JavaDoc search to provide more context and a 
>> nicer layout for search results. This adds a new "kind" field to the search 
>> index to describes search items, such as "Static method", "Interface, or 
>> "System property" etc. Additionally, the drop-down search box uses a new 
>> two-column layout for search results to display this information. Previously 
>> we always displayed fully qualified names and signatures, now we mostly 
>> display simple names except if the user entered a qualified search term. 
>> 
>> The screenshot below shows an example of the new layout, you can of course 
>> [test the feature yourself](https://cr.openjdk.org/~hannesw/8345555/api.03/) 
>> (top-level files only). Note that the change affects moslty the drop-down 
>> search menu, the standalone search page was slightly updated to work with 
>> the new data but is otherwise unchanged.
>> 
>> <img width="659" alt="Screenshot 2025-02-17 at 14 56 52" 
>> src="https://github.com/user-attachments/assets/fb88a839-d3f8-4a27-957a-f1158b3ecff8";
>>  />
>> 
>> On the Java side, the feature is implemented by adding a new 
>> `IndexItem.Kind` enum class listing all possible kinds of index items, which 
>> include API `Element`s, JavaDoc tags and summary pages. The purpose if this 
>> enum is to send its `ordinal`s to the browser via JSON where it is used as 
>> array index into an array of localized messages. This means that the Java 
>> enum and JavaScript array have to be kept in sync manually, but it's 
>> relatively rare that new language elements or JavaDoc tags get added so that 
>> shouldn't be a problem.
>> 
>> There is a small change in JavaDoc HTML output because "System property" and 
>> "External specification" are now kinds of tags and no longer used as 
>> descriptions. On index pages they are now listed as "System property in 
>> package foo" rather than "Search tag in package foo" with the description 
>> "System Tag" added in the next line. 
>> 
>> Only actual `{@index}` tags can now have a description, which continues to 
>> be added as second line in index pages. In search, the description is now 
>> appended to the search term separated by "-", which makes it more visible 
>> and allows it to be searched for: 
>> https://cr.openjdk.org/~hannesw/8345555/api.02/search.html?q=tool&c=searchTags
>> 
>> On the JavaScript side, changes went a bit further than originally planned. 
>> I finally fixed the format of constructors not to show the class name twice, 
>> which required some retuning of ranking of search results. I used this 
>> occasion to add lots of comments to ...
>
> Hannes Wallnöfer has updated the pull request incrementally with two 
> additional commits since the last revision:
> 
>  - Add bug id to more tests
>  - Update copyright years
>    
>    Note: any commit hashes below might be outdated due to subsequent
>    history rewriting (e.g. git rebase).
>    
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
>  due to 973bf1362eb
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java
>  due to 65de882c21a
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java
>  due to 973bf1362eb
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SystemPropertyTaglet.java
>  due to 973bf1362eb
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/TagletWriter.java
>  due to 973bf1362eb
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlAttr.java due to 
> 008c331d854
>     + update 
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/html/HtmlTag.java due to 
> 008c331d854
>     + update test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java due 
> to 973bf1362eb
>     + update 
> test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java
>  due to 973bf1362eb
>     + update 
> test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
>  due to 973bf1362eb
>     + update 
> test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java due to 
> 973bf1362eb
>     + update 
> test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java 
> due to 973bf1362eb

I've checked the new CSS on multiple browsers. Copyright years and bug ids have 
been updated.

Latest change looks good!

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

Marked as reviewed by nbenalla (Committer).

PR Review: https://git.openjdk.org/jdk/pull/23666#pullrequestreview-2685664543

Reply via email to