This repository contains source code and posts of my blog.
Some features include:
- GitHub Issues as CMS
- SEO best practices
- Dark mode
- Codeblock syntax highlighting
- Smaller CSS & JS bundle size
It used to be a common practice to include the metadata of a blog post in its frontmatter, such as:
- title
- description
- created time
- updated time
- tags
- ...
However, as the number of posts increases, it becomes tedious and tiresome to remember all of the required properties. And sometimes you may have the nagging feeling that some properties, such as updated time, should have been managed automatically.
There are numerous brilliant CMS on the market to address this issue. (WordPress, Strapi, Payload, ...) However, they either require a server or charge a fee. Besides, rather than having a separate content authoring system, I prefer to keep source code and blog posts colocated.
In this regard, GitHub Issues is unquestionably an excellent solution, as almost every field in the frontmatter can be automatically managed.
GitHub Issue | Blog Post |
---|---|
number | id |
title | title |
body | description |
first comment | content |
other comments | comments |
open | draft |
closed | published |
created at | created at |
closed at | published at |
updated at | updated at |
pin | featured |
url | origin |
labels | tags |