Skip to content

Commit fd4ca80

Browse files
committed
feat(issues): support sidebar name
1 parent ca2377d commit fd4ca80

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

Diff for: crates/rari-doc/src/html/sidebar.rs

+24-12
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use rari_types::locale::{default_locale, Locale};
1212
use rari_utils::concat_strs;
1313
use scraper::{Html, Node, Selector};
1414
use serde::{Deserialize, Serialize, Serializer};
15+
use tracing::{span, Level};
1516

1617
use super::links::{render_link_from_page, render_link_via_page, LinkModifier};
1718
use super::modifier::insert_attribute;
@@ -110,7 +111,7 @@ pub fn render_sidebar(s: &str, slug: &str, locale: Locale) -> Result<String, Doc
110111
return Ok::<_, DocError>(sb);
111112
}
112113
let sidebar = read_sidebar(s, locale, slug)?;
113-
let rendered_sidebar = sidebar.render(locale)?;
114+
let rendered_sidebar = sidebar.render(s, locale)?;
114115
SIDEBAR_CACHE
115116
.entry(locale)
116117
.or_default()
@@ -119,7 +120,7 @@ pub fn render_sidebar(s: &str, slug: &str, locale: Locale) -> Result<String, Doc
119120
rendered_sidebar
120121
} else {
121122
let sidebar = read_sidebar(s, locale, slug)?;
122-
sidebar.render_with_slug(slug, locale)?
123+
sidebar.render_with_slug(s, slug, locale)?
123124
};
124125
Ok::<_, DocError>(rendered_sidebar)
125126
}
@@ -214,23 +215,34 @@ impl TryFrom<Sidebar> for MetaSidebar {
214215
}
215216

216217
impl MetaSidebar {
217-
pub fn render(&self, locale: Locale) -> Result<String, DocError> {
218+
fn render_internal(
219+
&self,
220+
name: &str,
221+
slug: Option<&str>,
222+
locale: Locale,
223+
) -> Result<String, DocError> {
224+
let span = span!(Level::ERROR, "sidebar", sidebar = name,);
225+
let _enter = span.enter();
218226
let mut out = String::new();
219227
out.push_str("<ol>");
220228
for entry in &self.entries {
221-
entry.render(&mut out, locale, None, &self.l10n)?;
229+
entry.render(&mut out, locale, slug, &self.l10n)?;
222230
}
223231
out.push_str("</ol>");
224232
Ok(out)
225233
}
226-
pub fn render_with_slug(&self, slug: &str, locale: Locale) -> Result<String, DocError> {
227-
let mut out = String::new();
228-
out.push_str("<ol>");
229-
for entry in &self.entries {
230-
entry.render(&mut out, locale, Some(slug), &self.l10n)?;
231-
}
232-
out.push_str("</ol>");
233-
Ok(out)
234+
235+
pub fn render(&self, name: &str, locale: Locale) -> Result<String, DocError> {
236+
self.render_internal(name, None, locale)
237+
}
238+
239+
pub fn render_with_slug(
240+
&self,
241+
name: &str,
242+
slug: &str,
243+
locale: Locale,
244+
) -> Result<String, DocError> {
245+
self.render_internal(name, Some(slug), locale)
234246
}
235247
}
236248

Diff for: crates/rari-doc/src/templ/templs/sidebars.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ use crate::sidebars::{apiref, default_api_sidebar, jsref};
66

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

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

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

2222
#[rari_f]

0 commit comments

Comments
 (0)