summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-01-19 08:58:08 +0200
committerPaul Buetow <paul@buetow.org>2025-01-19 08:58:08 +0200
commitf15224d720b8a3e29527ab913801503160fdaf8e (patch)
tree59117e9847294f2db6c39f7c8e01e8cf4dca95c4
parent5c3813b593415615116acbe8d21f262c1f20e9f8 (diff)
renaming of Gemini flags, add GeminiCapsule
-rw-r--r--internal/config/args.go5
-rw-r--r--internal/main.go12
-rw-r--r--internal/run.go2
-rw-r--r--internal/summary/summary.go12
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)