I just moved from Craft CMS to a DIY static site generator, Ursus. I moved 850 entries with various kinds of metadata, including various relationships between entries. This is the website that pays my bills, so it's important to get it right.<p>It took 6-8 weeks, and I was on a roadtrip for 3 of those. It includes writing a SSG from scratch and migrating both the content and the templates.<p>I'm about to write my own recap, but to summarize it here: it went okay, and I love working with markdown.<p>The biggest issue was the conversion of 5 years of HTML noise caused by Redactor, a WYSIWYG editor with many quirks. The converter didn't know what to do with stray line breaks at the end of block elements, among other oddities. I had to fix a lot of stuff manually.<p>The second biggest issue was implementing responsive images with captions, which replace img tags with elaborate figure elements. I converted those to markdown manually, then wrote my own markdown extension. It wasn't that bad!<p>I've now been editing markdown for a month, and I am loving it. It's text in files, not HTML in a database. You can transform it with an arsenal of tools from the last 5 decades, not just a crummy WYSIWYG editor. You can apply the same rigour to the written word as you would to code. You can use scripts, regex, linters, and fancy text editors with fine-tuned plugins and themes. It's awesome to have so much control over your work environment.<p>It's also great to review changes with a git merge tool, to deploy content updates like code, to work offline on slow hardware.<p>Oh and the server has so few moving parts now. No more WordPress updates, no MySQL CPU spikes. The whole thing is so simple.<p>I waited a long time to move to an SSG, but it was absolutely worth it.