升级到 Vuepress2.0.0-beta.61
从 vuepress2.0.0-beta.40 开始,vuepress 使用了新的 api 接口,意味着原来的配置文件也要进行修改才能使其正确运行。
快速上手
- 安装 vuepress
- 安装:
mkdir vuepress2.0.0-beta.61 && cd vuepress2.0.0-beta.61 && yarn add -D vuepress@next
- 安装:
- 安装插件
npm i -D @vuepress/plugin-container@next
npm i -D @vuepress/plugin-docsearch@next
npm i -D @vuepress/plugin-pwa@next
npm install -d vuepress-plugin-anchor-right
项目地址yarn add -D vuepress-plugin-sitemap2
- 复制你的文档到新的 vuepress2.0.0-beta.61 目录中:
- docs 目录,但不要包含
.vuepress/{.cache,.temp,dist}
这三个目录 - deploy.sh 文件
- .gitignore 文件
- 如果有额外的 config 配置目录也要包含进去
- docs 目录,但不要包含
- package.json 文件添加内容
"name": "vuepress-next",
"version": "2.0.0.61",
"main": "index.js",
"license": "MIT",
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs",
"deploy": "bash deploy.sh"
},
- vuepress 配置文件 config.js 内容如下:
点击查看 config.js 代码
const navConf = require('../../config/navConf.js')
import pluginConf from '../../config/pluginConf.js'
const sidebarConf = require('../../config/sidebarConf.js')
const headConf = require('../../config/headConf.js').default
import { defaultTheme } from '@vuepress/theme-default'
export default {
lang: 'zh-CN',
title: 'EchoXu Note',
description: 'ENote 是一个记录 IT 知识点的文档生成器。IT 知识,文档管理,文档记录,文档生成器',
// base: '/v2/', // 部署时如果地址是:https://192.168.1.20/v2 这里的路径就要写为 /v2/ 如果是 / 就需要注释此项。
head: headConf,
plugins: pluginConf,
theme: defaultTheme({
logo: '/favicon.svg',
docsDir: 'docs',
navbar: navConf,
sidebar: sidebarConf,
sidebarDepth: 0, //https://v2.vuepress.vuejs.org/zh/reference/default-theme/config.html#sidebardepth
lastUpdatedText: '上次更新',
contributorsText: '贡献者',
tip: '提示',
warning: '注意',
danger: '警告',
notFound: [
'这里什么都没有',
'我们怎么到这来了?',
'这是一个 404 页面',
'看起来我们进入了错误的链接',
],
backToHome: '返回首页',
toggleColorMode: '切换夜间模式',
toggleSidebar: '切换侧边栏',
themePlugins: {
externalLinkIcon: false,
},
markdown: {
headers: {
level: [2,3],
},
toc: {
level: [2,3,4,5],
},
code: {
lineNumbers: false
},
},
}),
}
- plugin.js 配置文件内容:
点击查看 plugin.js 代码
// import rightAnchorPlugin from 'vuepress-plugin-right-anchor'; // 右侧悬浮导航,不适用 beta0.61
// import searchPlugin from '@vuepress/plugin-search'; // 如果使用默认的搜索插件需要取消注释此行
import containerPlugin from '@vuepress/plugin-container';
import pwaPlugin from '@vuepress/plugin-pwa';
import docsearchPlugin from '@vuepress/plugin-docsearch';
import { sitemapPlugin } from "vuepress-plugin-sitemap2";
import secretKeyConf from './secretKeyConf';
import vuepressPluginAnchorRight from 'vuepress-plugin-anchor-right';
export default [
[vuepressPluginAnchorRight()],
docsearchPlugin({
apiKey: secretKeyConf.apiKey,
appId: secretKeyConf.appId,
indexName: secretKeyConf.indexName,
locales: {
'/': {
placeholder: '搜索文档',
translations: {
button: {
buttonText: '搜索文档',
},
},
},
'/zh/': {
placeholder: '搜索文档',
translations: {
button: {
buttonText: '搜索文档',
},
},
},
},
}),
sitemapPlugin({
hostname: 'https://www.echoxu.cn',
}),
pwaPlugin({
skipWaiting: true,
}),
containerPlugin({
type: 'col2left',
}),
containerPlugin(
{
type: 'col2right',
}),
containerPlugin(
{
type: 'col2leftgray',
}),
containerPlugin(
{
type: 'col2rightbg',
}),
containerPlugin(
{
type: 'col2leftbgcode',
}),
containerPlugin(
{
type: 'col2rightbgcode',
}),
containerPlugin(
{
type: 'collapselist',
before: (info) => `<details class="custom-container collapselist">${info ? `<summary>${info}</summary>` : ''}\n`,
after: () => '</details>\n',
}),
// titlenobg 用来取消背景色
containerPlugin({
type: 'col2leftnobg',
before: (info) =>
`<div class="custom-container col2leftnobg">${info ? `<p class="custom-container-title titlenobg">${info}</p>` : ''}\n`,
after: () => '</div>\n',
}),
containerPlugin({
type: 'col2rightnobg',
before: (info) =>
`<div class="custom-container col2rightnobg">${info ? `<p class="custom-container-title titlenobg">${info}</p>` : ''}\n`,
after: () => '</div>\n',
}),
containerPlugin(
{
type: 'highlight-blue',
}),
containerPlugin({
type: 'highlight-orange',
}),
containerPlugin({
type: 'highlight-red',
}),
containerPlugin({
type: 'highlight-green',
}),
containerPlugin({
type: 'highlight-purple',
}),
containerPlugin({
type: 'highlight-gray',
}),
containerPlugin({
type: 'img-grid',
}),
containerPlugin({
type: 'content-flex',
}),
// 右侧悬浮导航,不适用 beta0.61 https://github.com/xuekai-china/vuepress-plugin-right-anchor
// rightAnchorPlugin({
// customClass: 'customClass',
// showDepth: 4,
// ignore: [
// '/'
// ],
// expand: {
// trigger: 'click',
// clickModeDefaultOpen: true
// }
// }),
// vuepress 默认的搜索插件
// searchPlugin({
// locales: {
// '/': {
// placeholder: 'Search',
// },
// '/zh/': {
// placeholder: '搜索',
// },
// maxSuggestions: 8,
// },
// }),
]
FAQ
- 网站托管在阿里云 oss 后, echoxu.cn 如何跳转到 https://www.echoxu.cn ?
- 打开阿里云云解析,添加一条解析记录,内容为:
@ 显性URL 默认 https://www.echoxu.cn
- echoxu.cn 每次刷新都跳转到主页以及页面内容混乱
- 开启 oss 静态网站子目录,操作路径为:数据管理-静态页面-子目录首页
相关链接:升级到 vuepress2.49