make resource tag list template configurable

This commit is contained in:
zyl 2024-11-04 17:21:42 -08:00
parent db1a084885
commit 00c90a12d7
Signed by: zyl
SSH key fingerprint: SHA256:uxxbSXbdroP/OnKBGnEDk5q7EKB2razvstC/KmzdXXs
3 changed files with 9 additions and 4 deletions

View file

@ -25,14 +25,14 @@ impl<'l> Link<'l> {
/// Renders a basic list of links.
pub fn render_basic_link_list(
builder: &SiteBuilder,
template: &str,
links: Vec<Link>,
title: &str,
) -> eyre::Result<String> {
let data = LinkTemplateData { links, title };
let out = builder.tera.render(
"basic-link-list.tera",
&tera::Context::from_serialize(data)?,
)?;
let out = builder
.tera
.render(template, &tera::Context::from_serialize(data)?)?;
let out = builder.build_page_raw(
PageMetadata {
title: Some(title.to_owned()),

View file

@ -146,6 +146,8 @@ pub struct ResourceBuilderConfig {
pub resource_template: String,
/// The template used to render a list of resources.
pub resource_list_template: String,
/// The template used to render the resource's tag pages.
pub tag_list_template: String,
/// Template used when rendering the RSS feed.
pub rss_template: String,
/// The RSS feed's title.
@ -406,6 +408,7 @@ impl ResourceBuilder {
.collect();
let out = crate::link_list::render_basic_link_list(
builder,
&self.config.tag_list_template,
links,
&self.config.tag_list_title,
)?;