diff --git a/docs/modules/ROOT/pages/usage.adoc b/docs/modules/ROOT/pages/usage.adoc index 4f6eb27d9..401ca939f 100644 --- a/docs/modules/ROOT/pages/usage.adoc +++ b/docs/modules/ROOT/pages/usage.adoc @@ -1,5 +1,25 @@ = Basic Usage +The diagram below illustrates the workflow of the MrDocs documentation tool. +It shows how inputs are transformed step by step into the final documentation output. +Each component in the diagram represents a distinct type of entity: + +- **Inputs**: Provide the initial parameters and settings required to configure and run the tool. +These include the <> and <>. +- **Processes**: Represent intermediary outputs or data generated during the workflow. +- **Outputs**: The final product, in this case, the generated documentation. + +include::partial$workflow.adoc[] + +In summary: + +* Begin by specifying the <> and <> to set up the options. The configuration options affect all processes. +* The configuration options define a <>. All symbols are extracted with Clang to generate a unified corpus of symbols with their corresponding xref:page$commands.adoc[documentation]. +* Finally, This corpus is then fed to a xref:page$generators.adoc[Generator] that produces the desired documentation. + +For more details on each component, refer to the corresponding sections of this guide. + +[#config-file] == MrDocs configuration file The `mrdocs.yml` configuration file contains information about the project. @@ -30,6 +50,7 @@ The most important information is the `source-root` option, which determines the The list of all available options can be found in the xref:config-file.adoc[] page. +[#cli] == MrDocs invocation NOTE: For consistency, these instructions assume you have the `mrdocs` executable in PATH. @@ -59,6 +80,7 @@ mrdocs path/to/mrdocs.yml --output=../docs/reference NOTE: Except for the path to the `mrdocs.yml` file, all other relative paths are made absolute relative to the `mrdocs.yml` file. +[#compilation-database] === Compilation databases One way to simplify the documentation generation process is by using a `compile_commands.json` file generated by CMake to determine the source files to process and their compile options.