Following my daily email archive, I've recently switched the podcast pages on my website from Sculpin to Drupal/Tome.
The recent episode with Luke McCormick 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 the podcast landing page.
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.
Once I've finished this, I'll move on to my presentations pages as those are the ones that change next frequently.
How am I doing this?
A lot of the content is still served from HTML generated by Sculpin, which is stored in one directory on my server.
The newer content, generated by Tome, is stored in another directory.
In my Nginx configuration, I change the root
value based on the URL, so depending on which page you're visiting, you'll get content from Sculpin or Tome.
Here's part of that configuration:
server {
listen localhost:8095:
server_name www.oliverdavies.uk:
root /var/www/vhosts/website-sculpin;
location / {
try_files $uri $uri.html $uri/index.html =404;
}
location ~ ^/archive {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/core {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/daily/.+ {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/homelab {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/podcast {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/sites/default/files {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
location ~ ^/themes/custom/opdavies {
try_files $uri $uri.html $uri/index.html =404;
root /var/www/vhosts/website-tome;
}
}
This is the same approach as upgrading incrementally from old versions of software to new versions or different software.
Neither site knows about the other and they work independently.
My Nginx configuration is managed within my NixOS configuration, 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.