Tinkering Monday

Posted: 25 Mar 19techexperimentwebsite

Publishing my first set of weeknotes on Friday reminded me how much I find Medium a bit of an irritating experience. I really do appreciate how Medium removes all the distracting guff and allows you to focus on the content and writing…but as someone who has played with content management systems and websites for a number of years - it also grates a little not to have more control. I realise that’s the point but I like to tinker on the web and I’ve learnt a lot this this way.

toy robot

Today I decided to revisit the Ghost blogging platform. I had tried it out some time back but had a few issues migrating an image heavy wordpress site and ultimately ended up moving on. Since that time I’ve also played with a few static site generators and wrap around content editing tools like forestry.io and although these are amazing I then found I was spending too much time tinkering and not enough time writing. I’m hoping Ghost will give me something in between. Ghost can also be used in headless configurations so if I ever decide to explore that route, it isn’t closed to me.

Ghost and Medium’s writing experience is very similar in terms of UI and when it comes to writing both are minimal and clutter free. Using Ghost though also means I can easily tweak and add scripts in the header and footer of individual posts & pages which I’m hoping will be useful as I continue to play with data visualisation and story telling techniques as I’ll want a few more embed and styling options than Medium will allow.

Running up a Bitnami Ghost Amazon Marketplace Image in EC2 was pretty drama free…but I did run into a few issues in setting up things the way I wanted. I’ve listed them below and my workarounds.

  • **Accessing SSH and SFTP - ** To properly setup the bitnami image and have access to restart scripts etc you need SSH access. This wouldn’t normally be an issue but today I was avoiding my work Macbook and trying to get things done on the Chromebook. In the end I found a great little app in the play store called Termius. It acts as both SSH terminal and SFTP client and was super easy to use. Equally it didn’t struggle with the AWS .pem key files (where others did!)

  • **Configuring Email - ** As much as I found the documentation from both Ghost and Bitnami to be excellent I had real issues getting my instance configured for SMTP. After losing much time trying to get it working with the email provider I use for this domain I went with a workaround and set up mail using Sendgrid. It’s not likely to need to send much mail in my configuration so remains free but I’m happy to have something sorted so I can easily reset my password in a bind ;)

  • **Theme tweaking and Grunt - ** If you can’t already tell from the above I am no developer. Although one of the free themes for Ghost was close to what I wanted there were a few tweaks I wanted to make. On loading a copy of the theme files into Cloud9 (my fave way to tinker across machines) I was presented with a bunch of handlebar templates and some SCSS files. As much as I was relatively confident with tweaking the contents I wasn’t sure how I would compile my efforts back into a usable theme. Luckily there were some pointers in the theme’s readme file (Good developers leave clues!) and I figured out I also needed to wrap my head around Grunt (a JS task runner). Some googling later, a quick npm install and I was ‘grunt sass’ing and ‘grunt zip’ing my way to a new version of my theme!

  • Cloudflare Gotcha! - The last issue I wrestled with today was a total schoolboy error. Ghost gives you a nice easy way to upload an .png file to use as the sites favicon. After trying this with a dummy icon and replacing it I could not get any browser to pick up the new version. I nuked my chrome cache several times and no joy. It took me about 45 mins of swearing to remember that my DNS is now configured on Cloudflare so I get the pleasure of their Content Delivery Network. A quick tap on the ‘Purge Cache’ button in the Cloudflare dashboard and all was fixed. Doh!

The hurdles above overcome and the rest of tinkering then included just a bit of copy and pasting to migrate content, more theme tweaks, setting up Disqus for comments and reactions, google analytics and a little testing across devices. I was mostly done by lunchtime so I managed to drive to the beach with Chloe and Monty and stretch my legs. Winning!

On my return I realised I was once again in danger of spending more time tinkering than writing so I thought I’d blog this summary of my productive day to bring back the balance! I’m hoping by writing some of my mistakes down, I’m less likely to repeat them in future. Expect my weeknotes this week to land here on words.lostinthe.uk

Robot Image Credit: Craig Sybert

Profile picture

This post was written by Stuart Mackenzie

Stuart works at TPXimpact (previously known as FutureGov) changing and improving our public services. He's also known for being a father, husband, runner, photography nerd, podcaster and excotic disco dancer!

Find out more