Absolute minimum viable package
The simplest possible package: two functions (greet, add) with NumPy docstrings in a flat layout. On the Reference page you should see a sin...
A1 B1 C1 D1 E6 F6 G1 H7
Google-style docstrings; disconnect is %nodoc and should not appear
Three functions (connect, disconnect, send_message) documented in Google style with Args/Returns/Raises sections. On the Reference page you ...
A1 B1 C1 D2 E6 F6 G1 H7
Sphinx/reST-style docstrings; format_duration is %nodoc and should not appear
Three exports (Timer class, start_timer, format_duration) with classic Sphinx :param:/:returns:/:rtype:/:raises: field lists. On the Referen...
A1 B1 C4 D3 E6 F6 G1 H7
Objects with no docstrings
Four exports (Processor class, run, stop, status) with zero docstrings. On the Reference page you should see 'Classes' and 'F...
A1 B1 C4 D4 E6 F6 G1 H7
Mixed docstring styles (NumPy + Google); transform is %nodoc and should not appear
Five exports (Converter class, encode, decode, validate, transform) mixing NumPy and Google docstrings in the same module. On the Reference ...
A1 B1 C4 D5 E6 F6 G1 H7
Modern src/ layout package; destroy_widget is %nodoc and should not appear
Module lives under src/gdtest_src_layout/ (modern src-layout). Three exports (Widget class, create_widget, destroy_widget). On the Reference...
A2 B1 C4 D1 E6 F6 G1 H7
python/ layout convention
Module lives under python/gdtest_pylayout/ (less common convention). Two functions (read_file, write_file). On the Reference page you should...
A3 B1 C1 D1 E6 F6 G1 H7
lib/ layout convention
Module lives under lib/gdtest_lib_layout/. Two functions (open_connection, close_connection). On the Reference page you should see a 'F...
A4 B1 C1 D1 E6 F6 G1 H7
Hatch build system with explicit wheel packages; clean is %nodoc and should not appear
Uses the Hatch build system with [tool.hatch.build.targets.wheel] specifying the package location. The module name (gdtest_hatch_pkg) differ...
A5 B1 C4 D1 E6 F6 G1 H7
Setuptools find packages with where=src
Uses setuptools find:packages with where=src. Module is at src/gdtest_stfind/ (different name from the project). Three exports (Scanner clas...
A6 B1 C4 D1 E6 F6 G1 H7
setup.cfg only — no pyproject.toml
No pyproject.toml — only setup.cfg for metadata. Two functions (ping, pong). On the Reference page you should see a 'Functions' se...
A7 B1 C1 D1 E6 F6 G1 H7
Legacy setup.py only — no pyproject.toml
No pyproject.toml, no setup.cfg — only a legacy setup.py. Two functions (echo, reverse). On the Reference page you should see a 'Functi...
A8 B1 C1 D1 E6 F6 G1 H7
Auto-discover: no metadata files, no __all__
No pyproject.toml, no setup.cfg, no setup.py — zero metadata files. Three exports (Engine class, ignite, shutdown). On the Reference page yo...
A9 B3 C4 D1 E6 F6 G1 H7
No __all__ — griffe fallback discovery
Module defines functions and classes but has no __all__ list. Three exports (Registry class, create_registry, list_keys) discovered via grif...
A1 B3 C4 D1 E6 F6 G1 H7
__all__ built by concatenating sub-module __all__ lists
Builds __all__ by concatenating sub-module __all__ lists (__all__ = _models.__all__ + _utils.__all__). Because the AST parser cannot extract...
A1 B2 C4 D1 E6 F6 G1 H7
Config-level exclusion via great-docs.yml exclude list
All four exports are in __all__, but great-docs.yml excludes helper_func and InternalClass. On the Reference page you should see only Public...
A1 B5 C4 D1 E6 F6 G1 H7
Exports include AUTO_EXCLUDE names (main, cli, config, etc.)
Module exports common boilerplate names (main, cli, config, utils, logger) alongside real API (MyClass, real_func). On the Reference page yo...
A1 B7 C4 D1 E6 F6 G1 H7
Small classes (≤5 methods) — inline docs
Two small classes (Point, Color) each with ≤5 methods. On the Reference page you should see a 'Classes' section where methods are ...
A1 B1 C2 D1 E6 F6 G1 H7
Class with >5 public methods triggers separate method section
DataProcessor class has 8 public methods, exceeding the threshold for expanded rendering. On the Reference page you should see three section...
A1 B1 C3 D1 E6 F6 G1 H7
@dataclass objects with various field types
Two @dataclass types (Config, Record) with typed fields, defaults, and field() calls. On the Reference page you should see a 'Dataclass...
A1 B1 C5 D1 E6 F6 G1 H7
Enum subclasses (Enum + IntEnum)
Two enum types: Color (Enum with RED/GREEN/BLUE) and Priority (IntEnum with LOW/MEDIUM/HIGH). On the Reference page you should see an '...
A1 B1 C6 D1 E6 F6 G1 H7
NamedTuple + TypedDict
Coordinate (NamedTuple) and UserProfile (TypedDict) — typed container types with field-level annotations. On the Reference page you should s...
A1 B1 C7 D1 E6 F6 G1 H7
ABC + Protocol abstract types
Serializable (ABC) and Renderable (Protocol) with abstract methods. On the Reference page you should see a 'Classes' section listi...
A1 B1 C8 D1 E6 F6 G1 H7
Properties, classmethods, staticmethods
Resource class with @property (name), @classmethod (from_dict), and @staticmethod (validate). On the Reference page you should see a 'C...
A1 B1 C9 D1 E6 F6 G1 H7
Dunder methods (__init__, __repr__, __eq__, etc.)
Collection class with 6 dunder methods: __init__, __repr__, __eq__, __len__, __getitem__, __iter__. On the Reference page you should see a &...
A1 B1 C10 D1 E6 F6 G1 H7
Nested/inner class handling
Tree class with a nested Node inner class. On the Reference page you should see a 'Classes' section with Tree. The inner Node clas...
A1 B1 C11 D1 E6 F6 G1 H7
Constants and type aliases
Five exports: three constants (DEFAULT_TIMEOUT, MAX_RETRIES, SUPPORTED_FORMATS), one type alias (HandlerFunc), and one function (process). O...
A1 B1 C12 D1 E6 F6 G1 H7
%seealso cross-references between functions
Four exports (Encoder class, encode, decode, validate) with %seealso cross-references. On the Reference page, each function's docs shou...
A1 B1 C4 D1 E3 F6 G1 H7
%nodoc directive — items excluded from docs
Four exports in __all__ (Calculator, compute, reset, debug_info) but reset and debug_info are tagged with %nodoc. On the Reference page you ...
A1 B1 C4 D1 E4 F6 G1 H7
Auto-discover user guide with numeric prefixes
Has user_guide/ with three numbered files: 01-intro.qmd, 02-quickstart.qmd, 03-advanced.qmd. The sidebar should show a 'User Guide'...
A1 B1 C4 D1 E6 F1 G1 H7
User guide with frontmatter guide-section grouping
Has user_guide/ with four pages that use frontmatter guide-section keys: 01-welcome and 02-install under 'Getting Started', 03-cus...
A1 B1 C4 D1 E6 F2 G1 H7
User guide with subdirectories
User guide pages are in subdirectories: user_guide/basics/ (01-intro.qmd, 02-setup.qmd) and user_guide/advanced/ (01-tips.qmd). The sidebar ...
A1 B1 C1 D1 E6 F3 G1 H7
Explicit user guide ordering via config
User guide order is defined in great-docs.yml: 'Get Started' section (Welcome → quickstart.qmd) then 'Advanced' section ...
A1 B1 C1 D1 E6 F4 G1 H7
Custom user guide directory path
User guide lives in docs/guides/ instead of user_guide/. The config specifies user_guide: 'docs/guides'. In the sidebar you should...
A1 B1 C1 D1 E6 F5 G1 H7
user-guide/ (hyphenated) directory name
Uses user-guide/ (with hyphen) instead of user_guide/ (with underscore). One guide page: 01-intro.qmd. The sidebar should show a 'User ...
A1 B1 C1 D1 E6 F7 G1 H7
README.rst — RST conversion
Landing page source is README.rst in reStructuredText. The landing page should show the converted content — RST headings, code blocks, and l...
A1 B1 C1 D1 E6 F6 G2 H7
index.qmd — used as-is, no generation
Provides an index.qmd with title 'Custom Landing Page'. The landing page should display this Quarto content as-is — look for the t...
A1 B1 C1 D1 E6 F6 G3 H7
index.md — priority over README.md
Has both README.md and index.md. The landing page should show the index.md content ('Custom Index') NOT the README.md content. Loo...
A1 B1 C1 D1 E6 F6 G4 H7
No README — auto-generated landing page
Has no README, no index file — nothing for the landing page. Great Docs auto-generates a minimal landing page from package metadata. The lan...
A1 B1 C1 D1 E6 F6 G5 H7
index.qmd + README.md — index wins
Has both index.qmd and README.md. The landing page should show the index.qmd content ('Index Wins') NOT the README.md. Look for th...
A1 B1 C1 D1 E6 F6 G6 H7
All supporting pages — LICENSE, CITATION, CONTRIBUTING, etc.
Includes every supporting page type. The sidebar/nav should show links to: License, Citation, Contributing, and Code of Conduct. There shoul...
A1 B1 C4 D1 E6 F1 G1 H1 H2 H3 H4 H6
CONTRIBUTING.md in .github/ subdirectory only
CONTRIBUTING.md lives in .github/ (not the project root). The sidebar should still show a Contributing link. Clicking it should display the ...
A1 B1 C1 D1 E6 F6 G1 H3
Simple Click CLI commands with CLI docs enabled
A package with Click CLI commands and cli.enabled=true in config. The sidebar should show a CLI Reference section alongside the API Referenc...
A1 B1 C1 D1 E1 E6 F6 G1 H7
Nested Click groups with subcommands
Click CLI with nested groups: main command → task group (run, list) and config group (show, set). The CLI Reference should show the multi-le...
A1 B1 C1 D1 E1 E6 F6 G1 H7
Explicit reference sections in great-docs.yml config
Reference structure is defined in great-docs.yml with two sections: 'Core' (MyClass with members=false, helper_func) and 'Uti...
A1 B1 C1 D1 E1 E6 F6 G1 H7
Maximum feature coverage — every major feature at once
Maximum coverage: src/ layout, 10 exports, Pipeline as a big class with 6+ methods, user guide (3 pages), all supporting pages (License, Cit...
A2 B1 C4 D1 F1 G1 H1 H2 H3 H4 H6
Project name does not match module name; config overrides
Project name is 'gdtest-name-mismatch' but the module is 'gdtest_nm' (completely different). Config sets module: gdtest_...
A1 B1 C1 D1 E6 F6 G1 H7
src/ layout with a big class (>5 methods)
src/ layout (A2) with a big class (C3) having 7 methods. Module at src/gdtest_src_big_class/. Pipeline class with add_step, remove_step, run...
A2 B1 C3 D1 E6 F6 G1 H7
Google docstrings with a big class (>5 methods)
Google docstrings (D2) with a big class (C3). DataProcessor has 7 methods all documented in Google style. On the Reference page you should s...
A1 B1 C3 D2 E6 F6 G1 H7
User guide combined with CLI documentation
User guide (F1) combined with CLI documentation. Has user_guide/ with two pages plus a Click CLI. The top nav should show both 'User Gu...
A1 B1 C1 D1 E6 F1 G1 H7
Explicit reference with big class members suppressed
Explicit reference config with a big class. Config defines sections 'Core' with BigEngine (members: false) and 'Helpers'...
A1 B1 C3 D1 E6 F6 G1 H7
src/ layout without __all__ (griffe fallback)
src/ layout (A2) with no __all__ (B3). Module at src/gdtest_src_no_all/ defines functions without an __all__ list. On the Reference page you...
A2 B3 C4 D1 E6 F6 G1 H7
Full extras (license, citation, etc.) plus user guide
Full supporting pages (H1-H4) combined with a user guide (F1). Sidebar should show License, Citation, Contributing, Code of Conduct links AN...
A1 B1 C1 D1 E6 F1 G1 H1 H2 H3 H4
Google docstrings with %seealso cross-references
Google docstrings (D2) with %seealso directives (E3). Four exports (encode, decode, compress, decompress) with Google-style Args/Returns plu...
A1 B1 C1 D2 E3 F6 G1 H7
setup.cfg metadata with src/ layout
setup.cfg only (A7) with src/ layout. No pyproject.toml — metadata comes from setup.cfg, but the module lives in src/. On the Reference page...
A7 A2 B1 C1 D1 E6 F6 G1 H7
Config exclusion with CLI documentation
Config-level exclusion (B5) with CLI documentation. Two API exports are excluded via config, plus a Click CLI. The sidebar should show CLI R...
A1 B5 C1 D1 E6 F6 G1 H7
src/ layout with explicit reference configuration
src/ layout (A2) with explicit reference config. Config defines two sections: 'Core' (Engine, run) and 'Utils' (format_r...
A2 B1 C4 D1 E6 F6 G1 H7
Async functions (async def); async_save is %nodoc and should not appear
Module with async def functions: async_fetch, async_process, async_save. On the Reference page you should see these functions with 'asy...
A1 B1 C13 D1 E6 F6 G1 H7
Generator functions using yield
Module with generator functions using yield: count_up, fibonacci, iter_chunks. On the Reference page the functions should show Iterator/Gene...
A1 B1 C14 D1 E6 F6 G1 H7
Functions with @overload signatures
Module using @overload from typing: process() has three overloads (str→str, int→int, list→list) plus the implementation. On the Reference pa...
A1 B1 C15 D1 E6 F6 G1 H7
ABC with abstract properties
ABC with abstract methods and @property decorators. Shape class has abstract area (property) and perimeter (property), plus concrete describ...
A1 B1 C16 D1 E6 F6 G1 H7
Multiple inheritance (diamond pattern)
Diamond inheritance: Base → Mixin1, Mixin2 → Combined. Each class adds methods. On the Reference page you should see all four classes. Combi...
A1 B1 C17 D1 E6 F6 G1 H7
Class using __slots__
Class using __slots__ = ('x', 'y', 'label') instead of __dict__. SlottedPoint class with three slots and four ...
A1 B1 C18 D1 E6 F6 G1 H7
Frozen dataclass (@dataclass(frozen=True))
Frozen dataclass: @dataclass(frozen=True) with typed fields. Coordinate has x (float), y (float), label (str). On the Reference page you sho...
A1 B1 C19 D1 E6 F6 G1 H7
Generic classes with TypeVar
Generic classes using TypeVar: Stack[T] with push, pop, peek methods and a Pair[K, V] container. On the Reference page you should see the cl...
A1 B1 C20 D1 E6 F6 G1 H7
Context manager classes
Context manager classes with __enter__/__exit__: ManagedResource and Timer. On the Reference page the classes should show their dunder metho...
A1 B1 C21 D1 E6 F6 G1 H7
Decorator functions
Module of decorator functions: retry, cache, validate_args, log_calls. Each returns a wrapper function. On the Reference page you should see...
A1 B1 C22 D1 E6 F6 G1 H7
Custom exception class hierarchy
Custom exception hierarchy: AppError (base), ValidationError, NotFoundError, PermissionError_, TimeoutError_. On the Reference page you shou...
A1 B1 C23 D1 E6 F6 G1 H7
Submodule re-exports via __init__.py
Package with submodules (core.py, utils.py) that re-exports symbols via __init__.py __all__. On the Reference page you should see the re-exp...
A1 B6 C24 D1 E6 F6 G1 H7
Module with 30+ exported functions
Module with 30+ exported functions (func_01 through func_30). On the Reference page you should see a very long 'Functions' section...
A1 B1 C1 D1 E6 F6 G1 H7
Deeply nested subpackages (3 levels)
Deeply nested subpackages: gdtest_deep_nesting.level1.level2.level3 with exports at each level. On the Reference page you should see the lea...
A1 B6 C1 D1 E6 F6 G1 H7
Very long docstrings with many sections
Three functions with very long docstrings containing multiple sections: Parameters, Returns, Raises, Notes, Examples (with code blocks), War...
A1 B1 C1 D1 E6 F6 G1 H7
User guide with 10 pages
User guide with 10 pages (01-introduction through 10-appendix). The sidebar should list all 10 pages in order. Scrolling the sidebar should ...
A1 B1 C1 D1 E6 F1 G1 H7
Five big classes with 6+ methods each
Five big classes each with 6+ methods: Processor, Transformer, Validator, Formatter, Exporter. On the Reference page you should see 'Cl...
A1 B1 C3 D1 E6 F6 G1 H7
Flit build backend
Uses Flit build backend (flit_core.buildapi). Module location auto-detected by Flit conventions. On the Reference page you should see two fu...
A10 B1 C1 D1 E6 F6 G1 H7
PDM build backend
Uses PDM build backend (pdm.backend). Module location auto-detected. On the Reference page you should see two functions (install, remove). K...
A11 B1 C1 D1 E6 F6 G1 H7
Implicit namespace package
Implicit namespace package (no __init__.py in top-level). Module code lives in gdtest_namespace/sub/module.py. On the Reference page you sho...
A12 B1 C1 D1 E6 F6 G1 H7
Monorepo-style package location
Package lives in packages/mylib/ subdirectory (monorepo pattern). The pyproject.toml is at the subdir level. On the Reference page you shoul...
A13 B1 C1 D1 E6 F6 G1 H7
Multi-module package with re-exports
Package with three submodules (models.py, views.py, controllers.py) re-exported via __init__.py. On the Reference page you should see all ex...
A1 B8 C4 D1 E6 F6 G1 H7
src/ layout with setup.py only
src/ layout with legacy setup.py (no pyproject.toml). Module at src/gdtest_src_legacy/. On the Reference page you should see two functions (...
A2 A8 B1 C1 D1 E6 F6 G1 H7
Module with nothing to document
Module contains only __version__ — no functions, no classes, nothing to document. The build should succeed. The Reference page should exist ...
A1 B1 C1 D4 E6 F6 G1 H7
Mostly private names with one public export
Module has mostly _private names with only one public function (public_api). __all__ lists just public_api. On the Reference page you should...
A1 B1 C1 D1 E6 F6 G1 H7
__all__ with duplicate entries
Module where __all__ accidentally lists 'transform' twice. On the Reference page transform should appear exactly once, not duplica...
A1 B1 C1 D1 E6 F6 G1 H7
README with badges, images, and complex Markdown
README.md with shields.io badges, images, and complex Markdown (tables, footnotes, nested lists). The landing page should render badges as i...
A1 B1 C1 D1 E6 F6 G1 H7
Docstrings with LaTeX math notation
Docstrings containing LaTeX math notation: inline $x^2$ and block $$\\sum_{i=1}^n x_i$$ equations. On the Reference page the math should ren...
A1 B1 C1 D1 E6 F6 G1 H7
User guide with mixed .qmd and .md files
User guide with mixed file extensions: intro.qmd, setup.md, and advanced.qmd. All three should appear in the sidebar. Key test: .md and .qmd...
A1 B1 C1 D1 E6 F1 G1 H7
Docstrings with unicode characters
Docstrings with unicode characters: accented names (René), emoji (📊), CJK characters (数据), mathematical symbols (∫∑∏). On the Reference page...
A1 B1 C1 D1 E6 F6 G1 H7
Every config toggle set to non-default value
Every possible config toggle set to a non-default value: parser, display_name, source.enabled=true, dark_mode, authors, funding, user_guide,...
A1 B1 C1 D1 E6 F6 G1 H7
Config with display_name, authors, and funding
Config sets display_name='Pretty Display Name', theme color, authors with roles, and funding info. The site title should show ...
A1 B1 C1 D1 E6 F6 G1 H7
Config disables source links and dark mode
Config explicitly sets source.enabled=false and dark_mode=false. The site should NOT show source code links and should NOT have a dark mode ...
A1 B1 C1 D1 E6 F6 G1 H7
Config overrides parser to google
Config overrides parser to 'google' even though docstrings are written in Google style (matching). On the Reference page, Google A...
A1 B1 C1 D1 E3 F2 G1 H7
Config with unrecognized keys for forward compatibility
Config YAML includes unrecognized keys (custom_field, future_option) alongside valid ones. The build should succeed without errors — unknown...
A1 B1 C1 D1 E6 F6 G1 H7
Tests github_style: icon config
Tests github_style: 'icon' config (vs. default 'widget'). The GitHub link in the navbar should render as a simple icon, ...
K1
Tests source.branch: develop config
Tests source.branch: 'develop' override. Source links should point to the 'develop' branch instead of auto-detected main...
K2
Tests source.path: src/mylib config
Tests source.path: 'src/mylib' override. Source links should include the custom path prefix. Module at top level but source links ...
K3
Tests source.placement: title config
Tests source.placement: 'title' (vs. default 'usage'). Source code links should appear near the title/heading of each AP...
K4
Tests source.enabled: false config
Tests source.enabled: false. No source code links should appear anywhere in the rendered docs. Two functions (encrypt, decrypt) with NumPy d...
K5
Tests sidebar_filter.enabled: false config
Tests sidebar_filter.enabled: false. The sidebar search/filter widget should NOT appear even if there are many items. Five functions (a thro...
K6
Tests sidebar_filter.min_items: 3 config
Tests sidebar_filter.min_items: 3 (low threshold). The sidebar filter should appear even with just 4 items because the threshold is set low....
K7
30+ user guide pages in 5 sections to stress-test floating sidebar.
Stress test for the floating sidebar. Has 32 user guide pages organized into 5 sections (Getting Started, Core Concepts, Advanced Usage, Dep...
N10
Tests cli.name: mytool config
Tests cli.name: 'mytool' (explicit CLI name). The CLI reference should show 'mytool' as the command name. Has a Click ap...
K8
Tests dynamic: false config
Tests dynamic: false config. Uses static introspection instead of runtime import. Two simple functions (greet, farewell) to verify static an...
K9
Tests parser: google config
Tests parser: 'google' with all-Google docstrings. Five functions with Args/Returns/Raises sections. Parser should correctly handl...
K10
Tests parser: sphinx config
Tests parser: 'sphinx' with Sphinx :param:/:returns: docstrings. Three functions and one class. Parser should correctly handle Sph...
K11
Tests display_name: My Pretty Library config
Tests display_name: 'My Pretty Library'. Site title in navbar and browser tab should show 'My Pretty Library', not the r...
K12
Tests funding config
Tests funding config with all fields: name, roles, homepage, ror. The funding info should appear somewhere in the rendered site (sidebar or ...
K13
Tests multiple authors config
Tests authors config with three author entries, each having name, email, role, and github username. Author info should render in the sidebar...
K14
Tests dark_mode_toggle: false config
Tests dark_mode_toggle: false. The dark mode toggle switch should NOT appear in the navbar. Two functions (light_func, bright_func).
K15
Tests exclude config
Tests exclude config list. Module has 5 exports but 2 are excluded via config. Reference page should show only the 3 non-excluded items.
K16
Tests jupyter: python3 config
Tests jupyter: 'python3' explicit kernel config. Doesn't change behavior for non-notebook builds but exercises the config pat...
K17
Tests sections config for custom page groups
Tests the sections config for custom page groups. Config defines an 'Examples' section pointing to examples/ dir. Two example page...
K18
Tests user_guide config as a string pointing to a custom 'guides' directory.
Tests user_guide: 'guides' (string pointing to custom dir). User guide pages live in guides/ instead of user_guide/. Sidebar shoul...
K19
Tests user_guide config as an explicit list of section dicts with titles and contents.
Tests user_guide as explicit list of sections with pages. Config defines exact ordering: 'Getting Started' (install, quickstart) t...
K20
Tests changelog config with enabled=True and max_releases=5. No actual GitHub repo.
Tests changelog config: enabled: true, max_releases: 5. Since there's no real GitHub repo, the changelog feature should degrade gracefu...
K21
Tests reference config with explicit titled sections grouping functions.
Tests reference config with explicit sections. Config defines two reference sections: 'Core API' and 'Utilities'. On the...
K22
Config combo: display_name, authors, funding, github_style=icon, source.placement=title. Tests cosmetic and metadata options together.
Combination: display_name + authors + funding + github_icon + source.placement=title. All these config options together should not conflict....
K1 K4 K12 K13 K14
Config combo: parser=google, dynamic=false, sidebar_filter.enabled=false, dark_mode_toggle=false, source.enabled=false. All opt-out flags.
Combination: parser=google + dynamic=false + sidebar_filter.enabled=false + dark_mode_toggle=false + source.enabled=false. All opt-out flags...
K5 K6 K9 K10 K15
Config combo: sections with examples and tutorials, user_guide as explicit list, reference with explicit sections. Full navigation structure.
Combination: sections (examples + tutorials) + user_guide (list) + reference (explicit). Full navigation structure defined by config.
K18 K20 K22
Config combo: sidebar_filter.min_items, cli.name, display_name, user_guide as string path. Tests metadata and navigation options.
K7 K8 K12 K19
Config combo: source.branch=develop, source.path=lib, parser=sphinx, changelog config. Tests source link customization with Sphinx parsing.
K2 K3 K11 K21
Config combo: dynamic=false, dark_mode_toggle=false, exclude list, jupyter kernel. Tests static analysis with multiple opt-out flags.
K9 K15 K16 K17
Attribution enabled (default): footer should contain 'Site created with Great Docs (v...)' after the author line.
Attribution enabled (default): footer should include 'Site created with Great Docs (v...)' after the author line.
K14 K48
Attribution disabled: footer should NOT contain 'Site created with Great Docs' text.
Attribution disabled via attribution: false. Footer should contain author text but NOT the 'Site created with Great Docs' line.
K14 K49
Tests versionadded RST directives in docstrings
Docstrings contain '.. versionadded:: 2.0' RST directive. Post-render should translate this into a styled callout div with version...
L1
Tests deprecated RST directives in docstrings
Docstrings contain '.. deprecated:: 1.5' with deprecation message. Post-render should show a deprecation warning callout. Two func...
L2
Tests note RST directives in docstrings
Docstrings contain '.. note::' with body text. Post-render should translate into a note callout. Three functions with note blocks.
L3
Tests warning RST directives in docstrings
Docstrings contain '.. warning::' directive. Post-render should translate into a warning callout (yellow/orange). Two functions wi...
L4
Tests tip RST directives in docstrings
Docstrings contain '.. tip::' directive. Post-render should translate into a tip callout. Two functions with helpful tips.
L5
Tests caution RST directives in docstrings
Docstrings contain '.. caution::' directive. Post-render should translate into a caution callout (orange). Two functions.
L6
Tests danger RST directives in docstrings
Docstrings contain '.. danger::' directive. Post-render should translate into a danger callout (red). Two functions with hazard wa...
L7
Tests important RST directives in docstrings
Docstrings contain '.. important::' directive. Post-render should translate into an important callout. Two functions.
L8
Tests multiple RST directives in same docstrings
Docstrings mix multiple RST directives: versionadded, deprecated, note, warning, tip in the same module and sometimes SAME docstring. All sh...
L9
:py:func: cross-reference roles between functions
Docstrings contain :py:func:`other_func` cross-reference roles. Post-render should strip the :py:func: prefix and add () to the linked name....
L10
:py:class: cross-reference roles to a class
Docstrings contain :py:class:`MyClass` cross-reference roles. Post-render should strip :py:class: prefix, keeping the class name without par...
L11
:py:exc: cross-reference roles for exceptions
Docstrings contain :py:exc:`ValueError` cross-reference roles. Post-render should strip :py:exc: prefix. Functions that raise named exceptio...
L12
:py:meth: cross-reference roles between methods
Docstrings contain :py:meth:`MyClass.method` cross-reference roles. Post-render should strip :py:meth: prefix and add (). One class with met...
L13
Mix of all Sphinx cross-reference role types
Docstrings mix :py:func:, :py:class:, :py:exc:, :py:meth:, and :py:attr: roles in the same module. All should be translated correctly by pos...
L14
Rich NumPy-style docstrings with all sections
Rich NumPy-style docstrings with ALL standard sections: Parameters, Returns, Raises, Notes, Examples, Warnings, References, See Also. Every ...
L15
Rich Google-style docstrings with all sections
Rich Google-style docstrings with all standard sections: Args, Returns, Raises, Note, Example, Warning, References, See Also. All sections s...
L16
Rich Sphinx-format docstrings with full field lists
Rich Sphinx-style docstrings with :param:, :type:, :returns:, :rtype:, :raises: field lists, plus prose Notes/Examples blocks. Everything sh...
L17
Extended Examples sections with multiple code blocks and output
Docstrings with extended Examples sections containing multiple code blocks, expected output, and prose explanation between blocks. Code shou...
L18
Detailed Notes sections with multi-paragraph prose and inline code
Docstrings with detailed Notes sections including multi-paragraph text, inline code, and references. Notes should render as flowing prose be...
L19
Warnings sections in NumPy-style docstrings
Docstrings with Warnings sections (NumPy style) describing hazards. The Warnings section should render visually distinct from Notes, ideally...
L20
References sections in NumPy-style docstrings
Docstrings with References sections containing bibliography entries and links. References should render as a list below the main docs.
L21
See Also sections cross-referencing related functions
Docstrings with See Also sections listing related functions, each with a brief description. Should render as a linked list of related API en...
L22
Math notation in docstring Notes sections
Docstrings containing LaTeX math: inline $x^2 + y^2$ and display blocks $$\\sum_{i=1}^{n} x_i$$. Math should render via KaTeX or MathJax wit...
L23
Tables in docstring Notes sections
Docstrings containing RST-style tables (grid tables and simple tables). Tables should render as HTML tables in the output.
L24
Stress test combining all docstring content features in one module
Stress test: docstrings combining RST directives (versionadded, note), Sphinx roles (:py:func:), rich sections (Notes, Examples, See Also), ...
L9 L14 L15 L18 L19 L22 L23
Auto-discovered user guide with 3 unnumbered .qmd files in user_guide/.
Basic auto-discovered user guide: user_guide/ dir with 3 unnumbered .qmd files. Sidebar should discover and list them alphabetically.
M1
Numbered user guide with 4 sequentially named .qmd files.
Numbered user guide files: 01-intro.qmd, 02-install.qmd, 03-usage.qmd, 04-advanced.qmd. Should appear in numeric order in the sidebar.
M2
User guide with guide-section frontmatter for grouping pages into sections.
User guide with frontmatter guide-section metadata grouping pages into 'Getting Started' and 'Advanced Topics'. Sidebar ...
M3
User guide with subdirectories for organizing pages into groups.
User guide with subdirectories: user_guide/basics/ and user_guide/advanced/. Pages should be grouped by subdirectory in the sidebar.
M4
User guide in docs/ directory instead of user_guide/ via config.
User guide lives in docs/ instead of user_guide/. Config sets user_guide: 'docs'. Sidebar should find pages from the custom dir.
M5
Deeply nested user guide with multi-level subdirectory structure.
Deeply nested user guide: user_guide/section1/subsection1/ with pages at multiple levels. Tests multi-level directory traversal.
M6
User guide with mixed .qmd and .md file extensions.
User guide with mixed file extensions: intro.qmd, setup.md, advanced.qmd. Both .qmd and .md should appear in sidebar.
M7
User guide with 12 numbered pages from overview to appendix.
User guide with 12 pages to test scrolling/navigation with many entries in the sidebar.
M8
Explicit user guide ordering via config with titled sections and contents lists.
User guide ordering defined explicitly in great-docs.yml config. Pages appear in config-specified order, not alphabetical.
M9
Single-page user guide with just one .qmd file.
Minimal user guide with just one page. Sidebar should show a User Guide section with a single entry.
M10
User guide .qmd files with no YAML frontmatter; title inferred from first heading.
User guide .qmd files with NO YAML frontmatter. Title should be inferred from the first heading or filename.
M11
User guide pages with fenced Python code blocks.
User guide pages containing Python code blocks, both fenced and executable. Code should be syntax-highlighted.
M12
User guide with pages referencing assets like diagrams.
User guide page referencing images from an assets directory. Images should be copied and displayed correctly.
M1
User guide in user-guide/ (hyphenated directory name).
User guide in user-guide/ (hyphenated). Both user_guide/ and user-guide/ naming conventions should work.
M13
Complex user guide combining numbered files, frontmatter sections, subdirs, and mixed extensions.
Combination: numbered files + frontmatter sections + subdirs + mixed extensions. Complex user guide structure.
M2 M3 M4 M7
Custom 'Examples' section via sections config.
Custom 'Examples' section via config sections. examples/ dir with 3 example pages. Should appear as a separate nav section.
N1
Custom 'Tutorials' section via sections config.
Custom 'Tutorials' section. tutorials/ dir with step-by-step pages. Should appear as a separate nav section.
N2
Custom 'Recipes' section via sections config.
Custom 'Recipes' section. recipes/ dir with short how-to pages. Should appear as a separate nav section.
N3
Blog section using Quarto's native listing directive.
Blog section using Quarto's native listing directive. blog/ dir with posts in subdirectories. Uses type: blog for auto-listing.
N4
Custom 'FAQ' section via sections config.
Custom 'FAQ' section. faq/ dir with question-based pages. Should appear as a separate nav section.
N5
Multiple custom sections: Examples, Tutorials, and Recipes.
Multiple custom sections: Examples + Tutorials + Recipes. Three different section dirs, all configured via sections list. All should appear ...
N6
Custom section with navbar_after placement control.
Custom section with navbar_after specified. Section should appear after a specific navbar item. Tests ordering control.
N7
Custom Examples section combined with auto-discovered user guide.
Custom section (Examples) combined with auto-discovered user guide. Both should appear as separate nav sections without conflict.
N1 M1
Custom Tutorials section combined with explicit reference config.
Custom section (Tutorials) combined with explicit reference config. Both custom nav sections and custom reference order should work.
N2 P1
Custom section with nested subdirectories.
Custom section with nested subdirectories: tutorials/beginner/ and tutorials/advanced/. Deep structure within a custom section.
N2
Sections with and without auto-generated index pages.
Section index opt-in: Examples section with index: true gets a card-based index page; Tutorials section without index (default) has navbar l...
N8
Section index pages with hero images: 2-col demos (mixed image + plain) and 1-col gallery (all images).
Section index hero cards: Demos section with 2-col image cards (4 featured + 6 plain links), Gallery section with 1-col image cards (index_c...
N10
Section sidebar: hidden for single-page sections, visible for multi-page.
Section sidebar for single-page sections. Has a 2-page Guides section (sidebar visible) and a 1-page FAQ section (sidebar should be hidden, ...
N9
Passthrough custom HTML page with navbar integration.
Configured custom pages using a passthrough landing page under a non-default output prefix. The navbar should link to the rendered landing p...
N7
Raw custom page inserted after the User Guide navbar item.
Configured custom pages using a raw HTML page published under a custom output prefix. The page should be served unchanged and inserted after...
N7
Mixed passthrough/raw custom pages with copied assets.
Multiple configured custom page directories mixing passthrough and raw pages, plus copied assets and a hidden page that should not appear in...
N7
Nested custom page with user guide and section navbar ordering.
Nested configured custom pages combined with a user guide and a custom section. Navbar ordering and nested deployed paths should all coexist...
N7
Nested string custom_pages config with basename-derived output.
String-form custom_pages config pointing at a nested source dir. The deployed path should default to the source basename, and a source .htm ...
N7
Custom page output published under a nested URL prefix.
Custom pages published under a nested output prefix like products/python/. Both the page and copied assets should deploy under that nested p...
N7
Missing custom page dir is skipped while valid entries still render.
Multi-entry custom_pages config where one source directory is missing. The missing entry should be skipped while the valid one still renders...
N7
Explicit reference config listing specific objects in named sections.
Reference config with explicit contents list defining which objects appear on the reference page and in what order.
P1
Reference config with members: false on a class.
Reference config with members: false on a class. The class should appear but its methods should NOT be listed separately.
P2
Mix of explicit reference sections and auto-discovered items.
Mix of explicit reference items and auto-discovered ones. Config defines some sections explicitly, others are auto-generated.
P3
Reference config reordering: Functions before Classes.
Reference config that reorders the default sections. Functions appear before Classes, reversing the normal order.
P4
Reference with 4 named sections, each containing two functions.
Reference with 4 named sections: Constructors, Transformers, Validators, Utilities. Each lists specific exports.
P5
Reference with one named section containing all exports.
Reference with a single named section containing all exports. Everything under one heading.
P5
Reference config referencing a submodule name for expansion.
Reference config that references a submodule name. The builder should expand the module into its individual members.
P6
Reference config with a big class having >5 methods.
Reference config featuring a big class (>5 methods). Config sets members: true explicitly. Big class methods should get their own subsect...
P7
Multiple big classes in reference config.
Reference with multiple big classes in the same config. Each should get its own methods subsection without name collisions.
P7
Reference config with custom title and description.
Reference config with title: 'API Docs' and a description paragraph instead of default. The reference page heading should use this...
P8
Tests site.theme: 'cosmo' config.
Tests site.theme: 'cosmo'. The site should render with the Cosmo Bootstrap theme. All pages should apply the theme consistently.
Q1
Tests site.theme: 'lumen' config.
Tests site.theme: 'lumen'. Site renders with the Lumen theme.
Q2
Tests site.theme: 'cerulean' config.
Tests site.theme: 'cerulean'. Site renders with the Cerulean theme.
Q3
Tests site.toc: false config.
Tests site.toc: false. No table of contents should appear on any page. The layout should adjust to fill the space.
Q4
Tests site.toc-depth: 3 config.
Tests site.toc-depth: 3 (deeper than default 2). The table of contents should show h3 headings as well as h2.
Q5
Tests site.toc-title: 'Contents' config.
Tests site.toc-title: 'Contents' (vs. default 'On this page'). The TOC heading should show 'Contents'.
Q6
Site setting combo: cosmo theme + toc-depth:3 + toc-title:'Contents' + display_name.
Combination: cosmo theme + toc-depth:3 + custom toc-title + display_name. All site settings together.
Q1 Q5 Q6 K12
Complex README with markdown badges.
Package with complex README containing badges, version shields, and download counts. Landing page should render these correctly.
Q7
Authors with full metadata.
Authors displayed with all metadata: name, email, role, github, and a URL avatar. Sidebar should show author cards.
K14
Funding with all fields.
Funding org with name, roles, homepage, and ROR identifier. Footer or sidebar should show the funding acknowledgment.
K13
ALL config options at once.
ALL config options set to non-default values at once. Every toggle flipped. Build should succeed without conflicts.
K1 K4 K5 K6 K9 K10 K12 K13 K14 K15
Module with EVERY docstring feature.
Module with every docstring feature: RST directives, Sphinx roles, all NumPy sections, math, tables, examples, code blocks. Post-render shou...
L1 L3 L4 L10 L11 L15 L18 L19 L22
Maximum user guide complexity.
Maximum user guide complexity: 8 pages, frontmatter sections, subdirs, mixed extensions, numbered, with code blocks. Everything together.
M2 M3 M4 M7 M8
Maximum navigation with multiple sections, reference groups, and user guide.
Five custom sections (Examples, Tutorials, Recipes, FAQ, Blog) combined with user guide and explicit reference. Maximum navigation complexit...
N1 N2 N3 N5 N6 M1 P1
The ULTIMATE stress test combining EVERYTHING.
The ultimate stress test: ALL config options + all docstring features + complex user guide + multiple custom sections + explicit reference +...
K1 K4 K12 K13 K14 L1 L3 L10 L15 M2 M3 N1 N2 P1 Q1
src/ layout + Google docstrings + %seealso directive. Cross-dimension combo testing layout, parser, and directives.
A2 D2 E3
Hatch layout + dataclasses + %nodoc directive. InternalState has %nodoc so it should be excluded from docs; Config, UserProfile, and create_config should appear normally.
A5 C5 E4
PDM layout + big class (>5 methods) + NumPy docstrings. Tests PDM build backend with complex class documentation.
A11 C3 D1
Flit layout + enums + Google docstrings. Tests Flit build backend with enum type documentation.
A10 C6 D2
Namespace package + deeply nested user guide + subdirectory UG. Tests namespace package detection with complex user guide structure.
A12 F3 M6
Subdirectory user guide with numeric prefixes on directories and files. Tests clean URL generation and sidebar grouping from directory structure.
A1 D1 F3
Blended user-guide homepage mode (homepage: user_guide)
Blended user-guide homepage mode (homepage: user_guide). The first user guide page becomes index.qmd with the metadata sidebar. No separate ...
A1 B1 C1 D1 E6 F1 G7 H7
Long object names for sidebar wrapping tests
Long object names to test sidebar smart line-breaking. Classes like DuckDBDocumentStore, PostgreSQLDocumentStore have methods such as retrie...
A1 B1 C3 D1 E6 F6 G1 H8
Tests logo and favicon integration in the navbar
Logo and favicon integration. Provides light and dark SVG logos via great-docs.yml config. Tests that the logo replaces the text title in th...
K13
Hero section with logo, name, tagline, and badges
Hero section with logo, name, tagline, and top-of-file badges. Tests that providing a logo config auto-enables the hero section on the landi...
K13
Hero section from README with centered-div badges
Hero section from a README with centered-div badges. Tests the Pointblank-style <div align="center"> pattern where badges ar...
K13
Hero section disabled despite logo being configured
Hero section explicitly disabled via hero: false. Tests that setting hero: false prevents the hero from appearing even when a logo is config...
K13
Hero with custom name, tagline, height, and no badges
Hero with custom name, tagline, logo_height, and badges suppressed. Tests that individual hero sub-options override defaults: custom name in...
K13
Separate hero wordmark logo from navbar lettermark
Separate hero wordmark logo (light/dark) from navbar lettermark. Tests that hero.logo can specify a different image with light/dark variants...
K13
Hero with logo suppressed but name/tagline/badges shown
Hero with logo suppressed via hero.logo: false. Tests that the hero section still renders name, tagline, and badges even when the hero-speci...
K13
Hero with explicit badge list (not auto-extracted)
Hero with an explicit badge list instead of auto-extraction. Tests that providing a list under hero.badges displays those explicit badges ra...
K13
Hero section from index.qmd source file
Hero section from an index.qmd source file. Tests that hero generation works identically when the landing page source is index.qmd rather th...
K13
Auto-detect hero logo files from assets/logo-hero.svg
Auto-detect hero logo files from conventional paths. Tests that placing logo-hero.svg and logo-hero-dark.svg in assets/ causes the hero to u...
K13
Tests markdown_pages: false config
K23
Tests markdown_pages widget: false config
K24
Tests announcement banner with a simple string config
K25
Tests announcement banner with dict config (type, url, dismissable)
K26
Tests announcement banner explicitly disabled
K27
Tests announcement banner with sky gradient preset
K28
Tests announcement banner with peach gradient preset
K29
Tests announcement banner with prism gradient preset
K30
Tests announcement banner with lilac gradient preset
K31
Tests announcement banner with slate gradient preset
K32
Tests announcement banner with honey gradient preset
K33
Tests announcement banner with dusk gradient preset
K34
Tests announcement banner with mint gradient preset
K35
Tests navbar gradient style without banner gradient
K36
Tests same gradient preset on banner and navbar
K37
Tests different gradient presets on banner and navbar
K38
Tests gradient banner with dismissable disabled
K39
Tests include_in_header with a single inline string
K40
Tests include_in_header with a list of text entries
K41
Tests include_in_header with a file reference
K42
Visual showcase of navbar_color with APCA contrast algorithm
Visual showcase of navbar_color with the APCA contrast algorithm. Uses per-mode colors (charcoal light, indigo dark) and displays a swatch g...
K43
Tests navbar_color applied only to light mode
Tests navbar_color applied to light mode only. Dark mode keeps its default navbar styling. Light mode gets a deep blue-gray (#1b2838) backgr...
K44
Tests navbar_color applied only to dark mode
Tests navbar_color applied to dark mode only. Light mode keeps its default navbar styling. Dark mode gets a pale mint (#b2dfdb) background w...
K45
Tests navbar_color as a single string for both modes
Tests navbar_color as a plain string (steelblue) so the same color applies in both light and dark modes. APCA selects white text for steelbl...
K46
Tests navbar_color with contrasting light/dark choices
Tests navbar_color with contrasting per-mode choices: dark warm brown (#3e2723, white text) in light mode and pale sky blue (#bbdefb, black ...
K47
Kitchen sink with qrenderer (renderer: q)
Identical to gdtest_kitchen_sink but with renderer: 'q'. Validates qrenderer output against the classic baseline. All features sho...
A2 B1 C4 D1 F1 G1 H1 H2 H3 H4 H6
Stress-everything with qrenderer (renderer: q)
Identical to gdtest_stress_everything but with renderer: 'q'. Validates qrenderer output against the classic baseline. All feature...
K1 K4 K12 K13 K14 L1 L3 L10 L15 M2 M3 N1 N2 P1 Q1
%seealso directive with descriptions. Tests that 'name : description' entries render descriptions alongside links.
Four functions with %seealso directives using 'name : description' syntax. Tests that descriptions are preserved and rendered alon...
A1 D1 E3 L22
NumPy-style See Also sections with descriptions. Tests that 'name : description' entries survive the post-render merge.
Four functions with NumPy-style See Also sections containing 'name : description' entries. Tests that descriptions survive the pos...
A1 D1 L22
Interlinks syntax in docstring prose. Tests that [](`~Name`) references inside description text are resolved to proper hyperlinks by the post-render step.
Three classes and a function using [](`~pkg.Name`) interlinks syntax directly in docstring prose text. Tests that the post-render resolver c...
A1 D1 E3 L26
Autolink inline code to API reference pages. Tests that `Name`, `Name()`, `~~pkg.Name`, and `~~.pkg.Name` in docstring prose are converted to clickable links.
Three classes and a function using inline code (`Name`, `Name()`, `~~pkg.Name`, `~~.pkg.Name`) that gets auto-converted into clickable links...
A1 D1 E3 L26
Tests default auto-generated skill.md (no config, no curated skill)
Auto-generated skill.md with no config overrides and no curated skill directory. Tests baseline skill generation from package metadata. The ...
S1
Tests curated skill from skills/<name>/SKILL.md directory
A hand-crafted SKILL.md in skills/gdtest-skill-curated/. Great Docs should detect and use the curated file instead of auto-generating. Tests...
S2
Tests enriched auto-generated skill with config overrides
Auto-generated skill enriched with gotchas, best_practices, decision_table, and extra_body from great-docs.yml. Tests that config overrides ...
S3
Tests that skill generation is disabled via config
Skill generation explicitly disabled via skill.enabled: false. No skill.md, skills.qmd, or .well-known directory should be created. The side...
S4
Tests curated skill with rich content — tables, code, many sections
Curated skill with extensive Markdown: multiple heading levels, fenced code blocks in Python/YAML/Bash, tables, inline formatting, plus conf...
S5
Tests skill + user guide + hero + GitHub URL + extras
Cross-feature integration: curated skill combined with a user guide, hero section, GitHub repo URL, site_url, and config-level gotchas/ best...
S6
Tests skill with subdirectories: references/, scripts/, assets/
Sophisticated skill composition: curated SKILL.md accompanied by the full Agent Skills directory structure — references/ (API cheatsheet, mi...
S7
i18n test with French (Latin script). Docstrings, user guide, and metadata are written in French for full native-language experience.
i18n test with French (Latin script). Sets site.language: fr and enables announcement banner, GitHub widget, user guide, dark mode, back-to-...
K50
i18n test with Japanese (CJK script). Docstrings, user guide, and metadata are written in Japanese for full native-language experience.
i18n test with Japanese (CJK script). Sets site.language: ja and enables every translatable widget. Verifies CJK characters render correctly...
K51
i18n test with Arabic (RTL script). Docstrings, user guide, and metadata are written in Arabic for full native-language experience.
i18n test with Arabic (RTL script). Sets site.language: ar and enables every translatable widget. Verifies dir=rtl on the HTML element, righ...
K52
Executable code cells in docstring examples
Executable code cells in docstring examples. Tests that ```{python} blocks are preserved as executable Quarto cells, #| directives like eval...
A1 B1 C1 D1 E6 F6 G1 H7
Navigation icons on navbar and sidebar entries
Showcases Lucide navigation icons on both the navbar (User Guide, Recipes, Reference) and sidebar section headings (Getting Started, Configu...
A1 B1 C4 D2 E6 F1 G1 H7 K53 N2
Page tags with hierarchy, shadow tags, and tag icons
Four user-guide pages tagged with flat, hierarchical, and shadow tags. Tests that tags/index.qmd is generated with all visible tags, that pa...
T1
Page status badges in sidebar navigation and on pages
Seven user-guide pages exercising page status badges. Six pages carry a status frontmatter value (new, updated, beta, deprecated, experiment...
T2
Tag pills at top vs. bottom with per-page overrides
Six user-guide pages testing tag_location placement. The global default is set to 'bottom' so tags appear after page metadata. Thr...
T3
Icon shortcode in headings, tables, callouts, and prose
Two user-guide pages exercising the Lucide icon Quarto shortcode in many content contexts: section headings, inline prose, Markdown tables, ...
A1 B1 C4 D2 E6 F1 G1 H7
Blended homepage: user_guide with subdirectory structure + section with asset directories
Combines homepage: user_guide with a user guide that has subdirectories (root index.qmd + 00-getting-started/ + 01-advanced/) and a custom E...
G7 M4 N1
GT tables rendering alongside Markdown tables
Renders Great Tables (GT) output alongside conventional Markdown tables. Tests that GT tables preserve <colgroup> tags, are not wrappe...
G7 M4 N1
Scale-to-fit config system for wide HTML output
Tests the 3-level scale-to-fit configuration system: global config targeting by CSS selector, page-level frontmatter overrides, and manual d...
G7 M4 N1
Minimum-scale keyword and float thresholds for scale-to-fit
Tests scale-to-fit minimum-scale thresholds: viewport keyword breakpoints (mobile ≤576px, tablet ≤768px, desktop ≤992px) and fractional floa...
G7 M4 N1
Homepage with wide content and column-margin sidebar
Tests that wide content on the homepage (code blocks, wide tables) renders at full width when the column-margin metadata sidebar is present....
A1 B1 C1 D1 E6 F6 G1 H7
Interlinks syntax in user-guide pages. Tests that [](`~Name`) references and inline-code autolinking work on non-reference pages via the all-pages GDLS pass.
Three exports (Engine, Connection, execute) with user-guide pages using [](`~pkg.Name`) interlinks and inline-code autolinking. Tests that t...
A1 D1 F1 L26
Custom docstring headings with backtick code spans. Tests that title-casing preserves code verbatim and slugs are sanitized.
Two functions with custom docstring section headings containing backtick code spans (e.g. 'What Can Be Used in `value=`?'). Tests ...
A1 D1 L26
Blog section with user-provided index.qmd.
Blog section with a user-provided blog/index.qmd (table listing). Tests that Great Docs injects toc: false and body-classes: gd-blog-index i...
N4
Custom section with dir_titles overrides and numeric-prefix subdirectories.
Custom section with dir_titles overrides and numeric-prefix subdirectories (01-getting-started/, 02-results-and-reporting/, 03-advanced-topi...
N11
Namespace package with src/ layout and dotted module name
Namespace package using src/ layout with dotted module name (nspkg.core). Code lives at src/nspkg/core/__init__.py and the great-docs.yml se...
A2 A12 B1 C4 D1 E6 F6 G1 H7
Force-include AUTO_EXCLUDE names via auto_include config
Module exports names that match AUTO_EXCLUDE (config, logging, main) alongside real API (Widget, process). The auto_include config option fo...
A1 B7 C4 D1 E6 F6 G1 H7
Bypass AUTO_EXCLUDE entirely via no_auto_exclude config
Module exports names that match AUTO_EXCLUDE (main, config, logger) alongside real API (Adapter, run). The no_auto_exclude config option is ...
A1 B7 C4 D1 E6 F6 G1 H7
Table preview showcase with diverse table types and options.
Table preview showcase exercising tbl_preview() with six user-guide pages: basic dict/list-of-dicts previews, Pandas DataFrames, Polars Data...
A1 B1 C1 D1 M2 G1
tbl-preview Quarto shortcode with CSV, TSV, and JSONL data files.
tbl-preview Quarto shortcode showcase with CSV, TSV, and JSONL data files in assets/. Five user-guide pages exercise every shortcode paramet...
A1 B1 C4 D2 E6 F1 G1 H7
Interactive table explorer showcase with sorting, filtering, pagination.
Interactive table explorer showcase exercising tbl_explorer() with eight user-guide pages: basic sorting/filtering, pagination (custom page ...
A1 B1 C1 D1 M2 G1
Decorative horizontal rule shortcode with styles, presets, and text
Decorative horizontal rule shortcode showcase exercising the {{< hr >}} shortcode in six user-guide pages: line styles (solid, dashed,...
A1 B1 C4 D2 E6 F1 G1 H7
Site-wide accent_color config with hr shortcode integration
Site-wide accent_color config option that sets --gd-accent via great-docs.yml. Uses a distinctive teal (#0d9488) to verify the accent propag...
A1 B1 C4 D2 E6 F1 G1 H7
Keyboard key shortcode with combos, platform-aware rendering
Keyboard keys shortcode showcase exercising the {{< keys >}} shortcode in four user-guide pages: single keys (Esc, Enter, Tab, modifie...
A1 B1 C4 D2 E6 F1 G1 H7
Tests inline_methods config (default threshold of 5)
Tests the inline_methods config with the default threshold of 5. SmallWidget (3 methods) stays inline while BigProcessor (8 methods) gets sp...
K54
Tests inline_methods: true (always inline, never split)
Tests inline_methods: true which forces all class methods to stay inline on the class page regardless of method count. LargeAPI with 8 metho...
K55
Tests inline_methods: false (always split to separate pages)
Tests inline_methods: false which forces all class methods to be split into separate pages regardless of method count. Even TinyWidget with ...
K56
Tests inline_methods: 10 (custom numeric threshold)
Tests inline_methods: 10 custom numeric threshold. CompactClient (8 methods) stays inline while FullClient (12 methods) gets split into a se...
K54
Reference config listing inherited methods explicitly.
Reference config listing inherited methods (validate, reset) explicitly in the members list of AdvancedProcessor. The child class page shoul...
P9
Reference config with include_inherited: true flag.
Reference config using include_inherited: true on Circle. The renderer should automatically include inherited methods (describe) from Shape ...
P10
Mock code cells and output-title containers
Mock code cells (source-code: mock) and output-title containers. Tests that the preprocessor splits mock cells into display + eval pairs, ou...
A1 B1 C1 D1 E6 F6 G1 H7
Collapsible details extension with types, icons, accordion, nesting
Collapsible details shortcode showcase exercising the {{< details >}} shortcode in seven user-guide pages: basic usage (expand/collaps...
A1 B1 C4 D2 E6 F1 G1 H7