Back to templates

Template details

So Simple

A simple Jekyll theme for words and pictures, featuring microformats markup, Disqus comments, Google Analytics, and SEO via jekyll-seo-tag.

About this template

So Simple is an MIT-licensed Jekyll theme by Michael Rose (mmistakes) for publishing words and pictures as a static blog — it turns Markdown posts and YAML front matter into a complete site with post layouts, year/category/tag archives, Lunr search, and author sidebars, installed as a Ruby gem, a GitHub Pages remote theme, or a direct copy of theme files.

What is the So Simple theme?

So Simple is a Jekyll theme (requires Jekyll 3.6 or newer) designed for readable blog and photo sites. It takes Markdown posts, pages, collections, and _config.yml settings as input and outputs static HTML, CSS, and JavaScript with no database or server-side processing. Michael Rose (mademistakes.com) maintains the theme; the live demo runs at https://mmistakes.github.io/so-simple-theme/.

Key Features

So Simple's feature set spans SEO, comments, analytics, search, and archive layouts, all configured from _config.yml and front matter.

  • Microformats2 markup — post content carries h-entry microformats so it is machine-readable and discoverable by parsers.
  • SEO via Jekyll SEO Tag — replaces a custom Open Graph include and feeds Twitter cards and site feed metadata.
  • Disqus comments and Google Analytics — enabled via Disqus shortname or UA- tracking ID in _config.yml; both render only with JEKYLL_ENV=production.
  • Lunr search — layout: search generates a Lunr.js-backed search form; search_full_content: true indexes full bodies, otherwise only the first 50 words per document.
  • Three color skins — default, light, and dark CSS skins in /assets/css/skins/, selected with the skin key, plus a documented custom-skin workflow.
  • Taxonomy layouts — posts (grouped by year), categories, tags, category, tag, and collection layouts, switchable to grid view via entries_layout: grid.
  • Opt-in MathJax — math rendering with configurable combo (default tex-svg) and equation-numbering tags (none, ams, all).
  • Pagination and helpers — home layout works with jekyll-paginate (paginate, paginate_path) and posts_limit; includes add responsive video embeds and an auto-generated table of contents.

Who is it for?

So Simple targets bloggers, GitHub Pages hosts, and Jekyll developers who want a theme they can override file-by-file.

  • Writers and bloggers — publish Markdown posts with hero images, captions, per-post authors, and share links, with archives grouped by year, category, or tag.
  • GitHub Pages users — install with remote_theme: "mmistakes/so-simple-theme@3.2.0" and a github-pages Gemfile group, with no fork to maintain.
  • Developers who customize themes — override individual _includes and _layouts, inject markup via head-custom.html and footer-custom.html, and rebuild minified JS with npm run build:js.

What can you do with it?

The README documents workflows for blogs, photo sites, collections, and multilingual content.

  • Personal blogs: configure locale, title, url, logo, and author data in _config.yml, then use image front matter (path, thumbnail, caption) for hero images, Open Graph, and Twitter cards.
  • Photo and portfolio sites: pair the grid entries layout with the collection layout for image-heavy documents; documented sizes include 1600 x 600 hero, 400 x 200 thumbnail, 150 x 150 author picture.
  • Recipe or documentation sites: build a page like /recipes/ with layout: collection and control ordering with sort_by: title or sort_order: reverse.
  • Multilingual sites: declare hyphenated locales such as en-US and supply translated strings in _data/text.yml per locale key.

How does it work?

Three installation paths are documented. The Ruby gem method adds gem "jekyll-theme-so-simple" to the Gemfile and theme: jekyll-theme-so-simple to _config.yml, then runs bundle install. The GitHub Pages method uses gem "github-pages" and sets remote_theme: "mmistakes/so-simple-theme@3.2.0". The fork method copies _layouts, _includes, _sass, and assets into the project and updates via git pull upstream master.

Pros and cons

The README states the following benefits and limitations.

  • Free for personal and commercial use under the MIT license.
  • No custom Jekyll plugins needed — core features use includes plus standard plugins (jekyll-seo-tag, jekyll-feed, jekyll-paginate, jekyll-sitemap) that work on GitHub Pages.
  • Stated limitations: overriding a single Sass partial is not supported (copy the whole _sass directory); setting footer_scripts disables the bundled main.min.js; and search_full_content: true enlarges the search index and slows page loads.

Pricing

So Simple is free and open source under the MIT license; the theme's build comment states it is "free for personal and commercial use under the MIT license," and no paid tiers are mentioned.

Alternatives

Comparable Jekyll themes include:

  • Minimal Mistakes, another Jekyll theme by Michael Rose with a larger set of layout and presentation options.

FAQ

Is So Simple free?

Yes. So Simple is released under the MIT license, and the theme's build comment explicitly states it is free for personal and commercial use. No paid tiers or premium versions are mentioned in the documentation.

Does So Simple work with GitHub Pages?

Yes. GitHub Pages supports any GitHub-hosted theme, so you add remote_theme: "mmistakes/so-simple-theme@3.2.0" to _config.yml after switching the Gemfile to the github-pages gem. The documentation recommends locking to a version tag to avoid inheriting breaking changes from master.

How do I add search to my site?

Create a page with layout: search in its front matter, and Jekyll generates a Lunr.js-backed search form. By default only the first 50 words of each document are indexed; setting search_full_content: true indexes full content, at the cost of a larger search index and slower page loads.

How do I enable Disqus comments?

Add your Disqus shortname under the disqus.shortname key in _config.yml and build with JEKYLL_ENV=production, since comments are suppressed in local builds to avoid polluting the account. To disable comments on a single post, add comments: false to its front matter.

How do I change the fonts?

Set google_fonts in _config.yml with font names and weights, for example "Source Sans Pro" and "Lora" at 400, 400i, 700, and 700i. Then override the SCSS variables $serif-font-family, $sans-serif-font-family, and $monospace-font-family in /assets/css/main.scss.

screenshot of So Simple on template0.com