From 2e544388bf3f51c9406e9141375aa027acca165e Mon Sep 17 00:00:00 2001 From: Himanshu Sardana Date: Thu, 26 Mar 2026 22:53:22 +0000 Subject: feat: add rss feed generation feat: add siteurl to config --- internal/build/build.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'internal/build/build.go') diff --git a/internal/build/build.go b/internal/build/build.go index 743942b..721b568 100644 --- a/internal/build/build.go +++ b/internal/build/build.go @@ -6,6 +6,7 @@ import ( "log" "time" + "github.com/HimanshuSardana/kite/pkg/config" "github.com/HimanshuSardana/kite/pkg/content" "github.com/HimanshuSardana/kite/pkg/themes" ) @@ -43,6 +44,11 @@ func Build(opts BuildOptions) error { opts.ConfigPath = DefaultConfigPath } + cfg, err := config.Load(opts.ConfigPath) + if err != nil { + log.Printf("Warning: Could not load config: %v", err) + } + themePath := themes.GetThemePath(opts.ThemesDir, opts.ThemeName) files, err := content.ListContentFiles(opts.ContentDir) @@ -53,7 +59,7 @@ func Build(opts BuildOptions) error { summaries := make([]content.PostSummary, 0, len(files)) for _, file := range files { - fmt.Println("Processing:", file.Path) + start := time.Now() parsed, err := ParseMarkdown(file.Path) if err != nil { @@ -89,6 +95,9 @@ func Build(opts BuildOptions) error { if err := RenderPage(tmpl, outputPath, page); err != nil { log.Printf("Error rendering page: %v", err) } + + elapsed := time.Since(start).Milliseconds() + fmt.Printf("Compiling %s (%dms)\n", parsed.Frontmatter.Title, elapsed) } fmt.Println("All files processed!") @@ -97,6 +106,14 @@ func Build(opts BuildOptions) error { log.Printf("Error rendering home page: %v", err) } + siteURL := "https://your-site.com" + if cfg != nil && cfg.SiteURL != "" { + siteURL = cfg.SiteURL + } + if err := GenerateRSS(opts.OutputDir, opts.ConfigPath, siteURL, summaries); err != nil { + log.Printf("Error generating RSS feed: %v", err) + } + return nil } -- cgit v1.3.1