Extend Minima theme #

# _config.yml
minima:
  # skin: classic
  skin: solarized-dark
  social_links:
    - { platform: github, user_url: "https://github.com/jekyll/jekyll" }
    - { platform: twitter, user_url: "https://twitter.com/jekyllrb" }
author:
  name: John Smith
  email: "john.smith@foobar.com"
show_excerpts: true

Add a custom page #

Copypaste about.md and rename the new file to newsletter.md, inside too.

Add links to navbar:

# _config.yml
header_pages:
  - about.md
  - newsletter.md

I advise you to also rename .markdown files to .md.

Use gem Jekyll target blank

gem Jekyll SEO tag #

No action required! Minima theme has SEO tags installed by default.

gem Jekyll Opengraph image #

Add image previews to social sharing.

# _config.yml

# add these plugins
plugins:
  - jekyll-seo-tag
  - jekyll-og-image

# customise og_image
og_image:
  output_dir: "assets/images/og"
  image: "/assets/images/igor.jpeg"
  domain: "igor.works"
  border_bottom:
    width: 20
    fill:
      - "#820C02"
      - "#A91401"
      - "#D51F06"
      - "#DE3F24"
      - "#EDA895"

gem Jekyll Sitemap #

Important for search engines.

Install the gem and you can visit http://localhost:4000/sitemap.xml

# _config.yml
url: "https://example.com"
plugins:
  - jekyll-sitemap

gem Jekyll RedirecFrom #

Redirect (old) URLs to the current post.

# _posts/2024-12-24-jekyll-plugins.md
---
layout: post
title: "Recommended Jekyll plugins"
categories: jekyll theming
+redirect_from:
+  - /old-link
+  - /other
---

Now http://localhost:4000/old-link will redirect to http://localhost:4000/jekyll-plugins.

And http://localhost:4000/other will redirect to http://localhost:4000/jekyll-plugins.

In github_edit_url input your repo url

# _config.yml
github_edit_url: "https://github.com/yshmarov/yshmarov.github.io/blob/master/"
<!-- _layouts/post.html -->

<a href="https://github.com/yshmarov/yshmarov.github.io/blob/master/_posts/2024-12-24-jekyll-plugins.md" target="_blank"
  >Edit this page
</a>

Discovery feature: Tag pages #

Use gem Jekyll Tagging

On a post page, display links to tags.

# _posts/2024-12-24-jekyll-plugins.md
---
layout: post
title: "Recommended Jekyll plugins"
+tags: ruby rails
---

Be sure to set layout to base

# _layouts/tag_page.html
---
-layout: default
+layout: base
---

Display tags for each post in the post page:

html <!-- _layouts/post.html -->Tags:<a href="/tag/ruby">ruby</a>, <a href="/tag/rails">rails</a>

Here’s how I implemented it in another app.

Discovery feature: List of similar posts #

Use gem jekyll-tagging-related_posts

On a post page, display list of similar posts (based on amount of matching tags).

Add anchor tags to headings #

Copy this

Other plugins & features to consider: #

That’s it!