# VuePress
VuePress is a Vue-powered Static Site Generator
# VuePress Plugin
Vssue provides a VuePress Plugin - @vssue/vuepress-plugin-vssue - to help use Vssue in VuePress quickly.
# Usage
# Installation
Install @vssue/vuepress-plugin-vssue
and API package via NPM:
npm install @vssue/vuepress-plugin-vssue
npm install @vssue/api-github-v3
# Use the plugin
See VuePress Official Docs for how to use a plugin in detail
// .vuepress/config.js
module.exports = {
plugins: {
'@vssue/vuepress-plugin-vssue': {
// set `platform` rather than `api`
platform: 'github',
// all other options of Vssue are allowed
owner: 'OWNER_OF_REPO',
repo: 'NAME_OF_REPO',
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
},
},
};
TIP
The only difference is that, you should set platform
rather than the api
package itself.
@vssue/vuepress-plugin-vssue
will auto resolve the corresponding api package according to the value of platform
:
- platform
github
- api package@vssue/api-github-v3
- platform
github-v4
- api package@vssue/api-github-v4
- platform
gitlab
- api package@vssue/api-gitlab-v4
- platform
bitbucket
- api package@vssue/api-bitbucket-v2
- platform
gitee
- api package@vssue/api-gitee-v5
- platform
gitea
- api package@vssue/api-gitea-v1
TIP
If you don't set the locale
option, Vssue will use VuePress's $lang
as the language of current page.
# Use Vssue Component
Vssue
has already been registered as a Vue component, and can be used in your VuePress markdown directly.
<!-- README.md -->
# Vssue Demo
<Vssue :title="$title" />
TIP
You can go to the repo meteorlxy/vssue-demo to get the demo code.
# Custom Style Variables
With the power of palette.styl of VuePress, you can set the Variables of Vssue Style easily.
By default, those Vssue variables are set to VuePress variables:
// @vssue/vuepress-plugin-vssue/styles/index.styl
$vssue-theme-color ?= $accentColor
$vssue-text-color ?= $textColor
$vssue-border-color ?= $borderColor
$vssue-breakpoint-mobile ?= $MQMobile
If you want to override them, just set them in your palette.styl
:
// .vuepress/styles/palette.styl
$vssue-theme-color = red
# Do not want to use our plugin?
Vssue has tried to be SSR-friendly, so you can import Vssue directly in VuePress like other vue plugins / components without @vssue/vuepress-plugin-vssue
(especially if you have customized the styles of Vssue).
But we still suggest you to use @vssue/vuepress-plugin-vssue
in VuePress, which has already helped you make <Vssue>
component client-only to avoid some potential issues.
If you do not want to use the plugin we provided, you may need to wrap <Vssue>
component into <ClientOnly>
component to avoid those potential issues, i.e. :
<ClientOnly>
<Vssue />
</ClientOnly>
See Built-in Components - ClientOnly of VuePress