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}