Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A simple Vuepress blog theme inspired by Canvas, using Markdown files for posts and configurable header links.
Vuepress Canvas is a custom blog theme for Vuepress, a Vue-powered static site generator, that turns a folder of Markdown files into a clean blog with a homepage, post pages, and configurable header links, inspired by the Canvas publishing platform.
Vuepress Canvas is a Vuepress theme designed specifically for blogging, created by the developer whoan. It takes Markdown files placed in a docs folder and renders them as blog posts, with a Home page driven by a README file. The theme runs on Vuepress 1.x (the classic Vuepress) and is installed by cloning the repository directly into your project's .vuepress directory. It outputs a static website that you can host anywhere, and the author's own blog at whoan.online serves as a working example.
lastModified in a post's front matter to display a custom date, and set prev and next to link to earlier and later posts in the footer.usefulLinks in the config file to add personal links (like GitHub) to the page header, each with a CSS icon class such as fa fa-fw fa-github..vuepress folder, run run.sh to see it live, and build with the bundled Vuepress binary at .vuepress/node_modules/.bin/vuepress build.Vuepress Canvas is for developers who already write Markdown and want a minimal blog without learning a new CMS. It's a good fit for Vuepress users who want a dedicated blog layout instead of the default documentation theme. The author also positions it as a beautiful, simple alternative to feature-heavy blogging platforms, acknowledging that it intentionally omits tags and search to stay minimal.
usefulLinks with icon classes.vuepress build and deploy it to any static host, since no backend or database is required.Installation is a three-step process: create a docs folder, clone the theme repository into a .vuepress subfolder, and run .vuepress/run.sh. For production, you build the site using the local Vuepress binary with .vuepress/node_modules/.bin/vuepress build — the project explicitly says you must use this local binary rather than a globally installed Vuepress.
Create a docs folder, then clone the repository into a .vuepress folder inside it using git clone https://github.com/whoan/vuepress-theme-canvas.git .vuepress. Run .vuepress/run.sh to start a local dev preview.
This happens when there is no README.md in the root of the project. The theme needs it to render the Home page, so add a README.md with front matter to fix the error.
Each Markdown post must have an h1 heading (for example, # My Awesome Post) to be recognized. If the title is missing, the theme won't show it on the Home page.
No. The README explicitly lists tags as a limitation of the theme. It also doesn't include a search bar.
Add lastModified: 'YYYY-MM-DD' to the front matter of a post. You can also set prev and next in front matter to control the footer pagination.