npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

hexo-theme-hermes-agent

v0.3.0

Published

A Hexo theme inspired by the Nous Research Hermes Agent visual language: deep-teal phosphor-decay aesthetic, grid-framed panels, terminal-style chrome.

Downloads

553

Readme

hexo-theme-hermes-agent

CI License: MIT

A Hexo theme that brings the Nous Research Hermes Agent terminal aesthetic to static blogs.

Screenshots

Dark mode Light mode

Features

  • Deep-teal / warm-cream phosphor-decay palette sampled from the Hermes reference site
  • Invert-based light mode (html.light { filter: invert(1); }) with .no-invert escape for images, code, and KaTeX
  • Terminal-style post meta ($ cat posts/slug.md), blink cursor, grid-framed panels
  • Sticky TOC with scroll-based highlighting via IntersectionObserver
  • /-triggered search modal, client-side fuzzy filter, arrow-key navigation
  • Code block COPY button, Prism token overrides
  • g chord navigation (g h = home, g a = archives, g t = tags), t toggles theme
  • KaTeX opt-in via math: true front-matter
  • English + zh-CN language packs (extendable)
  • Mobile hamburger drawer, 3 responsive breakpoints (1200, 768, 480)
  • OFL fonts bundled (Young Serif, Archivo, Archivo Narrow, Courier Prime)

Install

Requires Hexo 7+.

Via npm (recommended)

cd your-hexo-blog
npm install hexo-theme-hermes-agent

Then set theme: hermes-agent in the site's _config.yml.

The theme's runtime dependencies (hexo-renderer-ejs, hexo-renderer-sass-next, hexo-generator-search) are installed automatically as transitive dependencies.

Via git clone

Use this if you want to fork the theme or edit its files directly.

cd your-hexo-blog
git clone https://github.com/zhiwei-Feng/hexo-theme-hermes-agent themes/hermes-agent
npm install hexo-renderer-ejs hexo-renderer-sass-next hexo-generator-search

Then set theme: hermes-agent in the site's _config.yml.

Configuration

When installed via npm, do not edit files under node_modules/. Instead, create an alternate theme config at your site root:

your-hexo-blog/
├── _config.yml
├── _config.hermes-agent.yml   ← create this file; overrides the theme defaults
└── source/

Hexo merges _config.<theme-name>.yml on top of the theme's packaged _config.yml automatically (see Hexo — Alternate Theme Config).

When installed via git clone, either edit themes/hermes-agent/_config.yml directly or use the same _config.hermes-agent.yml pattern.

All available keys:

# Override the display title and tagline shown above the nav.
# Defaults to config.title / config.subtitle if left empty.
site_title: ""
tagline: ""

# Top navigation entries. Each entry needs `name` and either `path` (site-relative) or `url` (absolute).
nav:
  - { name: ARCHIVE, path: /archives/ }
  - { name: TAGS, path: /tags/ }
  - { name: ABOUT, path: /about/ }

# Light/dark strategy.
# `invert` (default): light mode is achieved via `filter: invert(1)` on `html.light`.
# `classic`: reserved for v0.2; will use a conventional light colour palette.
theme_mode: invert

# Which post appears in the homepage featured card.
# `latest`: always the most recent post.
# `front_matter`: post with `featured: true` in its front-matter, falling back to newest.
featured_post: front_matter

# Bundled font family IDs for display (headings) and mono (code) faces.
# Available IDs: young_serif, archivo, archivo_narrow, courier_prime
fonts:
  display: young_serif
  mono: courier_prime

# Visual effects; set any to false to disable.
effects:
  dither: true      # CRT noise overlay on the hero panel
  blink: true       # blinking cursor in terminal-style meta lines
  arc_border: true  # rounded-arc border on the featured card
  bevel: true       # inset bevel shadow on grid panels
  # Faint full-bleed background illustration (Gustave Doré, public domain —
  # see source/images/CREDITS.txt). Sits above the page with mix-blend-mode:
  # difference so it only surfaces on large light/empty regions, like the
  # human-figure background on the Hermes Agent source site.
  portrait_bg:
    enable: true
    image: /images/portrait-bg.webp   # site-relative; swap by pointing at any image under source/
    opacity: 0.05                     # 0–1; raise for stronger presence
    blend: difference                 # any CSS mix-blend-mode keyword
    position: "0% 0%"                 # CSS object-position, e.g. "right bottom"

# Search modal powered by hexo-generator-search.
# shortcut: key that opens the modal (default "/").
search:
  enable: true
  shortcut: "/"

# Giscus comment scaffold. Set enable: true and fill in the repo fields
# after wiring up a Giscus app on your GitHub repository.
comments:
  enable: false
  giscus:
    repo: ""        # e.g. username/repo
    repo_id: ""     # from giscus.app
    category_id: "" # from giscus.app

# KaTeX math rendering.
# When per_post is true, KaTeX only loads on posts that have `math: true` in front-matter.
katex:
  enable: true
  per_post: true

# Footer links. Set github to your username string; rss: true emits the default /atom.xml link.
social:
  github: ""
  rss: true

# Optional 8-token colour overrides. Remove the whole block to use the defaults.
palette:
  background: "#041c1b"
  surface: "#11332f"
  background_deep: "#000203"
  line: "#1a3834"
  foreground: "#f0e0c0"
  foreground_dim: "#b0a090"
  midground: "#384038"
  accent: "#fb2c36"

Customizing fonts

The bundled OFL fonts cover most use cases. To swap in a commercial typeface (e.g. Mondwest-Regular.woff2):

  1. Drop the .woff2 file into your site's source/fonts/ directory (Hexo copies source/ to public/ on build).
  2. Create a custom stylesheet — for example source/css/custom.css — and declare the @font-face there. Load it after the theme by adding it to your layout or via hexo-inject.
  3. Override the CSS custom property the theme exposes:
@font-face {
  font-family: "Mondwest";
  src: url("/fonts/Mondwest-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

:root {
  --font-display: "Mondwest", serif;
}

The theme uses var(--font-display) for all headings and the site title, so a single property override is sufficient.

Front-matter supported

| Key | Type | Effect | |-----|------|--------| | description | string | Renders as the post subtitle under the title | | featured | bool | Marks a post as the homepage featured card (requires featured_post: front_matter) | | math | bool | Loads KaTeX on this post only (when katex.per_post: true) | | toc | bool | Set to false to disable the TOC on a specific post | | layout | string | about invokes the grid-cell layout where each H2 becomes a cell |

Keyboard shortcuts

| Key | Action | |-----|--------| | / | Open search | | t | Toggle light/dark | | g h | Go home | | g a | Go to archives | | g t | Go to tags | | Esc | Close modals |

Browser support

Latest two versions of Chromium, Firefox, Safari. No IE support.

License

MIT for the theme code (see LICENSE). Bundled fonts are OFL — see source/fonts/OFL.txt for attributions.

Credits

Visual language inspired by the Nous Research Hermes Agent site. This is an unofficial fan theme. Not affiliated with or endorsed by Nous Research.