-
Notifications
You must be signed in to change notification settings - Fork 452
Description
Background
Dokka 1.4 had a page that listed all types from all packages, and it (as of now) still exists for stdlib: link
When moving stdlib to the new version of Dokka and configuring redirects, no such page was found in the new Dokka, so it's unclear where the old link should point to.
However, the page seems useful, so it's worth replicating it in some way. If it proves to be useful, it can be improved and iterated upon.
Feature Requirements
Dokka should have a page that looks like the all-types page from Dokka 1.4 (a screenshot can be seen above).
The main page layout and design should be the same as what Dokka currently has for the package listing, a mock-up below:
Meaning,
- It should take the same width as the main page content.
- The project / module name should be at the top (note: the property is the same:
DokkaConfiguration#moduleName
) - All types must be sorted alphabetically, but by type name (without packages).
- Each type entry should have a fully qualified name (including packages)
- Each type should have platform indicators on the right.
- (stdlib-specific) Each type should have a "Since Kotlin" indicator, similar to how it's done now (screenshot below).
- Each type should have a brief description (first paragraph of the KDoc, note: see function
firstParagraphBrief
), all links and formatting should be resolvable. - The link to this page should be at the bottom of the module/project page, similar to how it's done in Dokka 1.4.
- The platform/source set filter in the header should work.
Out of scope / For next iterations
Some gray / unknown / questionable areas that should be addressed in the following iterations as separate issues, as soon as we get some feedback from the libraries team and our users.
- Multi-module projects are out of scope in the first iteration (so no common all-types page across all modules).
- No need to mark deprecated types (no strikethrough text or deprecation message)
- The old page has some entries for
extensions in package com.example
- it's unclear how it's supposed to work, so it should be skipped for now.