Skip to main content

easydoc_reader/view/
render.rs

1//! 视图渲染入口函数。
2
3use easydoc_core::{DocumentContent, Result};
4
5use super::ViewMode;
6use super::{annotated, outline, plain, stats};
7
8/// 按照指定的 [`ViewMode`] 将 [`DocumentContent`] 渲染为字符串。
9///
10/// # 错误
11///
12/// 如果渲染失败则返回错误(当前不可失败,但签名允许未来可失败渲染)。
13pub fn render_view(content: &DocumentContent, mode: &ViewMode) -> Result<String> {
14    match mode {
15        ViewMode::Plain => Ok(plain::render(content)),
16        ViewMode::Annotated => Ok(annotated::render(content)),
17        ViewMode::Outline { max_level } => Ok(outline::render(content, *max_level)),
18        ViewMode::Stats => Ok(stats::render(content)),
19    }
20}