From 3efa6ed24713658af855c0ca9504f3e089342182 Mon Sep 17 00:00:00 2001 From: SayaAndy Date: Sat, 2 May 2026 22:08:49 +0700 Subject: feat: move from b2 to s3 for blog pages & facts feat: use centralized index.json for blog pages, keep paginator as fallback feat: multithreaded paginator --- internal/blog/index.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 internal/blog/index.go (limited to 'internal/blog/index.go') diff --git a/internal/blog/index.go b/internal/blog/index.go new file mode 100644 index 0000000..861a90e --- /dev/null +++ b/internal/blog/index.go @@ -0,0 +1,32 @@ +package blog + +import "time" + +const IndexFileName = "index.json" + +const IndexSchemaVersion = 1 + +type IndexEntry struct { + Link string `json:"link"` + ModifiedTime time.Time `json:"modifiedTime"` + Title string `json:"title"` + ShortDescription string `json:"shortDescription"` + ActionDate string `json:"actionDate"` + PublishedTime time.Time `json:"publishedTime"` + Thumbnail string `json:"thumbnail"` + Tags []string `json:"tags"` + Geolocation string `json:"geolocation"` + Medley string `json:"medley,omitempty"` + MedleyPart int `json:"medleyPart,omitempty"` +} + +type IndexCategory struct { + GeneratedAt time.Time `json:"generatedAt"` + Pages []IndexEntry `json:"pages"` +} + +type Index struct { + SchemaVersion int `json:"schemaVersion"` + GeneratedAt time.Time `json:"generatedAt"` + Categories map[string]IndexCategory `json:"categories"` +} -- cgit v1.3.1+17