Hexo Theme Landscape is the official default blog theme for Hexo, a Node.js static site generator, and it turns Markdown posts into a fast, static blog with a customizable sidebar and built-in photo lightbox.
What is Hexo Theme Landscape?
Hexo Theme Landscape is an open-source theme maintained by the Hexo team under the hexojs GitHub organization. It takes Markdown files written in Hexo and generates a static website with a blog list, category and tag pages, archive pages, and a sidebar. The theme ships with every new Hexo installation via hexo init and is available on npm as hexo-theme-landscape. On GitHub it has 337 stars, and styling is done with Stylus while content uses Markdown.
Key Features
- FancyBox photo lightbox — Integrates the Fancybox library so images in posts open in an overlay; you can add images with standard Markdown syntax or the
fancyboxtag plugin, which supports thumbnail URLs and captions. - Sidebar with five built-in widgets — Includes category, tag, tagcloud, archives, and recent_posts widgets, all enabled by default; the
sidebarsetting lets you place the sidebar on the left, right, or bottom of the page. - Configurable header links — Add icon links to GitHub, Twitter, Telegram, or any other URL through the
linksoption in the theme config. - RSS integration — Works with the hexo-generator-feed plugin to generate an RSS feed for your posts.
- Alternate theme configuration — To avoid losing changes during upgrades, copy the theme's
_config.ymlto_config.landscape.ymlin your blog's root directory; this is the recommended way to customize settings. - Flexible installation and updates — Install with
npm i hexo-theme-landscapeor clone the repository intothemes/landscape; update withnpm install hexo-theme-landscape@latestorgit pull.
Who is it for?
- New Hexo users — The default theme that appears when you run
hexo init, providing a working blog with zero configuration. - Photographers and visual creators — The built-in FancyBox lightbox makes it easy to present image galleries with captions and zoomable viewing.
- Developers who want a minimal blog — The clean, text-focused layout and simple widget structure keep the site lightweight and quick to load.
What can you do with it?
- Publish a personal blog — Write posts in Markdown, organize them with categories and tags, and let Landscape render the archive and recent-posts sidebar widgets automatically.
- Showcase a portfolio — Use the fancybox tag plugin to embed images with thumbnails and captions, so viewers can click through a lightbox.
- Create a project or community site — Add social links in the header and enable RSS with hexo-generator-feed to let followers subscribe to updates.
FAQ
Is Hexo Theme Landscape free?
Yes, it is open source under the Hexo organization. You can install and use it without paying a license fee, and you can modify the source code for your own projects.
How do I set the theme in Hexo?
Set the theme value in your blog's _config.yml to landscape. If the theme is installed via npm, it is loaded from node_modules/hexo-theme-landscape; otherwise it sits in the themes/landscape directory.
Why should I use _config.landscape.yml instead of editing the theme's config?
Directly editing _config.yml inside the theme is risky because upgrades can overwrite your changes. Copying that file to your blog root as _config.landscape.yml keeps your settings separate and persistent across theme updates.
What widgets are available in the sidebar?
Landscape ships with five widgets: category, tag, tagcloud, archives, and recent_posts. They are all enabled by default, and you can alter them or disable them in the widget setting of the theme configuration.
Can I add a search function?
The theme does not mention a built-in search widget. You would need to add a third-party Hexo search plugin or a client-side search integration yourself.




