mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2024-12-01 21:09:18 -06:00
32 lines
1.6 KiB
Markdown
32 lines
1.6 KiB
Markdown
|
# Bundled Docs
|
||
|
|
||
|
In order to keep the structure of NoSQLBench modular enough to allow for easy extension by contributors, yet cohesive in
|
||
|
how it presents documentation and features to users, it is necessary to provide internal services which aggregate
|
||
|
content by subject matter into a consumable whole that can be used by the documentation system.
|
||
|
|
||
|
# MarkdownDocs Service
|
||
|
|
||
|
The primary markdown service that is meant to be consumed by the documetnation system is known simply as
|
||
|
|
||
|
MarkdownDocs
|
||
|
|
||
|
Static methods on this class will provide all of the markdown content in pre-baked and organized form. The markdown
|
||
|
service is responsible for reading all the raw markdown sources and organizing their content into a single cohesive
|
||
|
structure. MardownDocs finds all content that is provided by individual MarkdownProvider services, as described below.
|
||
|
|
||
|
All of the rules for how raw markdown content is to be combined are owned by the MarkdownDocs service.
|
||
|
|
||
|
# MarkdownProvider Service
|
||
|
|
||
|
The `MarkdownProvider` service is responsible for bundling the raw markdown for a path within a NoSQLBench module. Each
|
||
|
|
||
|
module that wishes to publish markdown docs to users must provide one or more MarkdownProvider services via SPI. This is
|
||
|
most easily done with a `@Service(MarkdownProvider.class)` annotation.
|
||
|
|
||
|
The MarkdownProvider service provides all of the individual markdown files it finds indirectly as
|
||
|
io.nosqlbench.nb.api.content.Content, which allows the internal file content to be read appropriately regardless of
|
||
|
whether it comes from a classpath resource stream, a file on disk, or even a dynamic source like function metadata.
|
||
|
|
||
|
|
||
|
|