From 922aeba834ac0b38819ea8f36ec3b3903cba126f Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sat, 31 Jan 2026 22:18:49 -0700 Subject: [PATCH] refactor(main): use manifest.homepage in generate_homepage Eliminate redundant Content::from_path call by using the pre-discovered manifest.homepage content. Also uses manifest.nav directly. - Removes dead_code warning on SiteManifest.homepage field - Reduces I/O by reusing discovered content - Simplifies function signature (4 args vs 5) --- src/main.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 9adc6a4..00b5140 100644 --- a/src/main.rs +++ b/src/main.rs @@ -185,7 +185,7 @@ fn run(config_path: &Path) -> Result<()> { process_pages(&content_dir, &output_dir, &config, &manifest.nav, &engine)?; // 4. Generate homepage - generate_homepage(&content_dir, &output_dir, &config, &manifest.nav, &engine)?; + generate_homepage(&manifest, &output_dir, &config, &engine)?; // 5. Generate sitemap generate_sitemap_file(&output_dir, &manifest, &config, &content_dir)?; @@ -269,20 +269,23 @@ fn process_pages( Ok(()) } -/// Generate the homepage from content/_index.md +/// Generate the homepage from manifest.homepage fn generate_homepage( - content_dir: &Path, + manifest: &content::SiteManifest, output_dir: &Path, config: &config::SiteConfig, - nav: &[NavItem], engine: &TemplateEngine, ) -> Result<()> { - let index_path = content_dir.join("_index.md"); eprintln!("generating: homepage"); - let content = Content::from_path(&index_path, ContentKind::Section)?; - let html_body = render::markdown_to_html(&content.body); - let html = engine.render_page(&content, &html_body, "/index.html", config, nav)?; + let html_body = render::markdown_to_html(&manifest.homepage.body); + let html = engine.render_page( + &manifest.homepage, + &html_body, + "/index.html", + config, + &manifest.nav, + )?; let out_path = output_dir.join("index.html");