Empress Blog

Full featured, minimal dependency Gatsby blog starter

Introducing the Empress Blogpinned

An Empress Blog frees you up to write, while providing the fastest, cheapest blog possible. It's essentially a finished Gatsby blog starter. It has all the features of a static blog with none of the bloat.

The best thing about it is that it enables you to run a blog as cheaply as possible using AWS S3 and CloudFront. Most of the time, a blog hosted this way will be free. And how do you deploy to it? Using continuous integration provided by GitHub Actions all you have to do us push a commit to the master branch.

So pull the trigger. Fork Empress Blog and start your own media empire!

Download the source code and get started at https://github.com/PaulMorel1/eMPress.

Or try the Empress Gatsby Theme to add blogging to an existing Gatsby site: https://github.com/PaulMorel1/gatsby-theme-empress

Getting Started

This post will walk you through the process of setting up your blog for the first time. This may take a little work, but at the end you will have a blazing fast blog that you can host for as close to free as possible.

  1. Sign up for GitHub. You don't actually need to use GitHub unless you want to use the included GitHub Actions deployment.
  2. Fork the repository at https://github.com/PaulMorel1/eMPress. This makes your own copy of it.
  3. Sign up for AWS.
  4. Set up an S3 bucket for your site. The key thing about the setup process is to make the bucket public and set it up for website hosting.
  5. Set up a CloudFront distribution for your S3 bucket.
  6. Set up a new IAM user in AWS that will be used to upload to S3. Give it full control of your S3 bucket. Get the access key id and secret and set your repository secrets on GitHub that are needed for the action to run successfully.
  7. Download SourceTree or another git client and set up your git project locally.
  8. Download a markdown editor and write a post. Save it into the content/posts folder of your project.
  9. Commit the new post and push it to GitHub.

How to Register a Domain on AWS Route 53

To register a new domain using AWS, you must use a service called Route 53.

  1. Log into AWS management console at https://aws.amazon.com/console/.
  2. Find the service Route 53 and click it.
  3. Open the sidebar on the left side of the page.
  4. Click "Registered Domains" then click the button that says "Register Domain".
  5. Enter the domain name you want and click the check button. Your domain may already be taken, so you may have to be creative to find the right domain.
  6. When you find a free one that you like, add it to your cart and check out.

Here's Amazon's step-by-step instructions for registering a domain: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html

Using Images in Posts

Using Images in Posts

There are two ways to add images to posts in Empress. One way is to add a featuredImage to your post. To do so, simply enter the path to the image in the featuredImage field on a post.

featuredImage: ../images/butterfly-david-clode-unsplash.jpg

The featuredImage appears above the text of a post.

Using images within posts on a Gatsby blog can be a bit confusing if you are coming from a system such as WordPress. In Empress, you must save your images into "/static/images" within your project.

To use an image in the post, you use standard image markdown:

![Monarch butterfly](../../images/david-clode-13PjNBaDMcg-unsplash.jpg)

Monarch butterfly