On Sat, 15 Mar 2025 06:48:52 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 one > additional commit since the last revision: > > Fix maximum size for search menu > - Correctly calculate available vertical space > - Align width with page content with visible sidebar > - Allow more width on small displays > - Add padding to result text label Marked as reviewed by liach (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23666#pullrequestreview-2687984553