[{"_path":"/hello-ghost","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Hello Ghost","description":"Update: I’m no longer using Ghost. You can follow the journey here.","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"Update: I’m no longer using Ghost. You can follow the journey "},{"type":"element","tag":"a","props":{"href":"/tags/hello"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The very first post of this blog started with how I ended up building a static blog using "},{"type":"element","tag":"a","props":{"href":"/hello-jekyll"},"children":[{"type":"text","value":"Jekyll"}]},{"type":"text","value":". While I enjoyed learning new tools and customizing my blog, it was also a lot of work. There were days when I wanted to publish a new post, but instead spent the entire time just updating "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Jekyll"}]},{"type":"text","value":" and the "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Heroku"}]},{"type":"text","value":" dynos."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I have since added "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"easy to maintain"}]},{"type":"text","value":" as one of the goals for the next version of the Blog."}]},{"type":"element","tag":"h3","props":{"id":"goals"},"children":[{"type":"text","value":"Goals"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Reduce friction for writing new posts"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Experiment with new web development frameworks"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Easy to maintain and upgrade"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I decide to try out "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Ghost"}]},{"type":"text","value":", a modern platform for writing and publishing blogs."}]},{"type":"element","tag":"h3","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All of my posts were already written in "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Markdown"}]},{"type":"text","value":" and Ghost natively supports "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Markdown"}]},{"type":"text","value":", so moving my posts was quick and easy (not to mention I only had 3 posts)."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The default theme is nice and clean, with the option to customize it however you like. There’s also a marketplace for themes, some are available for free and some paid. I started with one of the free ones and modified it to get it just right for me."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The native app lets you write, preview and publish directly from your MacBook. It also allows you to speficy the appropriate metadata for the site and individual posts to help with "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"SEO"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"deployment"},"children":[{"type":"text","value":"Deployment"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I primarily worked on blog using the native app. This was definitely the most frictionless experience yet. The app included scheduling features so new posts could be published at a later time automatically."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Ghost platform is open-source, but I opted to use their managed hosting service rather than go through the hassle of running it on "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Heroku"}]},{"type":"text","value":" like I did with the "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Jekyll"}]},{"type":"text","value":" version."}]},{"type":"element","tag":"h3","props":{"id":"moving-forward"},"children":[{"type":"text","value":"Moving Forward"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Ghost"}]},{"type":"text","value":" platform has a lot of integrations with other services like analytics, subscriptions, etc. I haven’t tried them yet, but it’s nice to know I have that option with a simple click of a button and with minimal setup required."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"At the time of writing, the cheapest plan is $19/month billed annually or $29/month billed monthly. This is pretty expensive for a personal blog with no intention of monetizing. However, if this gets me writing more, it may be worth it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Narrator: \"It did not\""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"contact","props":{},"children":[]}]}]},"slug":"hello-ghost","date":"2016-07-13T05:00:00.000Z","tags":["blog","ghost","hello"],"_type":"markdown","_id":"content:hello-ghost.md","_source":"content","_file":"hello-ghost.md","_extension":"md"},{"_path":"/hello-jekyll","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Hello Jekyll","description":"Update: I’m no longer using Jekyll. You can follow the journey here.","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"Update: I’m no longer using Jekyll. You can follow the journey "},{"type":"element","tag":"a","props":{"href":"/tags/hello"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I needed to develop my personal brand. I registered this domain many years ago simply because my name was available, with no real plans for what to do with it. Separately, I’ve tried writing blog posts on various blogging platforms but usually gave up after a few impassioned posts. I finally decided to establish my digital presence with a blog at my own site."}]},{"type":"element","tag":"h3","props":{"id":"goals"},"children":[{"type":"text","value":"Goals"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Reduce friction for writing new posts"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Experiment with new web development frameworks"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Second point first; My day job primarily involves working on mobile app development. The last website I built, involved writing a bunch of static html pages in Notepad and publishing them via FTP. New web frameworks were popping up daily and I didn’t want to get too far behind."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All my previous blogs failed because of the effort involved in working in someone else’s platform. I often spent more time fighting the platform trying to customize it. A system that allows me to focus on writing is the highest priority."}]},{"type":"element","tag":"h3","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I tried Wordpress because I had heard that it allowed for an incredible amount of customizations. After a quick trial, the product was just overwhelming, designed for big publishing companies with multiple authors and a convoluted setup process."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Next I tried Tumblr. Mostly because it had a mobile app which I figured greatly reduce the friction in writing whenever and wherever I felt like it. While there were many themes to style your site, there’s not much you can customize beyond that."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After briefly considering going back to Wordpress, I heard about "},{"type":"element","tag":"a","props":{"href":"http://jekyllrb.com/","rel":["nofollow"]},"children":[{"type":"text","value":"Jekyll"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"“Jekyll is a simple, blog-aware, static site generator.”"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Jekyll takes plain-text blog posts formatted in "},{"type":"element","tag":"a","props":{"href":"http://daringfireball.net/projects/markdown/","rel":["nofollow"]},"children":[{"type":"text","value":"Markdown"}]},{"type":"text","value":", slaps on a template and generates a static web site."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I didn’t care enough to migrate my old blog posts, but I took a test a run at Markdown by writing this very post. The plain-text writing with the markdown syntax was legible and made it easy to visualize the structure."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I then took the time to build out the template for the entire site. My CSS skills were still a little rusty, but I got a decent design working and vowed to come back to it later once the site was up and running."}]},{"type":"element","tag":"h3","props":{"id":"deployment"},"children":[{"type":"text","value":"Deployment"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Working locally was pretty easy simple since Jekyll was generating static html files and I could view and navigate to all the pages directly in the browser."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I wanted to get past uploading html files directly to a folder on a hosting server. We had used "},{"type":"element","tag":"a","props":{"href":"http://heroku.com","rel":["nofollow"]},"children":[{"type":"text","value":"Heroku"}]},{"type":"text","value":" for a few projects at work. I was familiar with the process and was able to quickly push the website live."}]},{"type":"element","tag":"h3","props":{"id":"moving-forward"},"children":[{"type":"text","value":"Moving Forward"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"So I’m basically back to building static pages, but this is way cooler. Only thing left to do now is write!"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"contact","props":{},"children":[]}]}]},"slug":"hello-jekyll","date":"2014-10-24T05:00:00.000Z","tags":["blog","hello","jekyll"],"_type":"markdown","_id":"content:hello-jekyll.md","_source":"content","_file":"hello-jekyll.md","_extension":"md"}]