pub struct ModuleRenderer<'a> { /* private fields */ }Expand description
Module page renderer that converts DocModel modules into Markdown files.
Implementations§
Source§impl<'a> ModuleRenderer<'a>
impl<'a> ModuleRenderer<'a>
Sourcepub fn with_cross_refs(
renderer: &'a Renderer,
cross_refs: Vec<CrossRef>,
) -> Self
pub fn with_cross_refs( renderer: &'a Renderer, cross_refs: Vec<CrossRef>, ) -> Self
Create a module renderer with cross-references for bi-directional linking
Sourcepub fn render_python_module(
&self,
module: &PythonModule,
) -> Result<Vec<RenderedPage>, Error>
pub fn render_python_module( &self, module: &PythonModule, ) -> Result<Vec<RenderedPage>, Error>
Render a Python module to a single Markdown file with all content inline.
This creates one file per module with classes, methods, and functions all rendered inline rather than as separate pages.
Sourcepub fn render_rust_module(
&self,
module: &RustModule,
) -> Result<Vec<RenderedPage>, Error>
pub fn render_rust_module( &self, module: &RustModule, ) -> Result<Vec<RenderedPage>, Error>
Render a Rust module to a single Markdown file with all content inline.
This creates one file per module with structs, enums, and functions all rendered inline rather than as separate pages.
Sourcepub fn render_python_modules(
&self,
modules: &[PythonModule],
) -> Result<Vec<RenderedPage>, Error>
pub fn render_python_modules( &self, modules: &[PythonModule], ) -> Result<Vec<RenderedPage>, Error>
Render all Python modules from a list
Sourcepub fn render_rust_modules(
&self,
modules: &[RustModule],
) -> Result<Vec<RenderedPage>, Error>
pub fn render_rust_modules( &self, modules: &[RustModule], ) -> Result<Vec<RenderedPage>, Error>
Render all Rust modules from a list
Generate navigation using an SSG adapter.
This method provides a unified interface for generating navigation
regardless of the target SSG. Use super::ssg::get_ssg_adapter to
get the appropriate adapter for your template.
§Example
use plissken_core::render::ssg::get_ssg_adapter;
let adapter = get_ssg_adapter(Some("mkdocs-material"));
let nav = module_renderer.generate_nav(&adapter, &python_modules, &rust_modules);Sourcepub fn generate_config(
&self,
adapter: &dyn SSGAdapter,
title: &str,
authors: &[String],
) -> Option<String>
pub fn generate_config( &self, adapter: &dyn SSGAdapter, title: &str, authors: &[String], ) -> Option<String>
Generate SSG config file using an adapter.
Returns None for SSGs that don’t need generated config (e.g., MkDocs).
Sourcepub fn generate_custom_css(&self, adapter: &dyn SSGAdapter) -> Option<String>
pub fn generate_custom_css(&self, adapter: &dyn SSGAdapter) -> Option<String>
Generate custom CSS using an adapter.
Returns None for SSGs that don’t need custom CSS.
Generate navigation YAML for mkdocs.yml
Creates a nav structure with inline format (one file per module):
nav:
- Python:
- pysnake: pysnake.md
- Rust:
- rustscale: rust/rustscale.md
- rustscale::config: rust/rustscale/config.mdSourcepub fn generate_mdbook_summary(
&self,
python_modules: &[PythonModule],
rust_modules: &[RustModule],
prefix: Option<&str>,
) -> String
pub fn generate_mdbook_summary( &self, python_modules: &[PythonModule], rust_modules: &[RustModule], prefix: Option<&str>, ) -> String
Generate SUMMARY.md for mdBook navigation
Creates a hierarchical navigation with inline format (one file per module):
# Summary
# Python
- [pysnake](pysnake.md)
- [pysnake.handlers](pysnake/handlers.md)
# Rust
- [rustscale](rust/rustscale.md)
- [rustscale::config](rust/rustscale/config.md)Sourcepub fn generate_mdbook_config(&self, title: &str, authors: &[String]) -> String
pub fn generate_mdbook_config(&self, title: &str, authors: &[String]) -> String
Generate book.toml configuration for mdBook
Includes fold configuration for collapsible sidebar sections.
Sourcepub fn generate_mdbook_css(&self) -> String
pub fn generate_mdbook_css(&self) -> String
Generate custom CSS for mdBook
Hides chapter numbering for reference documentation sections (python/, rust/) while preserving numbering for other documentation sections.