Back to templates

Template details

Hexo Theme Landscape

The official default theme for Hexo, with sidebar widgets and photo lightbox.

About this template

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 fancybox tag 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 sidebar setting 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 links option 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.yml to _config.landscape.yml in your blog's root directory; this is the recommended way to customize settings.
  • Flexible installation and updates — Install with npm i hexo-theme-landscape or clone the repository into themes/landscape; update with npm install hexo-theme-landscape@latest or git 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.