diff options
Diffstat (limited to 'docs/src/lib.rs')
| -rw-r--r-- | docs/src/lib.rs | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/docs/src/lib.rs b/docs/src/lib.rs index 4ee6d50d..a30ed088 100644 --- a/docs/src/lib.rs +++ b/docs/src/lib.rs @@ -91,8 +91,7 @@ pub fn provide(resolver: &dyn Resolver) -> Vec<PageModel> { tutorial_pages(resolver), reference_pages(resolver), guide_pages(resolver), - packages_page(resolver), - md_page(resolver, base, load!("changelog.md")), + changelog_pages(resolver), ] } @@ -120,11 +119,11 @@ pub trait Resolver { fn md_page(resolver: &dyn Resolver, parent: &str, md: &str) -> PageModel { assert!(parent.starts_with('/') && parent.ends_with('/')); let html = Html::markdown(resolver, md, Some(0)); - let title: EcoString = html.title().expect("chapter lacks a title").into(); + let title = html.title().expect("chapter lacks a title"); PageModel { - route: eco_format!("{parent}{}/", urlify(&title)), - title, - description: html.description().unwrap(), + route: eco_format!("{parent}{}/", urlify(title)), + title: title.into(), + description: html.description().expect("chapter lacks a description"), part: None, outline: html.outline(), body: BodyModel::Html(html), @@ -179,21 +178,27 @@ fn guide_pages(resolver: &dyn Resolver) -> PageModel { page } -/// Build the packages section. -fn packages_page(resolver: &dyn Resolver) -> PageModel { - PageModel { - route: eco_format!("{}packages/", resolver.base()), - title: "Packages".into(), - description: "Packages for Typst.".into(), - part: None, - outline: vec![], - body: BodyModel::Packages(Html::markdown( - resolver, - load!("reference/packages.md"), - Some(1), - )), - children: vec![], - } +/// Build the changelog section. +fn changelog_pages(resolver: &dyn Resolver) -> PageModel { + let mut page = md_page(resolver, resolver.base(), load!("changelog/welcome.md")); + let base = format!("{}changelog/", resolver.base()); + page.children = vec![ + md_page(resolver, &base, load!("changelog/unreleased.md")), + md_page(resolver, &base, load!("changelog/0.11.1.md")), + md_page(resolver, &base, load!("changelog/0.11.0.md")), + md_page(resolver, &base, load!("changelog/0.10.0.md")), + md_page(resolver, &base, load!("changelog/0.9.0.md")), + md_page(resolver, &base, load!("changelog/0.8.0.md")), + md_page(resolver, &base, load!("changelog/0.7.0.md")), + md_page(resolver, &base, load!("changelog/0.6.0.md")), + md_page(resolver, &base, load!("changelog/0.5.0.md")), + md_page(resolver, &base, load!("changelog/0.4.0.md")), + md_page(resolver, &base, load!("changelog/0.3.0.md")), + md_page(resolver, &base, load!("changelog/0.2.0.md")), + md_page(resolver, &base, load!("changelog/0.1.0.md")), + md_page(resolver, &base, load!("changelog/earlier.md")), + ]; + page } /// Create a page for a category. @@ -707,7 +712,7 @@ pub fn urlify(title: &str) -> EcoString { .chars() .map(|c| c.to_ascii_lowercase()) .map(|c| match c { - 'a'..='z' | '0'..='9' => c, + 'a'..='z' | '0'..='9' | '.' => c, _ => '-', }) .collect() |
