Skip to content

Commit

Permalink
feat(issues): support sidebar name
Browse files Browse the repository at this point in the history
  • Loading branch information
fiji-flo committed Dec 1, 2024
1 parent ca2377d commit fd4ca80
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
36 changes: 24 additions & 12 deletions crates/rari-doc/src/html/sidebar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ use rari_types::locale::{default_locale, Locale};
use rari_utils::concat_strs;
use scraper::{Html, Node, Selector};
use serde::{Deserialize, Serialize, Serializer};
use tracing::{span, Level};

use super::links::{render_link_from_page, render_link_via_page, LinkModifier};
use super::modifier::insert_attribute;
Expand Down Expand Up @@ -110,7 +111,7 @@ pub fn render_sidebar(s: &str, slug: &str, locale: Locale) -> Result<String, Doc
return Ok::<_, DocError>(sb);
}
let sidebar = read_sidebar(s, locale, slug)?;
let rendered_sidebar = sidebar.render(locale)?;
let rendered_sidebar = sidebar.render(s, locale)?;
SIDEBAR_CACHE
.entry(locale)
.or_default()
Expand All @@ -119,7 +120,7 @@ pub fn render_sidebar(s: &str, slug: &str, locale: Locale) -> Result<String, Doc
rendered_sidebar
} else {
let sidebar = read_sidebar(s, locale, slug)?;
sidebar.render_with_slug(slug, locale)?
sidebar.render_with_slug(s, slug, locale)?
};
Ok::<_, DocError>(rendered_sidebar)
}
Expand Down Expand Up @@ -214,23 +215,34 @@ impl TryFrom<Sidebar> for MetaSidebar {
}

impl MetaSidebar {
pub fn render(&self, locale: Locale) -> Result<String, DocError> {
fn render_internal(
&self,
name: &str,
slug: Option<&str>,
locale: Locale,
) -> Result<String, DocError> {
let span = span!(Level::ERROR, "sidebar", sidebar = name,);
let _enter = span.enter();
let mut out = String::new();
out.push_str("<ol>");
for entry in &self.entries {
entry.render(&mut out, locale, None, &self.l10n)?;
entry.render(&mut out, locale, slug, &self.l10n)?;
}
out.push_str("</ol>");
Ok(out)
}
pub fn render_with_slug(&self, slug: &str, locale: Locale) -> Result<String, DocError> {
let mut out = String::new();
out.push_str("<ol>");
for entry in &self.entries {
entry.render(&mut out, locale, Some(slug), &self.l10n)?;
}
out.push_str("</ol>");
Ok(out)

pub fn render(&self, name: &str, locale: Locale) -> Result<String, DocError> {
self.render_internal(name, None, locale)
}

pub fn render_with_slug(
&self,
name: &str,
slug: &str,
locale: Locale,
) -> Result<String, DocError> {
self.render_internal(name, Some(slug), locale)
}
}

Expand Down
6 changes: 3 additions & 3 deletions crates/rari-doc/src/templ/templs/sidebars.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ use crate::sidebars::{apiref, default_api_sidebar, jsref};

#[rari_f]
pub fn apiref(group: Option<String>) -> Result<String, DocError> {
apiref::sidebar(env.slug, group.as_deref(), env.locale)?.render(env.locale)
apiref::sidebar(env.slug, group.as_deref(), env.locale)?.render("apiref", env.locale)
}

#[rari_f]
pub fn default_api_sidebar(group: String) -> Result<String, DocError> {
default_api_sidebar::sidebar(&group, env.locale)?.render(env.locale)
default_api_sidebar::sidebar(&group, env.locale)?.render("default_api", env.locale)
}

#[rari_f]
pub fn jsref() -> Result<String, DocError> {
jsref::sidebar(env.slug, env.locale)?.render(env.locale)
jsref::sidebar(env.slug, env.locale)?.render("jsref", env.locale)
}

#[rari_f]
Expand Down

0 comments on commit fd4ca80

Please sign in to comment.