Commit fa998ee
Eric Bower
·
2026-10-01 09:38:12 -0400 EDT
parent bf64c14
chore(prose): remove with_styles and layout front-matter fields BREAKING CHANGE: these fields will no longer work for prose blogs
2 files changed,
+36,
-64
+33,
-46
| ... | ... | @@ -41,18 +41,17 @@ type PostItemData struct { | |
| 41 | 41 | } | |
| 42 | 42 | ||
| 43 | 43 | type BlogPageData struct { | |
| 44 | - | Site shared.SitePageData | |
| 45 | - | PageTitle string | |
| 46 | - | URL template.URL | |
| 47 | - | RSSURL template.URL | |
| 48 | - | Username string | |
| 49 | - | Readme *ReadmeTxt | |
| 50 | - | Header *HeaderTxt | |
| 51 | - | Posts []PostItemData | |
| 52 | - | HasCSS bool | |
| 53 | - | WithStyles bool | |
| 54 | - | CssURL template.URL | |
| 55 | - | HasFilter bool | |
| 44 | + | Site shared.SitePageData | |
| 45 | + | PageTitle string | |
| 46 | + | URL template.URL | |
| 47 | + | RSSURL template.URL | |
| 48 | + | Username string | |
| 49 | + | Readme *ReadmeTxt | |
| 50 | + | Header *HeaderTxt | |
| 51 | + | Posts []PostItemData | |
| 52 | + | HasCSS bool | |
| 53 | + | CssURL template.URL | |
| 54 | + | HasFilter bool | |
| 56 | 55 | } | |
| 57 | 56 | ||
| 58 | 57 | type ReadPageData struct { |
| ... | ... | @@ -78,7 +77,6 @@ type PostPageData struct { | |
| 78 | 77 | PublishAtISO string | |
| 79 | 78 | PublishAt string | |
| 80 | 79 | HasCSS bool | |
| 81 | - | WithStyles bool | |
| 82 | 80 | CssURL template.URL | |
| 83 | 81 | Tags []string | |
| 84 | 82 | Image template.URL |
| ... | ... | @@ -93,16 +91,14 @@ type PostPageData struct { | |
| 93 | 91 | } | |
| 94 | 92 | ||
| 95 | 93 | type HeaderTxt struct { | |
| 96 | - | Title string | |
| 97 | - | Bio string | |
| 98 | - | Nav []shared.Link | |
| 99 | - | HasLinks bool | |
| 100 | - | Layout string | |
| 101 | - | Image template.URL | |
| 102 | - | ImageCard string | |
| 103 | - | Favicon template.URL | |
| 104 | - | WithStyles bool | |
| 105 | - | Domain string | |
| 94 | + | Title string | |
| 95 | + | Bio string | |
| 96 | + | Nav []shared.Link | |
| 97 | + | HasLinks bool | |
| 98 | + | Image template.URL | |
| 99 | + | ImageCard string | |
| 100 | + | Favicon template.URL | |
| 101 | + | Domain string | |
| 106 | 102 | } | |
| 107 | 103 | ||
| 108 | 104 | type ReadmeTxt struct { |
| ... | ... | @@ -197,11 +193,9 @@ func blogHandler(w http.ResponseWriter, r *http.Request) { | |
| 197 | 193 | } | |
| 198 | 194 | ||
| 199 | 195 | headerTxt := &HeaderTxt{ | |
| 200 | - | Title: GetBlogName(username), | |
| 201 | - | Bio: "", | |
| 202 | - | Layout: "default", | |
| 203 | - | ImageCard: "summary", | |
| 204 | - | WithStyles: true, | |
| 196 | + | Title: GetBlogName(username), | |
| 197 | + | Bio: "", | |
| 198 | + | ImageCard: "summary", | |
| 205 | 199 | } | |
| 206 | 200 | readmeTxt := &ReadmeTxt{} | |
| 207 | 201 |
| ... | ... | @@ -212,10 +206,8 @@ func blogHandler(w http.ResponseWriter, r *http.Request) { | |
| 212 | 206 | logger.Error("readme", "err", err.Error()) | |
| 213 | 207 | } | |
| 214 | 208 | headerTxt.Bio = parsedText.Description | |
| 215 | - | headerTxt.Layout = parsedText.Layout | |
| 216 | 209 | headerTxt.Image = template.URL(parsedText.Image) | |
| 217 | 210 | headerTxt.ImageCard = parsedText.ImageCard | |
| 218 | - | headerTxt.WithStyles = parsedText.WithStyles | |
| 219 | 211 | headerTxt.Favicon = template.URL(parsedText.Favicon) | |
| 220 | 212 | if parsedText.Title != "" { | |
| 221 | 213 | headerTxt.Title = parsedText.Title |
| ... | ... | @@ -265,18 +257,17 @@ func blogHandler(w http.ResponseWriter, r *http.Request) { | |
| 265 | 257 | } | |
| 266 | 258 | ||
| 267 | 259 | data := BlogPageData{ | |
| 268 | - | Site: *cfg.GetSiteData(), | |
| 269 | - | PageTitle: headerTxt.Title, | |
| 270 | - | URL: template.URL(cfg.FullBlogURL(curl, username)), | |
| 271 | - | RSSURL: template.URL(cfg.RssBlogURL(curl, username, tag)), | |
| 272 | - | Readme: readmeTxt, | |
| 273 | - | Header: headerTxt, | |
| 274 | - | Username: username, | |
| 275 | - | Posts: postCollection, | |
| 276 | - | HasCSS: hasCSS, | |
| 277 | - | CssURL: template.URL(cfg.CssURL(username)), | |
| 278 | - | HasFilter: tag != "", | |
| 279 | - | WithStyles: headerTxt.WithStyles, | |
| 260 | + | Site: *cfg.GetSiteData(), | |
| 261 | + | PageTitle: headerTxt.Title, | |
| 262 | + | URL: template.URL(cfg.FullBlogURL(curl, username)), | |
| 263 | + | RSSURL: template.URL(cfg.RssBlogURL(curl, username, tag)), | |
| 264 | + | Readme: readmeTxt, | |
| 265 | + | Header: headerTxt, | |
| 266 | + | Username: username, | |
| 267 | + | Posts: postCollection, | |
| 268 | + | HasCSS: hasCSS, | |
| 269 | + | CssURL: template.URL(cfg.CssURL(username)), | |
| 270 | + | HasFilter: tag != "", | |
| 280 | 271 | } | |
| 281 | 272 | ||
| 282 | 273 | err = ts.Execute(w, data) |
| ... | ... | @@ -386,7 +377,6 @@ func postHandler(w http.ResponseWriter, r *http.Request) { | |
| 386 | 377 | ogImage := "" | |
| 387 | 378 | ogImageCard := "" | |
| 388 | 379 | hasCSS := false | |
| 389 | - | withStyles := true | |
| 390 | 380 | var data PostPageData | |
| 391 | 381 | ||
| 392 | 382 | css, err := dbpool.FindPostWithFilename("_styles.css", user.ID, cfg.Space) |
| ... | ... | @@ -416,7 +406,6 @@ func postHandler(w http.ResponseWriter, r *http.Request) { | |
| 416 | 406 | if readmeParsed.Title != "" { | |
| 417 | 407 | blogName = readmeParsed.Title | |
| 418 | 408 | } | |
| 419 | - | withStyles = readmeParsed.WithStyles | |
| 420 | 409 | ogImage = readmeParsed.Image | |
| 421 | 410 | ogImageCard = readmeParsed.ImageCard | |
| 422 | 411 | favicon = readmeParsed.Favicon |
| ... | ... | @@ -489,7 +478,6 @@ func postHandler(w http.ResponseWriter, r *http.Request) { | |
| 489 | 478 | Footer: footerHTML, | |
| 490 | 479 | Unlisted: unlisted, | |
| 491 | 480 | Diff: template.HTML(diff), | |
| 492 | - | WithStyles: withStyles, | |
| 493 | 481 | List: list, | |
| 494 | 482 | } | |
| 495 | 483 | } else { |
| ... | ... | @@ -537,7 +525,6 @@ func postHandler(w http.ResponseWriter, r *http.Request) { | |
| 537 | 525 | Footer: footerHTML, | |
| 538 | 526 | Contents: contents, | |
| 539 | 527 | Unlisted: true, | |
| 540 | - | WithStyles: withStyles, | |
| 541 | 528 | } | |
| 542 | 529 | w.WriteHeader(http.StatusNotFound) | |
| 543 | 530 | } |
| ... | ... | @@ -35,12 +35,10 @@ type MetaData struct { | |
| 35 | 35 | Nav []Link | |
| 36 | 36 | Tags []string | |
| 37 | 37 | Aliases []string | |
| 38 | - | Layout string | |
| 39 | 38 | Image string | |
| 40 | 39 | ImageCard string | |
| 41 | 40 | Favicon string | |
| 42 | 41 | Hidden bool | |
| 43 | - | WithStyles bool | |
| 44 | 42 | Domain string | |
| 45 | 43 | } | |
| 46 | 44 |
| ... | ... | @@ -215,10 +213,9 @@ func CreateGoldmark(extenders ...goldmark.Extender) goldmark.Markdown { | |
| 215 | 213 | func ParseText(text string) (*ParsedText, error) { | |
| 216 | 214 | parsed := ParsedText{ | |
| 217 | 215 | MetaData: &MetaData{ | |
| 218 | - | Tags: []string{}, | |
| 219 | - | Aliases: []string{}, | |
| 220 | - | WithStyles: true, | |
| 221 | - | PublishAt: &time.Time{}, | |
| 216 | + | Tags: []string{}, | |
| 217 | + | Aliases: []string{}, | |
| 218 | + | PublishAt: &time.Time{}, | |
| 222 | 219 | }, | |
| 223 | 220 | } | |
| 224 | 221 | hili := highlighting.NewHighlighting( |
| ... | ... | @@ -283,12 +280,6 @@ func ParseText(text string) (*ParsedText, error) { | |
| 283 | 280 | } | |
| 284 | 281 | parsed.Domain = domain | |
| 285 | 282 | ||
| 286 | - | layout, err := toString(metaData["layout"]) | |
| 287 | - | if err != nil { | |
| 288 | - | return &parsed, fmt.Errorf("front-matter field (%s): %w", "layout", err) | |
| 289 | - | } | |
| 290 | - | parsed.Layout = layout | |
| 291 | - | ||
| 292 | 283 | image, err := toString(metaData["image"]) | |
| 293 | 284 | if err != nil { | |
| 294 | 285 | return &parsed, fmt.Errorf("front-matter field (%s): %w", "image", err) |
| ... | ... | @@ -307,12 +298,6 @@ func ParseText(text string) (*ParsedText, error) { | |
| 307 | 298 | } | |
| 308 | 299 | parsed.Hidden = hidden | |
| 309 | 300 | ||
| 310 | - | withStyles, err := toBool(metaData["with_styles"], true) | |
| 311 | - | if err != nil { | |
| 312 | - | return &parsed, fmt.Errorf("front-matter field (%s): %w", "with_style", err) | |
| 313 | - | } | |
| 314 | - | parsed.WithStyles = withStyles | |
| 315 | - | ||
| 316 | 301 | favicon, err := toString(metaData["favicon"]) | |
| 317 | 302 | if err != nil { | |
| 318 | 303 | return &parsed, fmt.Errorf("front-matter field (%s): %w", "favicon", err) |