Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions fern/products/docs/pages/api-references/library-docs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Local parsing runs each parser inside a Docker container, so [Docker](https://do
</Warning>

<Note>
For C++ libraries, the parser uses the source root your `path` directory, or the repository root for a `git` inputas its scope. If your Doxyfile sets its input directive to subdirectories, the effective scope is the source root combined with those Doxyfile input entries. Ensure the Doxyfile's input paths are relative to the source root.
For C++ libraries, the parser uses the source root (your `path` directory, or the repository root for a `git` input) as its scope. Input directives in your Doxyfile don't change that scope: Fern honors only [a few Doxyfile settings](#configuration-reference) and ignores the rest.
</Note>
</Tab>
</Tabs>
Expand All @@ -104,7 +104,7 @@ For C++ libraries, the parser uses the source root — your `path` directory, or
If you have multiple libraries configured, `fern docs md generate` processes all libraries in parallel. Use `--library plant-sdk` to generate docs for a specific library only.
</Tip>

The generated docs form a navigation section with pages for each module, class, function, and type in your library.
The generated docs form a navigation section with pages for each module, class, function, and type in your library. For C++ libraries, groups defined with `@defgroup`, `@ingroup`, or `@addtogroup` also get index pages in a `groups/` folder inside `output.path`: each lists the group's description, its members by kind, and its subgroups (nested as subfolders). Member documentation stays on the symbol pages, groups with no members are skipped, and the `folder:` navigation entry picks the group pages up without changes.

</Step>
<Step title="Preview locally">
Expand Down Expand Up @@ -207,5 +207,7 @@ You can also edit page content by modifying the MDX files directly — generated
</ParamField>

<ParamField path="config.doxyfile" type="string">
Path to a custom [Doxyfile](https://www.doxygen.nl/manual/config.html). C++ only. For local generation, the Doxyfile's input paths are resolved relative to the source root: the `input.path` directory, or the repository root for a `git` input.
Path to a custom [Doxyfile](https://www.doxygen.nl/manual/config.html). C++ only. Fern reads four settings from it and applies them to its own doxygen configuration: `ALIASES`, `PREDEFINED`, `FILE_PATTERNS`, and `OPTIMIZE_OUTPUT_FOR_C`. `ALIASES` supports parameterized macros and backslash line continuations.

Every other setting is ignored, including `INPUT`, `INPUT_FILTER`, `GENERATE_XML`, and the `@INCLUDE` and `@INCLUDE_PATH` directives. Publishing fails when one of the four supported settings has an invalid value: a space or shell metacharacter in `FILE_PATTERNS`, a value other than `YES` or `NO` for `OPTIMIZE_OUTPUT_FOR_C`, an `ALIASES` entry that isn't an alias definition, a trailing backslash, or doxygen's `$(VAR)` environment-variable expansion. Doxyfile content over 262,144 characters is also rejected.
</ParamField>
Loading