Starting A New Blog On Ghost

Welcome to my blog! This is a new type of endeavour for me as I've never blogged before, but I have a lot of interesting ideas for topics that I'm looking forward to writing about. To get things kicked off, I thought I would share my experience of creating and setting up a new blog.

Choosing A Platform

The first step was to decide if I wanted to build my own site from scratch or use a popular pre-existing platform. For many bloggers this may not even be a choice, but for someone with web development experience it almost feels like cheating to NOT build it from scratch. Ultimately I decided that I'd rather spend my time working on projects other than a blogging website since that problem was more or less "solved" in my eyes. So I did some googling and came up with the following options: Blogger, Tumblr, WordPress, Medium, and Ghost.

While a detailed analysis of each of these platforms is beyond the scope of this post, I'll say a few words about each one from my perspective. Tumblr, while interesting, did not seem to fit what I was looking for as it's a very different style of blog with a heavy emphasis on the social media aspect of blogging - picture-sharing, commenting, re-posting etc. Great for a very casual user or maybe a photographer sharing his/her work but not well-suited for long-form text content.

At first glance, Wordpress and Blogger seemed to be much closer to what I was looking for. However after digging a bit deeper, I decided that neither option was right for me. Blogger is owned by Google and although it has been around longer than any of the platforms, it does not seem like Google is really commited to it so the long-term outlook is a concern. Wordpress is really more than just a blogging platform - it's a full-fledged content managament system (and one of the most popular website platforms on the internet). Being used for much more than blogging though, most of the feedback I got on Wordpress is that it's powerful but complicated to use. I wanted something simple and modern that was really focused on blogging only.

Medium is a bit different than the other options here. It's more like a magazine than a blogging platform. The feature set is very minimalist, you have no control over the theme or styling, and content posted on Medium can be re-used by Medium royalty-free. But in return, there's a neat discoverability aspect where your posts may be accessible to a wider audience than you would have access to otherwise. Medium is a really cool concept and I'll be keeping an eye on it (and possibly using it to cross-post content to direct traffic back to my main blog) but it doesn't seem well suited as a "home base" for a blog.

Finally there's Ghost, which is what I ultimately decided to use. Ghost is a young, modern, and entirely open-source platform. It's led by a team of former Wordpress designers and engineers. The company itself is a non-profit dedictated to creating the best blogging platform in the world. While it's still a bit light on features compared to something like Wordpress, it's evolving fast and seemed to have everything I would need to get started.

Initial Setup

Now that I had selected a platform, it was time to go about setting up my blog. The first thing to do is create an account on ghost.org and choose a name for your blog. Simple enough. Next, you have to decide if you're going to self-host or use the Ghost(Pro) service provided by the Ghost team. At $10/month for the lowest tier it's a bit expensive, but I decided it was worth it to not go through the hassle of maintaining and updating my own cloud VM to run the software (which might have ended up costing a similar amount anyway).

I signed up for the service and got access to my blog, watched a few introductory videos showing how to do basic things like use the editor and publish a post, and now I was ready to go. But as I'm looking at the editor and starting to think about how this whole blogging thing is going to work, a number of questions came to mind. How do I get a custom "look and feel" for my blog? What about an "about" page? How do I style posts, add images/graphics, or maybe even embed external content? Speaking of images, where do I find pictures for these nifty full-screen headers? Let's explore these questions a bit.

Creating A Custom Theme

Ghost has a marketplace for custom themes which is a great starting point to find something that appeals to you. The number of quality themes available is not huge, especially for the free themes, but it's constantly growing and there's a decent amount of variety. Unfortunately, while having a marketplace for themes is nice, the concept is confusingly half-baked as the themes themselves are not viewable or even accessible from the Ghost website. Instead, the marketplace links to an external source that the theme's creator has provided. Most of the themes are linked to GitHub repos with no standard on what information is available about the theme, or even if there is a demo site where you can see what it looks like. I found that in order to see how some of the themes would appear in a live setting, I had to just download it and apply it to my blog and then delete it if I didn't like it.

Speaking of applying themes, if you're using Ghost(Pro) then applying a theme from the marketplace is pretty easy, though still a bit confusing. On the admin screen for your blog there's an option to upload a custom theme. You just drop in a zip file with the theme's contents and if the format is correct then it's applied to your blog immediately. It works well enough, but I would expect to have a more elegant way to handle this than downloading and uploading a zip file, and I wouldn't be surprised if this changes in a future version.

So I found a theme that I liked on the marketplace, and I applied it to my blog, but it was still basically the "stock" theme complete with the theme author's static URLs in the menu. I still needed to figure out how to edit and customize the theme to better suit what I wanted. Fortunately, this is where I discovered Ghost's supporting documentation. Between the user guide articles and the user forum I've been able to answer all of the question's I've come up with so far. Regarding the original question, it turns out that there are several helpful tutorials on customizing a theme in the user guide section. But although the documentation is helpful, the process/tooling around actually creating or modifying themes is still very immature and requires at least some basic web development skills as you're basically editing raw HTML and CSS files with a bit of templating injected into them. This works well enough for me but a non-technical blogger may find the process of customizing a theme to be fairly daunting.

Filling In The Gaps

I finished customizing my theme and uploaded it to my blog, but I still had a few other questions to address. Fortunately the documentation had what I needed. There's a nice tutorial on creating static pages like an "about" page and it turns out that it's really easy, especially if you have a theme that's already set up to style your static content. Styling a post or embedding content in a post is also straightforward. Ghost uses a form of "markdown" syntax that's really easy to master and lets you write quickly without having to deal with raw HTML. But the important thing to remember is that raw HTML still works, so you can add pretty much anything to your post that you want if you know how to create it in HTML, CSS, and javascript.

One last tip regarding images to use for blog posts - I discovered a great resource called Unsplash that posts free stock images that anyone can use for anything they want. Awesome! If you browse through the website you'll probably notice that most of the images I'm using on this blog came from Unsplash.

Closing Thoughts

Overall I've been happy with my decision to use Ghost and I'm excited about getting my blog off the ground. It's definitely fairly obvious that the platform is in it's infancy, and there are a lot of rough edges. But it's moving fast, and I'm really looking forward to seeing Ghost evolve. Even in its current state, there's already a lot of upside over something like Wordpress just due to the simplicity of the platform and the team's laser-sharp focus on blogging. The biggest pain point for me was figuring out how their custom themes worked, but once I found the right resources it was just a matter of deciding how I wanted to present my blog to the world. Hopefully my experience will provide some value to potential future bloggers, especially if you're thinking about using Ghost.