Skip to content

Using Github Issues to host a blog #1

@bpceee

Description

@bpceee

It's about time to start my own tech blog!

At first glance, Jekyll is quite a good choice, but it's a little bit heavy in some aspects (it uses Ruby and needs to commit every time when post). As a minimalist, I decided to utilize Github GraphQL API v4 as data source and Github Pages to host frontend code. More specifically, this blog use a repo's issues as blog posts and a simple React Web App to load and present these issues. It's totally free, highly configurable and has a in-place comments board.

Tools & References :

TODO:

  • Load comments.
  • Add some style.
  • Copy 404.html from index.html to solve SPA refresh issue.
  • Config About page.
  • Only show issues using a specific label?
  • Filter by tag, refer to https://v8.dev
  • Lazy load comments. (Using IntersectionObserver)
  • Leverage Service Workers.
  • Add pagination. (Maybe when there are enough posts to be paginated)
  • Fallback to Github issues if it hits rate limit. (Using iframe?)

Update:

After being astonished by Dan's blog's overreacted outstanding performance brought by PWA technology, I decided to see if there are anything I can do to improve mine. Well, the solution is easy, just using Gatsby.js like how Dan did it.

The official starter gatsby-starter-blog use markdown files from source code as content source. However, I still like to use issues as content source. Thankfully Gatsby.js is flexible enough to source from Private APIs. Happy ending!


Update 07/2023:

4 years later, npm install failed... Rewrote it in Next.js the coolest boy on the street.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions