Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 2.54 KB

0020-blog.md

File metadata and controls

63 lines (46 loc) · 2.54 KB

Self-host our blog via Hugo and GitHub Pages

Summary

Create our own self-hosted blog using Hugo and hosting via GitHub Pages.

Motivation

The current blog uses Medium as its publishing platform. This has some obvious benefits, and also a few drawbacks. The benefits include a nicely themed blog layout and links to share posts on social networks. Some of the drawbacks include requiring that authors signup for a Medium account and possibly seeing our posts get placed behind a "login wall" when folks read too many posts on Medium. Hosting our own blog removes these drawbacks and makes the post creation process much more open. Additionally, it allows us full control over the look and feel of the blog site.

Detailed Explanation

Using Hugo, we can easily create a blogging platform that uses a post format that we are already familiar with, Markdown. We will get fine-grained control of the styling and features of the platform and can tailor it to our specific needs. Additionally, Hugo handles the vast majority of the complexity and makes hosting a blog like ours very simple.

Here is an example of what our own blog could look like. As you can see, it more clearly aligns with the styling of the main website.

Blog

Once the blog is created and made available as a repo in the paketo-buildpacks GitHub org, we can start to host it on GitHub Pages. Hosting there is free and deployment is straightforward. It even allows us to use a custom domain like blog.paketo.io. We already use GitHub Pages to host the main website and our dashboard.

We can also include some of the social media features that were present on Medium. It is relatively straight-forward to include "share buttons" for the major social networks that allow readers to share our posts. Here is what that might look like.

Share sheet

Rationale and Alternatives

We could continue to use Medium, but its benefits over this proposal are quite marginal.

Implementation

  1. Create a new blog repository under the existing Content subteam.
  2. Develop the look and feel of the blog using Hugo.
  3. Copy over the existing posts currently hosted on Medium.
  4. Deploy the blog using GitHub pages at blog.paketo.io.
  5. Link to the new blog from the main Paketo website.

Prior Art

Existing self-hosted sites:

  1. paketo.io
  2. dashboard.paketo.io.