diff options
| author | Paul Buetow <paul@buetow.org> | 2025-01-19 08:58:08 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-01-19 08:58:08 +0200 |
| commit | f15224d720b8a3e29527ab913801503160fdaf8e (patch) | |
| tree | 59117e9847294f2db6c39f7c8e01e8cf4dca95c4 | |
| parent | 5c3813b593415615116acbe8d21f262c1f20e9f8 (diff) | |
renaming of Gemini flags, add GeminiCapsule
| -rw-r--r-- | internal/config/args.go | 5 | ||||
| -rw-r--r-- | internal/main.go | 12 | ||||
| -rw-r--r-- | internal/run.go | 2 | ||||
| -rw-r--r-- | internal/summary/summary.go | 12 |
4 files changed, 17 insertions, 14 deletions
diff --git a/internal/config/args.go b/internal/config/args.go index 8c53d11..e226058 100644 --- a/internal/config/args.go +++ b/internal/config/args.go @@ -21,8 +21,9 @@ type Args struct { SecretsConfigPath string Secrets Secrets OAuth2Browser string - SummaryFor []string - GemtexterEnable bool + GeminiSummaryFor []string + GeminiEnable bool + GeminiCapsule string ComposeEntry bool } diff --git a/internal/main.go b/internal/main.go index c3d6b19..d3e079e 100644 --- a/internal/main.go +++ b/internal/main.go @@ -26,8 +26,9 @@ func Main(composeEntryDefault bool) { maxDaysQueued := flag.Int("maxDaysQueued", 365, "Maximum days worth of queued posts until target++ and pauseDays--") pauseDays := flag.Int("pauseDays", 3, "How many days until next post can be posted?") lookback := flag.Int("lookback", 30, "How many days look back in time for posting history") - summaryFor := flag.String("summaryFor", "", "Generate a summary in Gemtext format, format is coma separated string of months, e.g. 202410,202411") - gemtexterEnable := flag.Bool("gemtexterEnable", true, "Add special Gemtexter tags to the Gemtext summary") + geminiSummaryFor := flag.String("GeminiSummaryFor", "", "Generate a summary in Gemini Gemtext format, format is coma separated string of months, e.g. 202410,202411") + geminiEnable := flag.Bool("geminiEnable", true, "Add special Gemtexter tags to the Gemini summary") + geminiCapsule := flag.String("geminiCapsule", "foo.zone", "Address of the Gemini capsule. Used by geminiEnable to detect internal links") composeEntry := flag.Bool("compose", composeEntryDefault, "Compose a new entry") flag.Parse() @@ -48,11 +49,12 @@ func Main(composeEntryDefault bool) { CacheDir: *cacheDir, Secrets: secrets, OAuth2Browser: *browser, - GemtexterEnable: *gemtexterEnable, + GeminiEnable: *geminiEnable, + GeminiCapsule: *geminiCapsule, ComposeEntry: *composeEntry, } - if *summaryFor != "" { - args.SummaryFor = strings.Split(*summaryFor, ",") + if *geminiSummaryFor != "" { + args.GeminiSummaryFor = strings.Split(*geminiSummaryFor, ",") } if err := args.ParsePlatforms(*platforms); err != nil { diff --git a/internal/run.go b/internal/run.go index b1f85e8..ff25112 100644 --- a/internal/run.go +++ b/internal/run.go @@ -16,7 +16,7 @@ import ( ) func run(ctx context.Context, args config.Args) error { - if len(args.SummaryFor) > 0 { + if len(args.GeminiSummaryFor) > 0 { return summary.Run(ctx, args) } diff --git a/internal/summary/summary.go b/internal/summary/summary.go index 6d66958..8b27f49 100644 --- a/internal/summary/summary.go +++ b/internal/summary/summary.go @@ -23,8 +23,8 @@ func Run(ctx context.Context, args config.Args) error { return entries[i].Time.Before(entries[j].Time) }) - title := fmt.Sprintf("Posts for %s", strings.Join(args.SummaryFor, " ")) - gemtext, err := fmt.Print(generateGemtext(entries, title, args.GemtexterEnable)) + title := fmt.Sprintf("Posts for %s", strings.Join(args.GeminiSummaryFor, " ")) + gemtext, err := fmt.Print(generateGemtext(entries, title, args.GeminiEnable)) if err != nil { return err } @@ -33,7 +33,7 @@ func Run(ctx context.Context, args config.Args) error { return nil } -func generateGemtext(entries []entry.Entry, title string, gemtexterEnable bool) (string, error) { +func generateGemtext(entries []entry.Entry, title string, geminiEnable bool) (string, error) { var ( sb strings.Builder currentDateStr string @@ -41,7 +41,7 @@ func generateGemtext(entries []entry.Entry, title string, gemtexterEnable bool) sb.WriteString("# ") sb.WriteString(title) - if gemtexterEnable { + if geminiEnable { sb.WriteString("\n\n<< template::inline::toc") } @@ -77,7 +77,7 @@ func generateGemtext(entries []entry.Entry, title string, gemtexterEnable bool) } } - if gemtexterEnable { + if geminiEnable { sb.WriteString("\n\nOther related posts:") sb.WriteString("\n\n<< template::inline::index posts-from") sb.WriteString("\n\n") @@ -88,7 +88,7 @@ func generateGemtext(entries []entry.Entry, title string, gemtexterEnable bool) func matchingEntries(args config.Args) iter.Seq2[entry.Entry, error] { return func(yield func(entry.Entry, error) bool) { - for _, dateStr := range args.SummaryFor { + for _, dateStr := range args.GeminiSummaryFor { glob := filepath.Join(args.GosDir, "db/platforms/*/", fmt.Sprintf("*%s*-??????.posted", dateStr)) paths, err := filepath.Glob(glob) |
