Skip to main content

Introduction

What is Emanates?#

Emanates is a free and open source content management system that is built on top of GitHub Issues and GitHub Actions. This project started merely because I was tired of rebuilding my personal blogging site with new technologies every 5 months and even after that not being satisfied with it.

The problem with self made blogs is that there is no place where the author can go to at anytime and just make a change and be at peace thinking it will work without any issues.

Following things are a basic mapping of Emanates tech to GitHub tech:

  1. GitHub Issues are blog posts.
  2. GitHub Actions are deployment of the blog

How does it work?#

GitHub Actions are deployments#

GitHub Actions are (obviously) deployments, however in terms of Emanates, these are blog deployments. Every time a new blog post is created or an older one is deleted/updated, the GitHub Action to deploy the blog is invoked. This action builds a static blog by mapping every issue to a blog post and adding some other things such as related articles etc.

The author can stay focused on the content of the pages rather than the tech and deployment which will be handled by GitHub Actions and Emanates. All they have to do is write and create awesome content!

GitHub Issues are blog posts#

Yes, think of every GitHub issue as a blog post. Just give it a thought. An issue actually has all the characteristics of a blog post. It has a title, a body, people who comment on it, labels (tags), reactions to the posts etc.

We have tried to make it as close to a proper blog as possible, following are some of the characteristics of a blog built with Emanates and GitHub Issues

  • Title
  • Body
  • Tags (Issue labels)
  • Cover Image (Passed through a comment in the content)
  • Related Articles (Found with labels)

We basically have all the necessary features that a blog usually has and all of it through GitHub Issues, nothing extra added at all!