I was sick and tired having Github emails me about obsolete packages on my Github Pages blog. I was using Minimal Mistakes for a long time. I was busy and my blog was neglected in years. The GH tutorial on how to setup Jekyll-based GH Pages was confusing to read.

Preparation

Now I have time to understand how remote theme works. I’m also on a new environment, GNU/Linux Fedora. From a blank state, install gh(Github utility) and Ruby’s gem:

sudo dnf install gh ruby-devel 

New Repository

gh repo create jpmrblood.github.io --clone --public

Or, go to the GH page, instead, to create the site manually.

Install Jekyll

Check on supported library section. In the time of writing, Jekyll is 3.9.5.

gem install jekyll -v 3.9.5

Create Site

Create site:

mkdir my_blog && cd my_blog
jekyll new --skip-bundle . --force

On Gemfile, remove jekylland minima:

gem "jekyll", "~> 3.9.5"
gem "minima", "~> 2.0"

Add:

gem "jekyll-include-cache", group: :jekyll_plugins
gem "github-pages", group: :jekyll_plugins

Change the theme with remote-theme

--- _config.yml.bak     2024-06-23 02:22:52.469379746 +0700
+++ _config.yml 2024-06-23 02:25:04.042035654 +0700
@@ -26,7 +26,8 @@
 
 # Build settings
 markdown: kramdown
-theme: minima
+remote_theme: "mmistakes/minimal-mistakes@4.26.2"
+minimal_mistakes_skin    : "sunrise"
 plugins:
   - jekyll-feed
 

Minimal Mistakes needs these plugins:

plugins:
  - jekyll-paginate
  - jekyll-sitemap
  - jekyll-gist
  - jekyll-feed
  - jemoji
  - jekyll-include-cache

Run the installer:

bundle install

Next, add Gemfile.lock to GIT ignore:

 echo "Gemfile.lock" >> .gitignore 

After this, I removed index.md and about.md. The posts are in the _posts directory. The rest is to have the configuration like Minimal Mistakes.