rlsbl.targets.docs.markdown

Convert extracted documentation data into Markdown files.

Functions

generate_markdown

def generate_markdown(pages, version, project_name=None)

Convert extracted page data into Markdown files.

Args: pages: List of page dicts from extract_python_docs. version: Version string for display in headers. project_name: Project name for the index page title.

Returns: Dict mapping relative file paths to markdown content. e.g., {"api/rlsbl.commands.release.html": "# rlsbl.commands.release\n\n..."}

Also generates: - "index.html" -- table of contents / navigation - "api/index.html" -- API reference overview listing all modules

_has_documented_items

def _has_documented_items(page)

Check if a page has any documented content worth rendering.

_render_module_page

def _render_module_page(page)

Render a single module's documentation as Markdown.

_render_api_index

def _render_api_index(modules, project_name, version)

Render the API reference index listing all modules grouped by package.

_render_index

def _render_index(modules, project_name, version)

Render the top-level documentation index.

_group_by_package

def _group_by_package(modules)

Group modules by their top-level package name.

e.g., "rlsbl.commands.release" goes into the "rlsbl" group. Modules with no dots go into a group named after themselves.

_first_line

def _first_line(text)

Extract the first non-empty line from a string.