I have been delaying setting up something in place of my aging Concrete5 site. Between Omni, WordPress, Ghost, Svbtle, tumblr and now Gatsby. I think I found something that works for me

During my undergrad in 2012 I got a job as a part time Web Developer producing content for the Eastern Michigan University's site emich.edu. The University had recently adopted a new Content Management System OmniUpdate. I learned a ton while there including the importance of giving content owners the ability to control their own content. The site before the cms was introduced was php based with little control over the overall layout. Omni allowed for templating, version control, staging features, user control, and WYSIWYG editor. My role was taking the static site that used to take a developer to make changes to a PHP code file and bringing that into the CMS. This would sometimes involve getting with the department that will be making changes in the future and helping them understand how OmniUpdate works. I liked this system because the html in the editor was almost exactly what you see on the rendered page.

This experience allowed me to volunteer my services to the Eastern Michigan University chapter of IEEE. During 2014-2015 I was the Webmaster for EMU IEEE branch. This is an officer position and I got acquainted with using the Word Press site IEEE provided to the branch. The tasks I was given were mostly updating new photos after branch events happened. Nevertheless this gave me a pretty good Idea of what WordPress is like. You still have the ability to update the website directly on the site with templating, easy navigation, and users. My take overall is it serves a purpose but felt to me a little unpolished and there was some magic behind the scenes that I'll never be able to see (or maybe that is just PHP in general.)

Personal Site

When it came time to choose a Content Management System for my own website I chose a system similar to both OmniUpdate and WordPress. Concrete5 allows for editing directly on the website through an editor just like Word Press and OmniUpdate. What set Concrete 5 apart from WordPress to me was the smaller community with a focus on really good themes and add-ons. When looking at the themes it seemed to me that Word Press just had a ton of themes and add-ons that flood the market. I chose Concrete5 and picked out a site theme. I like that each time I update a page a new version is created. The WYSIWYG editor was nice, allowing for both editing in html and through a ribbon toolbar.

I started to add content for a few years in a section of the site called Projects which I separated out into different categories. This became a hindrance because I kept having to come up with new a broader categories as well as switching things in and out of more specific categories. Yet another negative thing was that there was no default way to add a date to the page. I also had no way to showcase what was my most recent posts because they have to be set in the projects Navigation for example:

  • Projects -> Lego Creations -> Lego Lamp

This led to me not posting as much as I would. What I realized was that I was running my blog site as static content. I then created a blog on the Concrete5 site through a blog add on. This didn't fare very well because there was a lot of preparation to get a blog post going and it didn't seem very permanent either.

Personal Blog

I Put a few entries in the Concrete5 blog over the course of a couple of months but stopped because of the reasons mentioned above. This led me to explore the micro-blogging scene with both tumblr and svbtle these both allow for custom domain hosting. Svbtle is intended to be a platform for personalization and makes it easy to get ideas typed out. Tumblr, on the other hand, is the swiss army knife of types of posts and allows sharing with others on the platform. I have been off and on with tumblr since 2013. I used it as a pure social media platform initially and since then considered using it for shorter posts. tumblr can be professional however because of the social media aspect of tumblr it makes it harder to be formal.

For my needs I wanted something more flexible which is why svbtle didn't work for me either. Svbtle has limited customizations and that is by design so you don't get caught up in customizing and can focus on writing only. In fact I still find this useful and have made svbtle my personal blog site but it just did not seem suitable for my professional blog site. The knock against both of these platforms is that they both are not owned by me at all. If svbtle or tumblr go down or become unfunded my content goes with it. That is what made Ghost sound so nice.

I started a Ghost blog using a VPS in early 2018. As much as I thought I would like it because of the many ways to post to it I found myself avoiding it. For some reason it never felt natural to post in ghost. I only ever posted one post. I can't explain why I didn't like the platform but I did hear about a new platform called Gatsby.

Professional Blog

After a year and a half of paying for hosting of a blog I was not posting to I decided to try gatsbyjs static generation. For the first month of using it I am loving it. When paired with Netlify you can host your site with included CI-CD completely free. Netlify takes care of DNS, Encryption via LetsEncrypt with automatic renewal, and a www subnet. The best part of it is you can use your own source repo from GitHub and everything is contained to the repo including pictures and content. The important part of this is that I can have a local instance of my entire blog site completely identical to what gets deployed on pushes to the master branch. This is what I was looking for. With Gatsby you have the ability to use markdown for all the content pages and update the rest of the site as you please. Pairing that with NetlifyCMS and you get an editor where you can choose markdown or rich text directly on the site. This way you can have your content preserved in source code and make changes as code but also have the ability to add and update pages on the site if needed. With this system I feel really good about moving my 15-20 pages on personal site and from all other content sources as old entries in my new blog.

From WYSIWYG to Markdown

I want to move my Pages from my personal site to my blog site because the Projects section of my personal are mostly blog entries and I would like to remove that content so I can better focus my personal site. This process has been mostly straight forward. These are the things that mostly need to be updated:

  • Copying in from the text content from the current site into markdown file in new blog source
  • find any lists and replace them with markdown - list format
  • find all headers and replace them with the # header markdown format
  • find any hyperlinks and replace them with the markdown []() format
  • finally find images copy them to the site source and add the following where you want the image, using the figure tag allows you to specify the width unlike the ![]() markdown format:
<figure class="float-right" style="width: 200px">
  <a href="/media/images/good-prints.jpg"><img src="/media/images/good-prints.jpg" alt="good print group" ></a>
</figure>

So I said all of the above to say expect more back converted pages from my other content sources into this blog site. Now I can use the both Tags and Categories to organize my content in addition to dates for each page. Overall I am really pleased with the Gatsby stack and the combination with Netlify and NetlifyCMS.