A simple, delicate, and modern theme for the static site generator Hexo.
Preview ·
Documentation ·
Discussions ·
简体中文
In the root directory of your Hexo 7.1+ or Hexo 8 site:
npm install hexo-theme-icarus hexo-renderer-inferno
hexo config theme icarus
hexo serverIcarus creates _config.icarus.yml, with every option described, on the first run.
See Getting Started
for other ways to install it.
Supported plugins
| Type | Plugins |
|---|---|
| Comment | Artalk, Beaudar, Changyan, Cusdis, Disqus, DisqusJS, Facebook, Giscus, Gitalk, Gitment (deprecated), Isso, LiveRe, Twikoo, Utterances, Valine (deprecated), Waline |
| Search | Algolia, Baidu, Google CSE, Insight (built-in) |
| Share | AddToAny, Baidu Share, Share.js, ShareThis |
| Donate | Afdian, Alipay, Buy Me a Coffee, Patreon, PayPal, WeChat Pay |
| Analytics | Baidu Statistics, Bing Webmaster, BuSuanZi, CNZZ, Google Analytics, Hotjar, Matomo, StatCounter, Twitter Conversion Tracking, Umami, Waline page views |
| Widgets | Profile, Table of Contents, Recent Posts, Archives, Categories, Tags, GitHub Contributions, Links, Google AdSense, follow.it, Google FeedBurner (deprecated) |
| Others | Back to Top, Cookie Consent, Gallery (lightGallery + Justified Gallery), KaTeX, MathJax, Outdated Browser, Page Loading Animations, Page Prefetching on Hover, Progress Bar |
Most plugins are provided by hexo-component-inferno.
Code blocks can use any highlight.js theme, with a separate one for dark pages.
They can be folded, by default or with a >folded marker after their caption, and a folded block can keep its first
lines as a faded-out preview that unfolds it when clicked:
article:
highlight:
fold: unfolded # "folded", "unfolded", or "" to disable folding
fold_preview: 5 # number of lines of the preview; 0 (the default) hides folded blocksGetting Started · Configuring the Theme · Upgrade Guide · FAQ · All Guides
Bug reports, feature ideas, translations and tutorials are all welcome. Open an issue or a pull request.
Icarus is built with Hexo, Inferno, Stylus and Bulma. To work on it:
npm ci
npm run lint
npm test # unit and integration tests
npm run test:e2e # browser tests; run "npx playwright install chromium" once firstThe tests need Node.js 20.19 or later. See the contributing guide for code style and commit conventions.






