Frameworks for blogs

Published: 2019-07-28
Last updated: 2020-06-09 20:36

blog
meta
tools

So you want to create your own blog/website, and need to decide what framework/tool to use for it? Me too, so here are the info I collected on some popular options: Hugo, Jekyll, Pandoc, Pelican, Sphinx, Squarespace, Wordpress

Honorable mentions: Hexo, Gatsby, Middleman, VuePress, Metalsmith, Octopress, DocPad

I kid you not, there are so many alternatives! See stackshare’s listing of alternatives for different static web page generators.

>>Static vs Dynamic

A static site has pure HTML-files that are directly served to clients instead of say PHP or Python scripts that can dynamically create the pages before serving them. This has the advantage of being more light-weight for the server (meaning possibly faster) and more secure (almost no possibility to inject info to the server).

Static: Hugo, Jekyll, Pandoc, Sphinx
Dynamic: Squarespace, Wordpress

>>Hosted vs Self-hosted

Hosting is its own issue. This is a cost issue, and possibly an updating issue when using dynamic websites and its plugins. Hosted pages tend to update plugins for you as well as the website engine, and thus solves the hassle for you. When you host it yourself, you’ll have to manage the updating yourself as well.

Hosted: Squarespace, Wordpress (via Wordpress.com)
Not hosted: Hugo, Jekyll, Pandoc, Sphinx, Wordpress

>>Coded vs GUI

Most highly customizable types of website frameworks are codable, i.e. you can hold almost the whole configuration of the web site as text files. This makes it easy to version the website as well as redeploy it, but can be harder to make look as you want.

Coded: Hugo, Jekyll, Pandoc, Sphinx, Wordpress
GUI: Squarespace, Wordpress (through Wordpress.com)

>>Markdown support

The Markdown language is truly splendid when it comes to documentation since it is easy to read, but can be rendered beautifully with good templates. Kind of like a basic variant of LaTeX that is much simpler to write (and read from source code).

Supports Markdown: Hugo, Jekyll, Pandoc, Pelican, Sphinx, Wordpress
No Markdown: Squarespace

>Pelican logo Pelican

Supports reStructuredText.

Pelican documentation

>Pandoc logo draft Pandoc

Pandoc is really just a document conversion tool that can be used for creating static web sites from e.g. Markdown.

Scientific blogging with Pelican and Pandoc

>Sphinx logo Sphinx

I ran into this on the documentation of the VUnit project (a great tool by the way for anyone writing VHDL - and SystemVerilog I guess).

>Jekyll logo Jekyll

Jekyll is used for creating static websites from Markdown.

Also see Octopress for coding related setups with Jekyll. It’s basically an extension of it with several nice extra features.

>Hugo logo Hugo

Static site generator designed to be fast. Takes Markdown as input.

>Wordpress logo Wordpress

Not to be confused with Wordpress.com which is the hosted variant.

An open source framework for creating web sites with lots of plugins. This is quite tempting to use since it is so popular (used by 32% of the Top 1 million websites as of July 2019 according to builtwith.com/cms). This gives several pros: I might have use of it in other cases (can help others), there exists an active community (there is help to get), it gets regular updates (it stays secure and fresh).

It also seems very customizable.

>Squarespace logo Squarespace

Hosted and managed by Squarespace themselves. This means that you can set up the page once and really stop caring about it. They will keep updating it for you. So goodbye security theats, and needs of manually updating.

The probably most notable feature of Squarespace is its design, and that’s their biggest sales pitch:

Award-Winning Web Designs:
Stand out online with a professional website, online store, or portfolio. With Squarespace, you can turn any idea into a reality.

They also have a lot of tools if you’re more serious with your website, such as search engine optimization (SEO), commerce tools, encryption (SSL), etc.

However, Squarespace also lacks more advanced features which are nice for programmers, like fully customizing plugins, adding your own code etc. To get all of that goodness, you’ll have to stick to an open source platform, of course!

Also, I believe that it is harder to version your website (if you’re into that kind of stuff) since it’s all click-and-drag types of GUI (WYSIWYG).

Last but not least. It’s not free! Sure, you’ll need to find hosting for all of the other alternatives, which will cost, but if you host it yourself, then you can get it much cheaper. Starting price: $12/month (ouch). And all of the good stuff I mentioned above will cost extra. So: mmk-bye!

>>Sources

  1. Pelican documentation.
  2. Scientific blogging with Pelican and Pandoc.
  3. Squarespace sales pitch.
  4. A quite nice rundown between Squarespace and Wordpress.

>Comments on blogs

A blog without ability to comment is no true blog.

Everybody loves to express their opinions on blogs. However, I will have to cover that in an entirely different episode. I’ve gotta focus!

Sneak peak.