51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
"""Type stubs for doc-forge renderers package."""
|
|
|
|
from typing import Any, Dict, List, Optional, Protocol, Union
|
|
from pathlib import Path
|
|
from docforge.model import Project
|
|
|
|
class DocRenderer(Protocol):
|
|
"""Protocol for documentation renderers."""
|
|
|
|
name: str
|
|
|
|
def generate_sources(self, project: Project, out_dir: Path) -> None: ...
|
|
|
|
def build(self, config: 'RendererConfig') -> None: ...
|
|
|
|
def serve(self, config: 'RendererConfig') -> None: ...
|
|
|
|
class RendererConfig:
|
|
"""Base configuration for renderers."""
|
|
|
|
out_dir: Path
|
|
project: Project
|
|
extra: Dict[str, Any]
|
|
|
|
def __init__(self, out_dir: Path, project: Project, extra: Optional[Dict[str, Any]] = None) -> None: ...
|
|
|
|
class MkDocsRenderer:
|
|
"""MkDocs documentation renderer."""
|
|
|
|
name: str = "mkdocs"
|
|
|
|
def __init__(self) -> None: ...
|
|
|
|
def generate_sources(self, project: Project, out_dir: Path) -> None: ...
|
|
|
|
def build(self, config: RendererConfig) -> None: ...
|
|
|
|
def serve(self, config: RendererConfig) -> None: ...
|
|
|
|
class SphinxRenderer:
|
|
"""Sphinx documentation renderer."""
|
|
|
|
name: str = "sphinx"
|
|
|
|
def __init__(self) -> None: ...
|
|
|
|
def generate_sources(self, project: Project, out_dir: Path) -> None: ...
|
|
|
|
def build(self, config: RendererConfig) -> None: ...
|
|
|
|
def serve(self, config: RendererConfig) -> None: ... |