We strongly recommend you to switch to V2 version, as V2 version provides the following improvements.
V2 is powered by VuePress2, using Vite2 / Webpack5 and Vue3.
V2 is a full rewrite including:
- All the components are rewritten with Composition API in Vue3
- All the styles are migrated to Sass
Also V2 has a better performance:🚀
- DevServer cold start time reduced by 50%
- Build memory usage reduced by 65%
- Build time reduced by 30%
- Output Size reduced by 25%
- Webpage performance up to 70%
Vue 3 uses proxy to provide reactivity and composition api. The proxy-based reactivity is a lot faster than the old-style reactivity based on setter/getter.
Also, composition api is tree-shaking friendly.
VuePress v2 is developed with TypeScript, so it provides better TS support now.
VuePress@v2 also decouple bundler with core. VuePress v2 add supports both Webpack and Vite as bundler. Now Vite is the default bundler, while you can still choose use Webpack. You can even use Vite in dev mode to get better development experience, and use Webpack in build mode to get better browser compatibility.
VuePress@v2 is a lot more flexible than VuePress@v1, it removes siteData and siteData.pages, which greatly increase scalability (specially on large sites with lots of pages). It has a higher score on lighthouse comparing with V1 with less loaded time and higher performance.
VuePress Theme Hope Changes
VuePressThemeHope@v2 is rewritten with composition API and it's style system is migrated from stylus to sass.
By rewriting theme and plugins with composition api, almost feature you disabled can be removed by tree-shaking when bundling, so that you can get a smaller size easily.
Also, we are adding new features to VuePressThemeHope@v2.
Now the whole blog feature is tree-shakable, and is disabled by default.
To enable it, you need to set
Social media icons is now tree-shakable, and icons can be customized
Support customizing icons for projects in blog homepage
Support customizing blog page path now
Valine and Vssue are not longer supported.
Instead, we add Artalk, Giscus and Twikoo support besides Waline.
Now encrypt feature is tree-shaking friendly, and encrypt checking is only done when necessary.
Password in frontmatter is removed
Feed is no longer generated by default
getteroption for you to fully customize feed generation.
We now use PhotoSwipe@v5, which is smaller in size.
Support update control
Support base appending for manifest
- Add canonical link support
- Add JSON-LD support
- Support injecting any head tags in V2 now.
The theme now supports pure mode with less fancy styles.
Code Block Theme
Now you can set different themes for code blocks in darkmode and lightmode.
- Features now can have icons
TOC rebuild, now TOC automatically scrolls to the active heading
Navbar and Sidebar
They now shares same config options
activeMatchoption controlling whether the item should be activated.
"structure"keyword support to generate Sidebar from file structure
Sidebar now automatically opens and scrolls to the activated item.
The following new features are added: