1use crate::assets;
2
3pub fn asset_url(base_path: &str, path: &str) -> String {
4 let base_path = base_path.trim_end_matches('/');
5 let path = path.trim_start_matches('/');
6 format!("{base_path}/{path}")
7}
8
9pub fn stylesheet_link(base_path: &str) -> String {
10 format!(
11 r#"<link rel="stylesheet" href="{}">"#,
12 asset_url(base_path, assets::STYLESHEET_PATH)
13 )
14}
15
16pub fn script_link(base_path: &str) -> String {
17 format!(
18 r#"<script src="{}" defer></script>"#,
19 asset_url(base_path, assets::SCRIPT_PATH)
20 )
21}
22
23pub fn htmx_script_link(base_path: &str) -> String {
24 format!(
25 r#"<script src="{}" defer></script>"#,
26 asset_url(base_path, assets::HTMX_SCRIPT_PATH)
27 )
28}
29
30pub fn htmx_sse_script_link(base_path: &str) -> String {
31 format!(
32 r#"<script src="{}" defer></script>"#,
33 asset_url(base_path, assets::HTMX_SSE_SCRIPT_PATH)
34 )
35}