Material MkDocs theme for Dokka, Kotlin's documentation engine dokka-mkdocs.opensavvy.dev
kotlin dokka documentation material-mkdocs

merge: Use an aggregation plugin master

Dokka generates the documentation for each module independently. Until now, we used our custom Gradle plugin to combine the modules together. However, that lead to multiple problems (#21, #18). The structure of the project was: ``` + tree docs/website/docs/api docs/website/docs/api ├── -example%20app │   ├── index.md │   ├── opensavvy.dokka.material.mkdocs.example │   │   ├── index.md │   │   └── main.md │   └── package-list ├── -library%20module │   ├── index.md │   ├── opensavvy.dokka.material.mkdocs.example │   │   ├── -example │   │   │   ├── -example.md │   │   │   ├── counter.md │   │   │   ├── foo.md │   │   │   └── index.md │   │   ├── -example-alias │   │   │   └── index.md │   │   ├── -example.md │   │   ├── another-top-level-function.md │   │   ├── foo2.md │   │   ├── index.md │   │   └── top-level-function.md ``` Note the URL-encoded `%20` in the module names: they were using the Dokka pretty-print name instead of its technical name. For a real like example, here is an URL from the KtMongo documentation: ``` https://ktmongo.opensavvy.dev/api/-kotlin%20-b-s-o-n%20%E2%80%A2%20-based%20on%20the%20official%20-mongo-d-b%20implementation/index.html ``` Whereas, ideally, it should be: ``` https://ktmongo.opensavvy.dev/api/bson-official/index.html ``` which is much easier to read, and also more SEO-friendly. Also, all links to/from module header pages were broken because of our incorrect implementation of `LocationProvider`. With this MR, we have a proper aggregation plugin configured, which can solve all these problems. Here is the new structure: ``` + tree docs/website/docs/api docs/website/docs/api ├── example-app │   ├── index.md │   └── opensavvy.dokka.material.mkdocs.example │   ├── index.md │   └── main.md ├── example-core │   ├── index.md │   └── opensavvy.dokka.material.mkdocs.example │   ├── -example │   │   ├── -example.md │   │   ├── counter.md │   │   ├── foo.md │   │   └── index.md │   ├── -example-alias │   │   └── index.md │   ├── -example.md │   ├── another-top-level-function.md │   ├── foo2.md │   ├── index.md │   └── top-level-function.md ``` Thanks to the help of the Dokka team in https://github.com/Kotlin/dokka/issues/4074. Closes #21, #12 and #18. See merge request opensavvy/automation/dokka-material-mkdocs!85