diff --git a/admin/static/edit-blog.css b/admin/static/edit-blog.css index 788d7fb..77cfc48 100644 --- a/admin/static/edit-blog.css +++ b/admin/static/edit-blog.css @@ -6,10 +6,8 @@ input[type="text"] { border-radius: 4px; outline: none; color: var(--fg-3); - background-color: var(--bg-2); + background-color: var(--bg-1); box-shadow: var(--shadow-sm); - - transition: background-color .1s ease-out, color .1s ease-out; } #blogpost { @@ -17,10 +15,10 @@ input[type="text"] { padding: 1.5em; border-radius: 8px; - background-color: var(--bg-1); + background-color: var(--bg-2); box-shadow: var(--shadow-lg); - transition: background-color .1s ease-out, color .1s ease-out; + transition: background .1s ease-out, color .1s ease-out; } #blogpost label { @@ -58,8 +56,7 @@ input[type="text"] { color: var(--fg-3); outline: none; cursor: pointer; - - transition: background-color .1s ease-out, color .1s ease-out, border-color .1s ease-out; + transition: background .1s ease-out, border-color .1s ease-out; /*position: relative; outline: none;*/ white-space: pre-wrap; overflow-wrap: break-word; @@ -81,11 +78,9 @@ input[type="text"] { font-size: inherit; border-radius: 4px; border: none; - background-color: var(--bg-2); + background-color: var(--bg-1); color: var(--fg-3); box-shadow: var(--shadow-sm); - - transition: background-color .1s ease-out, color .1s ease-out; } #blogpost textarea { @@ -95,13 +90,11 @@ input[type="text"] { display: block; border: none; border-radius: 4px; - background-color: var(--bg-2); + background-color: var(--bg-1); color: var(--fg-3); box-shadow: var(--shadow-md); resize: vertical; outline: none; - - transition: background-color .1s ease-out, color .1s ease-out; } #blogpost #description { @@ -114,10 +107,8 @@ input[type="text"] { border: none; border-radius: 10em; color: var(--fg-3); - background-color: var(--bg-2); + background-color: var(--bg-1); box-shadow: var(--shadow-sm); - - transition: background-color .1s ease-out, color .1s ease-out; } #blogpost .social-post-details { @@ -129,12 +120,3 @@ input[type="text"] { #blogpost .blog-actions { margin-top: 1em; } - -@media (prefers-color-scheme: dark) { - input[type="text"], - #blogpost #publish-date, - #blogpost textarea, - #blogpost select { - background-color: var(--bg-0); - } -} diff --git a/admin/templates/html/edit-blog.html b/admin/templates/html/edit-blog.html index a1c454f..4176e85 100644 --- a/admin/templates/html/edit-blog.html +++ b/admin/templates/html/edit-blog.html @@ -110,7 +110,7 @@ This action is irreversible. You will be prompted to confirm this decision.
- + diff --git a/controller/blog.go b/controller/blog.go index 5b309b2..3e367d5 100644 --- a/controller/blog.go +++ b/controller/blog.go @@ -26,7 +26,6 @@ func GetBlogPost(db *sqlx.DB, id string) (*model.BlogPost, error) { if strings.Contains(err.Error(), "no rows") { return nil, nil } return nil, err } - defer rows.Close() blueskyActor := sql.NullString{} blueskyRecord := sql.NullString{} @@ -85,7 +84,6 @@ func GetBlogPosts(db *sqlx.DB, onlyVisible bool, limit int, offset int) ([]*mode if err != nil { return nil, err } - defer rows.Close() for rows.Next() { blog := model.BlogPost{} diff --git a/controller/bluesky.go b/controller/bluesky.go index 754de4f..bb8ac90 100644 --- a/controller/bluesky.go +++ b/controller/bluesky.go @@ -11,7 +11,7 @@ import ( const BSKY_API_BASE = "https://public.api.bsky.app" -func FetchThreadViewPost(app *model.AppState, actorID string, recordID string) (*model.ThreadViewPost, error) { +func FetchThreadViewPost(actorID string, recordID string) (*model.ThreadViewPost, error) { uri := fmt.Sprintf("at://%s/app.bsky.feed.post/%s", actorID, recordID) req, err := http.NewRequest( @@ -24,7 +24,7 @@ func FetchThreadViewPost(app *model.AppState, actorID string, recordID string) ( req.URL.RawQuery = url.Values{ "uri": { uri }, }.Encode() - req.Header.Set("User-Agent", fmt.Sprintf("ari melody [%s]", app.Config.BaseUrl)) + req.Header.Set("User-Agent", "ari melody [https://arimelody.me]") req.Header.Set("Accept", "application/json") client := &http.Client{} diff --git a/controller/release.go b/controller/release.go index ebaa5f4..ab25db4 100644 --- a/controller/release.go +++ b/controller/release.go @@ -339,7 +339,6 @@ func GetReleaseCredits(db *sqlx.DB, releaseID string) ([]*model.Credit, error) { if err != nil { return nil, err } - defer rows.Close() var credits []*model.Credit for rows.Next() { diff --git a/model/blog.go b/model/blog.go index 802e25b..512d5e5 100644 --- a/model/blog.go +++ b/model/blog.go @@ -51,11 +51,7 @@ func (b *BlogPost) GetMonth() string { } func (b *BlogPost) PrintDate() string { - return b.PublishDate.Format("02 January 2006, 15:04") -} - -func (b *BlogPost) PrintShortDate() string { - return b.PublishDate.Format("2 Jan 2006") + return b.PublishDate.Format("2 January 2006, 15:04") } func (b *BlogPost) TextPublishDate() string { diff --git a/public/style/blogpost.css b/public/style/blogpost.css index 0be0739..24569ce 100644 --- a/public/style/blogpost.css +++ b/public/style/blogpost.css @@ -6,7 +6,7 @@ } main { - width: min(calc(100% - 4rem), 800px); + width: min(calc(100% - 4rem), 1200px); margin: 0 auto 1rem auto; } @@ -70,26 +70,24 @@ main { margin: 0; } -#blog p:hover, +article#blog p:hover, .comment p:hover { background: inherit; } -#blog { +article#blog { font-size: 22px; } -#blog h1 { +article#blog h1 { margin-bottom: 0; font-size: 1.8em; } -#blog h2::before { content: "## " } -#blog h3::before { content: "### " } .blog-author { margin: .2em 0; } -#blog .blog-author img { +article#blog .blog-author img { width: 1.3em; height: 1.3em; display: inline-block; @@ -106,11 +104,11 @@ main { opacity: .75; } -#blog { +article#blog { font-family: 'Lora', serif; } -#blog header { +article#blog header { position: relative; width: auto; font-family: 'Monaspace Argon', monospace; @@ -119,20 +117,20 @@ main { z-index: 0; } -#blog p { - line-height: 1.25em; +article#blog p { + line-height: 1.5em; } -#blog p.no-content { +article#blog p.no-content { font-style: italic; opacity: .66; } -#blog sub { +article#blog sub { opacity: .75; } -#blog pre { +article#blog pre { max-height: 15em; padding: .5em; font-size: .9em; @@ -142,7 +140,7 @@ main { background: var(--background-alt); } -#blog p code { +article#blog p code { padding: .2em .3em; font-size: .9em; border: 1px solid #8884; @@ -150,30 +148,20 @@ main { background: var(--background-alt); } -#blog blockquote { +article#blog blockquote { margin: 1em 0; padding: 0 0 0 1em; border-left: .2em solid #8888; } -#blog img { +article#blog img { max-height: 50%; max-width: 100%; display: block; } -#blog figure { - margin: 1em 0; - padding: 0 1em; -} - -#blog figure.quote { - border-left: 4px solid color-mix(in srgb, var(--on-background), transparent 75%); - color: color-mix(in srgb, var(--on-background), transparent 25%); -} - -#blog i.end-mark { +article#blog i.end-mark { width: 1.2em; height: 1.2em; margin-top: -.2em; @@ -248,7 +236,7 @@ main { } .comment-callout { - margin: 0 0 0 .5em; + margin: 0 0 0 1em; } .comment-callout:hover { background: none; diff --git a/templates/html/blog.html b/templates/html/blog.html index fca9913..c6a2579 100644 --- a/templates/html/blog.html +++ b/templates/html/blog.html @@ -34,7 +34,7 @@{{.Description}}
diff --git a/templates/html/blogpost.html b/templates/html/blogpost.html index 9e7a7ac..a4adad6 100644 --- a/templates/html/blogpost.html +++ b/templates/html/blogpost.html @@ -85,7 +85,7 @@Published {{.PrintDate}}
+posted {{.PrintDate}}
join the conversation on diff --git a/view/blog.go b/view/blog.go index 80929f5..1679572 100644 --- a/view/blog.go +++ b/view/blog.go @@ -141,17 +141,11 @@ func ServeBlogPost(app *model.AppState, blogPostID string) http.Handler { var blueskyURL string var blueskyPost *model.ThreadViewPost if blog.Bluesky != nil { - blueskyPost, err = controller.FetchThreadViewPost(app, blog.Bluesky.ActorDID, blog.Bluesky.RecordID) + blueskyPost, err = controller.FetchThreadViewPost(blog.Bluesky.ActorDID, blog.Bluesky.RecordID) if err != nil { fmt.Fprintf(os.Stderr, "WARN: Failed to fetch blog post Bluesky thread: %v\n", err) } else { - replies := []*model.ThreadViewPost{} - for _, reply := range blueskyPost.Replies { - if reply.Post.Author.DID != blog.Bluesky.ActorDID { - replies = append(replies, reply) - } - } - comments = append(comments, replies...) + comments = append(comments, blueskyPost.Replies...) likeCount += blueskyPost.Post.LikeCount boostCount += blueskyPost.Post.RepostCount blueskyURL = fmt.Sprintf("https://bsky.app/profile/%s/post/%s", blueskyPost.Post.Author.Handle, blog.Bluesky.RecordID)