Husband. Father. Software engineer. Ubuntu Linux user.
I recently did some volunteer work to upgrade the website for a podcast. I chose to re-write the site from scratch, but needed to migrate all of the existing content. After some research, I determined that Jekyll fit our needs best because:
When I took over the web presence of the podcast, it had roughly 4 years of content that needed to be preserved. The old site was driven by WordPress.
I wanted the new site to be simple, easy (for me) to update, version controlled, and as automated as possible. First, I had to work out the mechanics of how to actually do podcasting with Jekyll. After publishing several new episodes, I’ve found the setup to be quite nice:
_posts
folder with some YAML frontmatter.After developing the Jekyll site, I had to migrate all of the content off of the old WordPress site and into the new Jekyll site. Fortunately, since the audio files were already in a separate folder, they did not require any migration.
Since I was now generating the RSS feed with Jekyll, I needed to import all the necessary metadata into a markdown file for each existing episode. To accomplish this, I wrote a script that will generate Jekyll posts (markdown files) from an existing RSS feed. This was the most difficult (and riskiest) part of the migration because I needed these Jekyll posts to produce an RSS feed nearly identical to the existing one (which was not managed by Jekyll).
After importing all the old episodes, all that was left was to deploy the site.
Again, because Jekyll generates static HTML, this was easy. I deployed all
pages except index.html while the wordpress site was still live. Finally,
deleting wordpress’s index.php
and replacing it with the new index.html
switched the new site on with no downtime. Because the location of the iTunes
RSS feed didn’t move, iTunes and other podcast scrapers did not need to be
changed and immediately started picking up any new episodes deployed with
Jekyll.
Exporting the old website from WordPress and importing it to Jekyll was easier than I could have hoped it would be, thanks to a few simple scripts. So far, Jekyll has been easier and more enjoyable to work with than WordPress. It’s also proving to be a great platform for serving a podcast. I’m working on a solution for automated deployment, but that’s a topic for a different post.
👋 Hi, I'm Mike! I'm a husband, I'm a father, and I'm a senior software engineer at Strava. I use Ubuntu Linux daily at work and at home. And I enjoy writing about Linux, open source, programming, 3D printing, tech, and other random topics. I'd love to have you follow me on X or LinkedIn to show your support and see when I write new content!
I run this blog in my spare time. There's no need to pay to access any of the content on this site, but if you find my content useful and would like to show your support, buying me a coffee is a small gesture to let me know what you like and encourage me to write more great content!
You can also support me by visiting LinuxLaptopPrices.com, a website I run as a side project.