chore: migrate to gitbook (#334)

This commit is contained in:
Ryan Brink
2022-09-29 15:41:35 -05:00
committed by GitHub
parent 6d6836927f
commit 622dd6a5e7
102043 changed files with 11 additions and 7228322 deletions

View File

@ -1,52 +0,0 @@
# Module kompendium-core
This is where the magic happens. This module houses all the reflective goodness that powers Kompendium.
It is also the only mandatory client-facing module for a basic setup.
# Package io.bkbn.kompendium.core
## Plugins
As mentioned in the root documentation, there are two core Kompendium plugins.
1. The application level plugin that handles app level metadata, configuring up your OpenAPI spec, managing custom data
types, etc.
2. The route level plugin, which is how users declare the documentation for the given route. It _must_ be installed on
every route you wish to document
### Serialization
Kompendium relies on your API to provide a properly-configured `ContentNegotiator` in order to convert the `OpenApiSpec`
into JSON. The advantage to this approach is that all of your data classes will be serialized precisely how you define.
The downside is that issues could exist in serialization frameworks that have not been tested. At the moment, Jackson,
Gson and KotlinX serialization have all been tested. If you run into any serialization issues, particularly with a
serializer not listed above, please open an issue on GitHub 🙏
Note for Kotlinx ⚠️
You will need to include the `SerializersModule` provided in `KompendiumSerializersModule` in order to serialize
any provided defaults. This comes down to how Kotlinx expects users to handle serializing `Any`. Essentially, this
serializer module will convert any `Any` serialization to be `Contextual`. This is pretty hacky, but seemed to be the
only way to get Kotlinx to play nice with serializing `Any`. If you come up with a better solution, definitely go ahead
and open up a PR!
## NotarizedApplication
TODO
## NotarizedRoute
TODO
# Package io.bkbn.kompendium.core.metadata
Houses all interfaces and types related to describing route metadata.
# Package io.bkbn.kompendium.core.routes
Houses any routes provided by the core module. At the moment the only supported route is to enable ReDoc support.
# Package io.bkbn.kompendium.core.util
Collection of utility functions used by Kompendium