As discussed on my personal blog, I’ve moved all the more technical posts from there to this site, and also moved both sites from Ghost to Jekyll (link at the bottom of the page).
The process was pretty smooth, especially as there’s an importer (jekyll_ghost_importer) to parse a Ghost site export and generate Jekyll posts. The only issue I had with the importer is that I had one Page on my blog (my resume), and it was turned into a post as well, which makes sense in retrospect but I didn’t expect it for some reason. Quite simple to move that one into a different location in Jekyll and alter the metadata. Otherwise just had to move the images over into the Jekyll folder structure, update a bunch of internal image refs, and other links. My site was quite simple to move over, your mileage may vary.
When I’d previously looked at moving to Jekyll in 2015 I wasn’t too happy with the quality of themes or docs or docs for themes. This seems to significantly improved, and notably the theme that I wound up using (Minimal Mistakes, link at bottom of the page) is very well documented and works great. Entirely likely that I’ll see if I can contribute to the theme and possibly sponsor on github, it’s really well done.
One issue I had is that many of my posts had banner or hero images at the top, and while I did find a way to add them in Jekyll/Minimal Mistakes all the images would need to be resized (Ghost took care of a bunch of image processing), and at the moment I can’t be bothered. At some point I may go back and retrofit the images, but more likely I’ll just leave them off – I’ve always preferred web sites being mostly text anyway. The few images in the body of posts seem to be working fine.
The locally hosted hot-reloading feature of Jekyll was quite helpful while sorting the posts between this site and my personal blog – just removed the posts I didn’t want on each and Jekyll rebuilt the static pages, then I just reloaded the page in the browser. I realize this is standard for pretty much any static framework at this point, but first time I’ve actually used it in this way.
I also completely revised the directory structure of the sites, going with the Jekyll default of having post URLs including the date. This is likely going to break SEO somewhat, but I don’t really care that much. I’ve put in redirects for the more recent technical posts on my personal blog to send them over here. But eventually the search engines will recrawl my old site and update this one, and things will again be findable.
For now the new sites will remain on a cloud VM until my reservation expires next year, but then I’ll likely move it to a cloud storage bucket. I did take the opportunity to clean up the nginx config to give better performance and validate with some performance testing site, which apparently I’d never bothered with on my Ghost sites.
I’ve also ditched Google Analytics because I don’t really care how many dozens of visits I get and Google doesn’t need more of my data than it’s already getting.
Ghost has a nice editor, but I don’t have a problem editing posts in a text editor – or if I wanted to be fancy I could use Visual Studio Code – so not particularly a big win there for me.
That’s all I can think of about the move at this point, but perhaps will update this or add another post later.