From ec523bdd63bd23cfec465e2cc45d0c17198ef4c4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 31 Dec 2024 18:24:03 +0200 Subject: refine summary, add gemtexter tags --- internal/config/args.go | 1 + internal/summary/summary.go | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'internal') diff --git a/internal/config/args.go b/internal/config/args.go index 615c607..43687ac 100644 --- a/internal/config/args.go +++ b/internal/config/args.go @@ -23,6 +23,7 @@ type Args struct { Secrets Secrets OAuth2Browser string SummaryFor []string + GemtexterEnable bool } func (a *Args) ParsePlatforms(platformStrs string) error { diff --git a/internal/summary/summary.go b/internal/summary/summary.go index 9a6c96e..b2a8fde 100644 --- a/internal/summary/summary.go +++ b/internal/summary/summary.go @@ -9,14 +9,11 @@ import ( "sort" "strings" - "codeberg.org/snonux/gos/internal/colour" "codeberg.org/snonux/gos/internal/config" "codeberg.org/snonux/gos/internal/entry" ) func Run(ctx context.Context, args config.Args) error { - colour.Infoln("Generating summary for", args.SummaryFor) - entries, err := deduppedEntries(args) if err != nil { return err @@ -26,8 +23,8 @@ func Run(ctx context.Context, args config.Args) error { return entries[i].Time.Before(entries[j].Time) }) - title := fmt.Sprintf("Summary for %s", strings.Join(args.SummaryFor, " ")) - gemtext, err := fmt.Print(generateGemtext(entries, title)) + title := fmt.Sprintf("Posts for %s", strings.Join(args.SummaryFor, " ")) + gemtext, err := fmt.Print(generateGemtext(entries, title, args.GemtexterEnable)) if err != nil { return err } @@ -37,7 +34,7 @@ func Run(ctx context.Context, args config.Args) error { } // TODO: Fix the Gemtexter inline toc when there are tags in it -func generateGemtext(entries []entry.Entry, title string) (string, error) { +func generateGemtext(entries []entry.Entry, title string, gemtexterEnable bool) (string, error) { var ( sb strings.Builder currentDateStr string @@ -45,9 +42,9 @@ func generateGemtext(entries []entry.Entry, title string) (string, error) { sb.WriteString("# ") sb.WriteString(title) - // TODO: Make this configurable - // TODO: Also add gemtexter index to previous posts like this - sb.WriteString("\n\n<< template::inline::toc") + if gemtexterEnable { + sb.WriteString("\n\n<< template::inline::toc") + } for _, en := range entries { dateStr := en.Time.Format("January 2006") @@ -81,6 +78,12 @@ func generateGemtext(entries []entry.Entry, title string) (string, error) { } } + if gemtexterEnable { + sb.WriteString("\n\nOther related posts:") + sb.WriteString("\n\n<< template::inline::index posts-for") + sb.WriteString("\n\n") + } + return sb.String(), nil } -- cgit v1.2.3