Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Welcome to Minidyne, a minimalist hexo theme

Screenshot of this site

Live Demo on Netlify (Source for the demo on Github)

NPM version

This is V3. For V2 of this theme, head over to V2. For V1 of this theme, head over to V1.

Features Overview

  • Responsive
  • Tags Support
  • Accessible colors (at least the default one)
  • Responsive Images
  • Social Accounts configuration
  • Pages
  • Stylus CSS preprocessor
  • ejs HTML templates
  • Standalone (single css file, no external file) πŸ₯Š
  • Static (no js, one single css) 🍊
  • Emoji Icons for blog posts ✨
  • SVG for social icons (Twitter, StackOverflow, LinkedIn, Mastodon, Github, Flickr πŸ“°)
  • Rss Icon (can be disabled)

External libraries used


Install the theme

Install the theme by using:

npm i hexo-theme-mindyne --save

Then update your blog's main _config.yml to set the theme to minidyne:


theme: minidyne

You'll also need the following hexo plugins for this theme to work. Add them in the package.json (they should already be there, but just in case):

"dependencies": {
    "hexo-generator-feed": "^3.0.0",
    "hexo-generator-index": "^2.0.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^1.0.0",
    "hexo-renderer-stylus": "^2.0.0",


This theme does not handle:

  • Categories (so you can drop the default dependency to "hexo-generator-category" )
  • Archives (so you can drop the default dependency to "hexo-generator-archive". If you want archives, head over to V1)
  • Images gallery
  • Pagination (if you want pagination, head over to V1 branch)

Post Configuration

Each post supports the standard title, date, tags.

Post Icon

On top of that, you can specify an icon (ascii/unicode emoji):


title: Welcome to Minidyne
tags: ["ThisIsATag", "Intro", "Welcome", "Minidyne"]
icon: 🀝

Pick one from

Theme Configuration

The theme's global configuration is done in the main _config.yml under the config key theme_config:

  default_post_title: "Untitled"
  # Header
    Home: /
    About: /about.html
  # Index banner text
  index_banner_text: Welcome to Minidyne

  # Logo
  index_icon: ❀️

  default_post_title: "Untitled"

  default_post_icon: πŸ§™

  # Social Media Platforms, also used for comments
    - url:
      icon: stackoverflow
      name: Stack Overflow
    - url:
      icon: github
      type: github
      name: GitHub
    - url:
      icon: linkedin
      type: linkedin
      name: LinkedIn
    - url:
      icon: twitter
      type: twitter
      name: Twitter
      account: johndoe
    - url:
      icon: flickr
      type: flickr
      name: Flickr
    - url:
      icon: mastodon
      type: mastodon
      name: Mastodon
    - url: /rss2.xml
      icon: rss
      type: rss
      name: Rss
  • menu: The object key is the label and the value is the path.
  • index_banner_text The title appears on the home page.
  • index_icon The icon should be an emoji. Pick one from
  • default_post_title The default post title (used when no title is specified).
  • default_post_icon The default post icon (used when no icon is specified) is configured in the main _config.yml.
  • social_platforms Social Account: Setup the links to your social pages in the theme's _config.yml as an array of objects. Links are in the footer. They are used for sharing comments on your posts. Some need more properties than others


The devDependency in package.json is just here to know when there is an update for Tachyons


This theme was created by Thomas Piart initially based upon (Anodyne Theme)( by Jonathan Klughertz and also influenced by other minimalist approaches like mnmlist.


If you have a question, feature request or a bug you need me to fix, please file an issue.