Add daily email

This commit is contained in:
Oliver Davies 2025-05-28 13:13:51 +01:00
parent ff19dcd4e8
commit 8024351158
3 changed files with 125 additions and 0 deletions

View file

@ -6903,5 +6903,11 @@
],
"redirect.8f837f21-5631-490d-b4f4-a8cc65cfafae": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.81676cf3-0b30-4619-a922-12ff3e16ba76": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"path_alias.678f29fc-1b63-4450-8689-7d0949a2779b": [
"node.81676cf3-0b30-4619-a922-12ff3e16ba76"
]
}

View file

@ -0,0 +1,92 @@
{
"uuid": [
{
"value": "81676cf3-0b30-4619-a922-12ff3e16ba76"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "daily_email",
"target_type": "node_type",
"target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7"
}
],
"revision_timestamp": [
{
"value": "2025-05-28T12:13:26+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Drupal-powered podcast pages"
}
],
"created": [
{
"value": "2025-05-28T09:07:31+00:00"
}
],
"changed": [
{
"value": "2025-05-28T12:13:26+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "\/daily\/2025\/05\/28\/drupal-powered-podcast-pages",
"langcode": "en"
}
],
"body": [
{
"value": "<p>Following my daily email archive, I've recently switched the podcast pages on my website from Sculpin to Drupal\/Tome.<\/p><p>The <a href=\"https:\/\/www.oliverdavies.uk\/podcast\/28-using-ai-tools-web-coding\">recent episode with Luke McCormick<\/a> was the first to be created in Drupal and served from static HTML generated by Tome, and I've since re-created the other podcast episodes and <a href=\"https:\/\/www.oliverdavies.uk\/podcast\">the podcast landing page<\/a>.<\/p><p>The next steps are to re-add the links on a podcast episode page to other episodes with the same guests, and to rebuild the podcast feed that's used to update players like Spotify and PocketCasts.<\/p><p>Once I've finished this, I'll move on to <a href=\"https:\/\/www.oliverdavies.uk\/presentations\">my presentations pages<\/a> as those are the ones that change next frequently.<\/p><h2>How am I doing this?<\/h2><p>A lot of the content is still served from HTML generated by Sculpin, which is stored in one directory on my server.<\/p><p>The newer content, generated by Tome, is stored in another directory.<\/p><p>In my Nginx configuration, I change the <code>root<\/code> value based on the URL, so depending on which page you're visiting, you'll get content from Sculpin or Tome.<\/p><p>Here's part of that configuration:<\/p><pre><code class=\"language-plaintext\">server {\r\n listen localhost:8095:\r\n server_name www.oliverdavies.uk:\r\n root \/var\/www\/vhosts\/website-sculpin;\r\n\r\n location \/ {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n }\r\n\r\n location ~ ^\/archive {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/core {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/daily\/.+ {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/homelab {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/podcast {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/sites\/default\/files {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n\r\n location ~ ^\/themes\/custom\/opdavies {\r\n try_files $uri $uri.html $uri\/index.html =404;\r\n root \/var\/www\/vhosts\/website-tome;\r\n }\r\n}<\/code><\/pre><p>This is the same approach as <a href=\"https:\/\/www.oliverdavies.uk\/daily\/2025\/04\/17\/incrementally\">upgrading incrementally<\/a> from old versions of software to new versions or different software.<\/p><p>Neither site knows about the other and they work independently.<\/p><p>My Nginx configuration is managed within <a href=\"https:\/\/code.oliverdavies.uk\/opdavies\/nix-config\/src\/commit\/a994777ba631cf95a16e2bb8f71e344a50bc11f3\/hosts\/nixedo\/modules\/nginx\/www.oliverdavies.uk\/default.nix#L11-L39\">my NixOS configuration<\/a>, so you can see the whole configuration for my website and how I've leveraged the Nix language to simplify the process of migrating new paths to Tome.<\/p>",
"format": "full_html",
"processed": "<p>Following my daily email archive, I've recently switched the podcast pages on my website from Sculpin to Drupal\/Tome.<\/p><p>The <a href=\"https:\/\/www.oliverdavies.uk\/podcast\/28-using-ai-tools-web-coding\">recent episode with Luke McCormick<\/a> was the first to be created in Drupal and served from static HTML generated by Tome, and I've since re-created the other podcast episodes and <a href=\"https:\/\/www.oliverdavies.uk\/podcast\">the podcast landing page<\/a>.<\/p><p>The next steps are to re-add the links on a podcast episode page to other episodes with the same guests, and to rebuild the podcast feed that's used to update players like Spotify and PocketCasts.<\/p><p>Once I've finished this, I'll move on to <a href=\"https:\/\/www.oliverdavies.uk\/presentations\">my presentations pages<\/a> as those are the ones that change next frequently.<\/p><h2>How am I doing this?<\/h2><p>A lot of the content is still served from HTML generated by Sculpin, which is stored in one directory on my server.<\/p><p>The newer content, generated by Tome, is stored in another directory.<\/p><p>In my Nginx configuration, I change the <code>root<\/code> value based on the URL, so depending on which page you're visiting, you'll get content from Sculpin or Tome.<\/p><p>Here's part of that configuration:<\/p><pre><code class=\"language-plaintext\">server {\n listen localhost:8095:\n server_name www.oliverdavies.uk:\n root \/var\/www\/vhosts\/website-sculpin;\n\n location \/ {\n try_files $uri $uri.html $uri\/index.html =404;\n }\n\n location ~ ^\/archive {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/core {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/daily\/.+ {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/homelab {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/podcast {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/sites\/default\/files {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n\n location ~ ^\/themes\/custom\/opdavies {\n try_files $uri $uri.html $uri\/index.html =404;\n root \/var\/www\/vhosts\/website-tome;\n }\n}<\/code><\/pre><p>This is the same approach as <a href=\"https:\/\/www.oliverdavies.uk\/daily\/2025\/04\/17\/incrementally\">upgrading incrementally<\/a> from old versions of software to new versions or different software.<\/p><p>Neither site knows about the other and they work independently.<\/p><p>My Nginx configuration is managed within <a href=\"https:\/\/code.oliverdavies.uk\/opdavies\/nix-config\/src\/commit\/a994777ba631cf95a16e2bb8f71e344a50bc11f3\/hosts\/nixedo\/modules\/nginx\/www.oliverdavies.uk\/default.nix#L11-L39\">my NixOS configuration<\/a>, so you can see the whole configuration for my website and how I've leveraged the Nix language to simplify the process of migrating new paths to Tome.<\/p>",
"summary": ""
}
],
"feeds_item": []
}

View file

@ -0,0 +1,27 @@
{
"uuid": [
{
"value": "678f29fc-1b63-4450-8689-7d0949a2779b"
}
],
"langcode": [
{
"value": "en"
}
],
"path": [
{
"value": "\/node\/81676cf3-0b30-4619-a922-12ff3e16ba76"
}
],
"alias": [
{
"value": "\/daily\/2025\/05\/28\/drupal-powered-podcast-pages"
}
],
"status": [
{
"value": true
}
]
}