diff --git a/crates/emmylua_doc_cli/src/cmd_args.rs b/crates/emmylua_doc_cli/src/cmd_args.rs index 7ed328717..4d5897b76 100644 --- a/crates/emmylua_doc_cli/src/cmd_args.rs +++ b/crates/emmylua_doc_cli/src/cmd_args.rs @@ -19,6 +19,9 @@ pub struct CmdArgs { #[arg(long)] pub override_template: Option, + #[arg(long, default_value = "Docs")] + pub site_name: Option, + /// The path of the mixin md file #[arg(long)] pub mixin: Option, diff --git a/crates/emmylua_doc_cli/src/main.rs b/crates/emmylua_doc_cli/src/main.rs index b5a0e6335..b9e6d7b4f 100644 --- a/crates/emmylua_doc_cli/src/main.rs +++ b/crates/emmylua_doc_cli/src/main.rs @@ -33,6 +33,7 @@ fn main() -> Result<(), Box> { &mut analysis, args.output, args.override_template, + args.site_name, args.mixin, ), Format::Json => json_generator::generate_json(&mut analysis, args.output), diff --git a/crates/emmylua_doc_cli/src/markdown_generator/gen/index_gen.rs b/crates/emmylua_doc_cli/src/markdown_generator/gen/index_gen.rs index 3f6cfd519..d6976dc37 100644 --- a/crates/emmylua_doc_cli/src/markdown_generator/gen/index_gen.rs +++ b/crates/emmylua_doc_cli/src/markdown_generator/gen/index_gen.rs @@ -12,6 +12,9 @@ pub fn generate_index( mkdocs.modules.sort_by(|a, b| a.name.cmp(&b.name)); mkdocs.globals.sort_by(|a, b| a.name.cmp(&b.name)); + if !mkdocs.site_name.is_empty() { + context.insert("site_name", &mkdocs.site_name); + } if !mkdocs.types.is_empty() { context.insert("types", &mkdocs.types); } diff --git a/crates/emmylua_doc_cli/src/markdown_generator/markdown_types.rs b/crates/emmylua_doc_cli/src/markdown_generator/markdown_types.rs index c5cd7ba44..c0098bb8e 100644 --- a/crates/emmylua_doc_cli/src/markdown_generator/markdown_types.rs +++ b/crates/emmylua_doc_cli/src/markdown_generator/markdown_types.rs @@ -28,6 +28,7 @@ pub struct Property { #[derive(Debug, Serialize, Deserialize, Default)] pub struct MkdocsIndex { + pub site_name: String, pub types: Vec, pub modules: Vec, pub globals: Vec, diff --git a/crates/emmylua_doc_cli/src/markdown_generator/mod.rs b/crates/emmylua_doc_cli/src/markdown_generator/mod.rs index 6b09ca7c5..ea4312d0e 100644 --- a/crates/emmylua_doc_cli/src/markdown_generator/mod.rs +++ b/crates/emmylua_doc_cli/src/markdown_generator/mod.rs @@ -16,6 +16,7 @@ pub fn generate_markdown( analysis: &mut EmmyLuaAnalysis, output: PathBuf, override_template: Option, + site_name: Option, mixin: Option, ) -> Result<(), Box> { let docs_dir = output.join("docs"); @@ -51,6 +52,10 @@ pub fn generate_markdown( let tl = init_tl::init_tl(override_template).ok_or("Failed to initialize TL")?; let mut mkdocs_index = MkdocsIndex::default(); + if let Some(site_name) = site_name { + mkdocs_index.site_name = site_name; + } + let db = analysis.compilation.get_db(); let type_index = db.get_type_index(); let types = type_index.get_all_types(); diff --git a/crates/emmylua_doc_cli/template/mkdocs_template.tl b/crates/emmylua_doc_cli/template/mkdocs_template.tl index ce3b76c9c..5db2bd44e 100644 --- a/crates/emmylua_doc_cli/template/mkdocs_template.tl +++ b/crates/emmylua_doc_cli/template/mkdocs_template.tl @@ -1,4 +1,9 @@ +{% if site_name %} +site_name: {{ site_name }} +{% else %} site_name: Docs +{% endif %} + theme: name: material font: