Where Is the Hexo Config File?
Hexo reads _config.yml at the site root, with each theme keeping its own _config.yml beside it.
Last updated
Hexo configures from _config.yml at the site root. Site title, URL, permalinks, and deploy targets live there in one YAML file. Scaffolding writes it on init, and most users edit only a handful of keys.
Themes layer a second config of the same name inside the theme folder. Theme options resolve from the theme file while site options stay at the root. Mixing the two files causes the classic silent misconfiguration.
Where Hexo stores this, by platform
[SiteDir]/_config.yml
Site level config beside scaffolds and source. Theme config sits in themes/[theme]/_config.yml. Keep both in git, generated files out.
[SiteDir]/_config.yml
Same root file on Mac. Node version quirks cause most build failures, not config paths. Pin node with the version Hexo expects.
[SiteDir]\_config.yml
Same file on Windows. URL separators inside stay forward slashes. Deploy keys beside it need proper permissions.
Frequently asked questions
Why is my theme option ignored?
Theme options belong in the theme _config.yml, not the site root one. Each file has its own namespace. Move the key and regenerate.
Where does Hexo output the site?
Into public under the site root after hexo generate. That folder is disposable output. Deploy from public and never hand edit inside it.
Notice an outdated path? Let us know.