From 332bb70cd5ef966d7701e0225cb903cf2b64ef22 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Sat, 21 Oct 2023 18:37:22 -0400
Subject: [PATCH] Added attaching pictures to AP posts

---
 CHANGELOG.md                  |  5 ++++-
 api/nodeinfo/2.1.ts           |  2 +-
 layouts/partials/head.html    |  4 ++--
 layouts/partials/status.ajson | 16 +++++++++++++++-
 4 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e68b16b40..40e8a0253 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
 # Changelog
 
-## 2.1.1
+## 2.2.0
+
+* When a post has an `image_header` parameter this image is set as an attachment
+    to ActivityPub posts
 
 ## 2.1.0
 
diff --git a/api/nodeinfo/2.1.ts b/api/nodeinfo/2.1.ts
index bc3411afd..94f1f7472 100644
--- a/api/nodeinfo/2.1.ts
+++ b/api/nodeinfo/2.1.ts
@@ -9,7 +9,7 @@ export default function (req: VercelRequest, res: VercelResponse) {
       "name": "Fedipage",
       "repository": "https://git.qoto.org/fedipage/fedipage",
       "homepage": "https://fedipage.com/",
-      "version": "2.1.1"
+      "version": "2.2.0"
     },
     "protocols": [
       "activitypub"
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 940c7f4ef..3b090f4d6 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -31,8 +31,8 @@
   <meta property="twitter:card" content="summary_large_image">
 
   {{if .Params.image_header}}
-    <meta property="twitter:image" content="{{.Params.image_header}}">
-    <meta property="og:image" content="{{.Params.image_header}}">
+    <meta property="twitter:image" content="/{{.Params.image_header}}">
+    <meta property="og:image" content="/{{.Params.image_header}}">
   {{ else if .IsHome }}
     <meta property="twitter:image" content="/images/logo.png">
     <meta property="og:image" content="/images/logo.png">
diff --git a/layouts/partials/status.ajson b/layouts/partials/status.ajson
index 1db70700d..b6ffc143f 100644
--- a/layouts/partials/status.ajson
+++ b/layouts/partials/status.ajson
@@ -20,8 +20,9 @@
   "atomUri": "{{ .Permalink }}",
   "inReplyToAtomUri": null,
   "content": {{ printf "\"" | safeHTML }}<b>{{.Title}}</b>{{ if .Summary }}<br>{{ $summaryClean | safeHTML}}{{ end }}<br><br>Read more here:<br><a href='{{.Permalink}}'>{{.Permalink}}</a><br><br>{{ if .Site.Params.renderArticleHashtags }}{{ if .Params.tags }}{{ range $indexArticleTags, $elementArticleTag := .Params.tags }}{{ if ne $indexArticleTags 0 }} {{ end }}<a href='{{ site.BaseURL }}tags/{{ $elementArticleTag | lower }}' class='mention hashtag' rel='tag'>#<span>{{ $elementArticleTag }}</span></a>{{ end }}{{ end }}{{ end }} {{ if .Site.Params.renderDefaultHashtags }}{{ if .Site.Params.postHashtags }}{{ range $indexTags, $elementTag := .Site.Params.postHashtags }}{{ if ne $indexTags 0 }} {{ end }}<a href='#' class='mention hashtag' rel='tag'>#<span>{{ $elementTag }}</span></a>{{ end }}{{ end }}{{ end }}{{ printf "\"" | safeHTML }},
-  "attachment": [],
+  "attachment": []
   {{ if (or (and .Site.Params.postHashtags .Site.Params.renderDefaultHashtags) (and .Params.tags .Site.Params.renderArticleHashtags)) }}
+  ,
   "tag": [
     {{- if (and .Site.Params.postHashtags .Site.Params.renderDefaultHashtags) }}
     {{- range $indexTags, $elementTag := .Site.Params.postHashtags }}
@@ -46,4 +47,17 @@
     {{- end }}
     ]
   {{- end }}
+  {{ if .Params.image_header }}
+  ,
+  "attachment": [
+    {
+      "type": "Document",
+      "mediaType": "image/jpeg",
+      "url": "{{ .Site.BaseURL }}{{ .Params.image_header }}",
+      "name": null,
+      "blurhash": null
+    }
+  ]
+  {{ end }}
+
 }
-- 
GitLab