Skip to content

Commit fe7d2e8

Browse files
committed
feat(templ): more sidebars
- learnsidebar - svgref - httpsidebar - jssidebar - htmlsidebar - accessibilitysidebar - firefoxsidebar
1 parent 2667aad commit fe7d2e8

File tree

5 files changed

+72
-4
lines changed

5 files changed

+72
-4
lines changed

Diff for: crates/rari-doc/src/docs/page.rs

+3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ impl Page {
4848
if url_path.starts_with("/users/") {
4949
return true;
5050
}
51+
if url_path.starts_with("/en-US/observatory") {
52+
return true;
53+
}
5154
if url_path.starts_with("/en-US/plus") {
5255
return true;
5356
}

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

+7-3
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,11 @@ pub fn render_link_via_page(
8181
with_badges: bool,
8282
) -> Result<(), DocError> {
8383
let mut url = Cow::Borrowed(link);
84-
if link.starts_with('/') {
84+
if let Some(link) = link.strip_prefix('/') {
8585
if let Some(locale) = locale {
86-
url = Cow::Owned(format!("/{}/docs{link}", locale.as_url_str()));
86+
if !link.starts_with(Locale::default().as_url_str()) {
87+
url = Cow::Owned(format!("/{}/docs/{link}", locale.as_url_str()));
88+
}
8789
};
8890
let (url, anchor) = url.split_once('#').unwrap_or((&url, ""));
8991
match RariApi::get_page(url) {
@@ -109,7 +111,9 @@ pub fn render_link_via_page(
109111
);
110112
}
111113
Err(e) => {
112-
warn!("Link via page not found for {url}: {e}",)
114+
if !Page::ignore(url) {
115+
warn!("Link via page not found for {url}: {e}")
116+
}
113117
}
114118
}
115119
}

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

+13-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,19 @@ use crate::helpers::subpages::{list_sub_pages_grouped_internal, list_sub_pages_i
2020
use crate::utils::t_or_vec;
2121

2222
fn cache_side_bar(sidebar: &str) -> bool {
23-
cache_content() && matches!(sidebar, "cssref" | "glossarysidebar")
23+
cache_content()
24+
&& matches!(
25+
sidebar,
26+
"cssref"
27+
| "glossarysidebar"
28+
| "learnsidebar"
29+
| "svgref"
30+
| "httpsidebar"
31+
| "jssidebar"
32+
| "htmlsidebar"
33+
| "accessibilitysidebar"
34+
| "firefoxsidebar"
35+
)
2436
}
2537

2638
type SidebarCache = Arc<RwLock<HashMap<Locale, HashMap<String, String>>>>;

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

+14
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ pub fn invoke(
4343
| "glossarysidebar"
4444
| "quicklinkswithsubpages"
4545
| "addonsidebar"
46+
| "learnsidebar"
47+
| "svgref"
48+
| "httpsidebar"
49+
| "jssidebar"
50+
| "htmlsidebar"
51+
| "accessibilitysidebar"
52+
| "firefoxsidebar"
4653
);
4754
let f = match name.as_str() {
4855
"compat" => compat::compat_any,
@@ -116,6 +123,13 @@ pub fn invoke(
116123
"glossarysidebar" => sidebars::glossarysidebar_any,
117124
"quicklinkswithsubpages" => quick_links_with_subpages::quick_links_with_subpages_any,
118125
"addonsidebar" => sidebars::addonsidebar_any,
126+
"learnsidebar" => sidebars::learnsidebar_any,
127+
"svgref" => sidebars::svgref_any,
128+
"httpsidebar" => sidebars::httpsidebar_any,
129+
"jssidebar" => sidebars::jssidebar_any,
130+
"htmlsidebar" => sidebars::htmlsidebar_any,
131+
"accessibilitysidebar" => sidebars::accessibilitysidebar_any,
132+
"firefoxsidebar" => sidebars::firefoxsidebar_any,
119133

120134
// unknown
121135
_ if deny_warnings() => return Err(DocError::UnknownMacro(ident.to_string())),

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

+35
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,38 @@ pub fn glossarysidebar() -> Result<String, DocError> {
3333
pub fn addonsidebar() -> Result<String, DocError> {
3434
sidebar::render_sidebar("addonsidebar", env.slug, env.locale)
3535
}
36+
37+
#[rari_f]
38+
pub fn learnsidebar() -> Result<String, DocError> {
39+
sidebar::render_sidebar("learnsidebar", env.slug, env.locale)
40+
}
41+
42+
#[rari_f]
43+
pub fn svgref() -> Result<String, DocError> {
44+
sidebar::render_sidebar("svgref", env.slug, env.locale)
45+
}
46+
47+
#[rari_f]
48+
pub fn httpsidebar() -> Result<String, DocError> {
49+
sidebar::render_sidebar("httpsidebar", env.slug, env.locale)
50+
}
51+
52+
#[rari_f]
53+
pub fn jssidebar() -> Result<String, DocError> {
54+
sidebar::render_sidebar("jssidebar", env.slug, env.locale)
55+
}
56+
57+
#[rari_f]
58+
pub fn htmlsidebar() -> Result<String, DocError> {
59+
sidebar::render_sidebar("htmlsidebar", env.slug, env.locale)
60+
}
61+
62+
#[rari_f]
63+
pub fn accessibilitysidebar() -> Result<String, DocError> {
64+
sidebar::render_sidebar("accessibilitysidebar", env.slug, env.locale)
65+
}
66+
67+
#[rari_f]
68+
pub fn firefoxsidebar() -> Result<String, DocError> {
69+
sidebar::render_sidebar("firefoxsidebar", env.slug, env.locale)
70+
}

0 commit comments

Comments
 (0)