diff options
| author | Himanshu Sardana <himanshusardana2005@gmail.com> | 2026-03-26 22:53:22 +0000 |
|---|---|---|
| committer | Himanshu Sardana <himanshusardana2005@gmail.com> | 2026-03-26 22:53:22 +0000 |
| commit | 2e544388bf3f51c9406e9141375aa027acca165e (patch) | |
| tree | e70da9d67831c8d91bebc9cb62ae6cc85d376955 /internal/build/build.go | |
| parent | b070c21d3b0d1c4e3a2ccb84eb7090544072a39c (diff) | |
feat: add rss feed generation
feat: add siteurl to config
Diffstat (limited to 'internal/build/build.go')
| -rw-r--r-- | internal/build/build.go | 19 |
1 files changed, 18 insertions, 1 deletions
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 } |
