Switched From WordPress to Jekyll
We’ve been using WordPress since this blog was started back in 2006. There have been many great features that were implemented. But as more features were added, I started to notice that it took longer and longer for me to create a post. Pages started to take longer and longer to load as well. Blogging began to become more work than something I did on the side and enjoyed. There were great themes out there but to have it work that way I want it to took longer than expected and I ended up just staying with the previous theme. I could create my own but I just couldn’t work inside WordPress. The code is just a mess to me. These are just some of the reasons why I wanted to look elsewhere for a blogging platform.
Welcome Jekyll and the Markdown syntax. Jekyll is a static site generator written in Ruby. It is cross-platform compatible and for me, it makes blogging fun again. Markdown is the syntax used to create content. If you’re familiar with Wikis and their syntax, it’s fairly similar. Liquid handles the layout/template engine. You can check out a great cheat sheet at https://github.com/Shopify/liquid/wiki/Liquid-for-Designers.
So what does Jekyll give me that WordPress doesn’t?
- Increase is speed loading. Jekyll compiles the content to HTML. No need to query a database and parse content. I also started to use a CDN for assets and images. I could have used CDN for images with WordPress but to do a bit more work to implement CDN for assets. I could use plugins but that adds more overhead. I could easily update the template file but every time there’s an update, don’t forget to add it again or it will be overwritten.
- I can easily change the layout of the blog with a lower learning curve for Jekyll and Liquid. Aside from that, it’s just regular HTML and CSS.
- No database means not having to manage or worry about a database. This also means I can host the blog on any platform and with low requirements. You can get it hosted for free at GitHub or even Amazon S3.
- Less distractions while creating content. The WYSIWYG for WordPress is nice and helpful but there aren’t any shortcuts. For instance, if I had to bold, insert hyperlink, create a list, etc. I have to stop typing, use my mouse and click on some menus, and pick what I want it to do. With Markdown, there is no need to take your hands off the keyboard and use a mouse for the menus, you can use the Markdown syntax and continue typing. It does take some time getting used to but once you get the hang of it, it becomes second nature like shortcuts within Microsoft Word. Some examples are using an asterisk (*) with two spaces after it creates a list; surrounding textext with one asterisk will italicize; surrounding text with two asterisks willbold; the number of pound signs wrapped around a text will determine its heading value. There’s many more and for me that’s very convenient.
It sounds all good, but is there a down side? Yes there are a few I ran into but it outweighs the advantages.
- It’s not a fit for everyone. You will lose the WYSIWYG feature. I’m fairly comfortable with the platform because I have a good amount of experience with technology and can have an easier time learning it. My wife on the other hand is not technical and loves how she can just log in and post. To help her, I have created a template on Google Drive that asks for title, date, category, tag(s). She can then freely write her content and with all the formatting she wants. I can easily translate that to Markdown. Any images she wants can be attached to the document in Drive and I’ll upload them to our CDN. Seems like more work but it’s a small price to pay.
- There is no app so I can’t post from a mobile device. I had the capability but never used it so no big deal.
Other than spending time converting posts from WordPress to Markdown – I know there’s a converter but I wanted to do it manually to fix broken links and do some housecleaning, I had to figure out how to replicate features I was using with WordPress and plugins.
- Comments: WordPress has a built-in commenting system. It does this easily since there is a database. To achieve this, you can look at third party services such as Disqus, Livefyre, and Facebook comments. You can even set it up and make it a part of Jekyll. Some people have comments emailed to them to moderate. Once approved, it is added to the content and pushed up with the site. I chose to go with Disqus.
- At one point on another, I may have implemented some sort of email subscription feature where you provide your email and it will send a notification when new article is published. You can use RSS for that without providing your email address. Just look for the symbol and click it. You can use your browser to subscribe or other RSS client. It will notify you of new articles similar to how you get emails.
That’s pretty much it with Jekyll. I’m excited to use it and we’ll continue to provide more content.