diff --git a/config/collections/index.js b/config/collections/index.js
index 03f97946..e8b9a22d 100644
--- a/config/collections/index.js
+++ b/config/collections/index.js
@@ -74,9 +74,18 @@ export const allContent = (collection) => {
   const addContent = (items, icon, getTitle, getDate) => {
     if (items) {
       items.forEach(item => {
+        let attribution;
+
+        if (item?.['authors']?.['mastodon']) {
+          const mastoUrl = new URL(item['authors']['mastodon'])
+          attribution = `${mastoUrl.pathname.replace('/', '')}@${mastoUrl.host}`
+        } else if (!item?.['authors']?.['mastodon'] && item?.['authors']?.['name']) {
+          attribution = item['authors']['name']
+        }
+
         const content = {
           url: `${BASE_URL}${item['url']}`,
-          title: `${icon}: ${getTitle(item)}${item?.['authors']?.['name'] ? ' via ' + item['authors']['name'] : ''}${item?.['tags']?.length > 0 ? ' ' + tagsToHashtags(item['tags']) : ''}`
+          title: `${icon}: ${getTitle(item)}${attribution ? ' via ' + attribution : ''}${item?.['tags']?.length > 0 ? ' ' + tagsToHashtags(item['tags']) : ''}`
         }
         if (item?.['link']) content['url'] = item?.['link']
         if (item?.['slug']) content['url'] = new URL(item['slug'], BASE_URL).toString()
diff --git a/package-lock.json b/package-lock.json
index 7f686727..b494f1cf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "coryd.dev",
-  "version": "19.9.19",
+  "version": "19.10.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "coryd.dev",
-      "version": "19.9.19",
+      "version": "19.10.0",
       "license": "MIT",
       "dependencies": {
         "@cdransf/api-text": "^1.4.0",
diff --git a/package.json b/package.json
index aacec2dc..f92e0d35 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "coryd.dev",
-  "version": "19.9.19",
+  "version": "19.10.0",
   "description": "The source for my personal site. Built using 11ty.",
   "type": "module",
   "scripts": {
diff --git a/src/_data/links.js b/src/_data/links.js
index e2e1d69d..c52464e9 100644
--- a/src/_data/links.js
+++ b/src/_data/links.js
@@ -28,7 +28,7 @@ const fetchAllLinks = async () => {
   while (fetchMore) {
     const { data, error } = await supabase
       .from('links')
-      .select('*, authors (name, url)')
+      .select('*, authors (name, url, mastodon)')
       .order('date', { ascending: false })
       .range(page * PAGE_SIZE, (page + 1) * PAGE_SIZE - 1)
 
diff --git a/src/_includes/partials/feeds/json.liquid b/src/_includes/partials/feeds/json.liquid
deleted file mode 100644
index 3e23bc7e..00000000
--- a/src/_includes/partials/feeds/json.liquid
+++ /dev/null
@@ -1,18 +0,0 @@
-{%- assign entries = data | normalizeEntries -%}
-{
-  "version": "https://jsonfeed.org/version/1",
-  "title": "{{ title }}",
-  "icon": "https://cdn.coryd.dev/assets/avatar.png",
-  "home_page_url": "{{ meta.url }}",
-  "feed_url": "{{ permalink | absoluteUrl: meta.url }}",
-  "items": [{% for entry in entries limit: 20 -%}
-    {
-    "id": "{{ entry.url | btoa }}",
-    "title": "{{ entry.title | replaceQuotes }}",
-    "url": "{{ entry.url }}",
-    "content_text": "{{ entry.excerpt | replaceQuotes }}",
-    "date_published": "{{ entry.date | stringToRFC822Date }}"
-    }{% if not forloop.last %},{% endif %}
-  {%- endfor %}
-  ]
-}
\ No newline at end of file
diff --git a/src/feeds/all.json.liquid b/src/feeds/all.json.liquid
deleted file mode 100644
index b9ffe53a..00000000
--- a/src/feeds/all.json.liquid
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: null
-eleventyExcludeFromCollections: true
-permalink: "/feeds/all.json"
----
-{% render "partials/feeds/json.liquid"
-  permalink:"/feeds/all.json"
-  title:"Cory Dransfeldt: all activity"
-  data:collections.allContent
-  updated:collections.allContent[0].date
-  site:site
-%}
\ No newline at end of file
diff --git a/src/pages/secondary/blogroll.html b/src/pages/secondary/blogroll.html
index 7abd82c2..be3e521c 100644
--- a/src/pages/secondary/blogroll.html
+++ b/src/pages/secondary/blogroll.html
@@ -20,8 +20,6 @@ description: These are awesome blogs that I enjoy and you may enjoy too.
     <td class="blog-roll-icons">
       {%- if blog.rss_feed -%}
       <a href="{{ blog.rss_feed }}">{% tablericon "rss" "Subscribe via RSS" %}</a>
-      {%- else -%}
-      —
       {%- endif -%}
       {%- if blog.json_feed -%}
       / <a href="{{ blog.json_feed }}">{% tablericon "json" "Subscribe via JSON" %}</a>
@@ -29,6 +27,9 @@ description: These are awesome blogs that I enjoy and you may enjoy too.
       {%- if blog.newsletter -%}
       / <a href="{{ blog.newsletter }}">{% tablericon "mail-plus" "Newsletter subscription" %}</a>
       {%- endif -%}
+      {%- if blog.mastodon -%}
+      / <a href="{{ blog.mastodon }}">{% tablericon "brand-mastodon" "Mastodon" %}</a>
+      {%- endif -%}
     </td>
   </tr>
   {% endfor %}