npm install -g vuepress
mkdir vuepreeeBlogDemo
cd vuepreeeBlogDemo
npm init -y
新建文件,构成目录结构如下:
vuepressBlogDemo
├─── docs
│ ├── README.md
│ └── .vuepress
│ ├── public
│ └── config.js
└── package.json
config.js:
module.exports = {
title: 'Lynn\'s blog',
description: '我的个人网站',
head: [ // 注入到当前页面的 HTML 中的标签
['link', { rel: 'icon', href: '/logo.jpg' }], // 增加一个自定义的 favicon(网页标签的图标)
],
base: '/', // 这是部署到github相关的配置
markdown: {
lineNumbers: false // 代码块显示行号
},
themeConfig: {
nav:[ // 导航栏配置
{text: '前端基础', link: '/accumulate/' },
{text: '算法题库', link: '/algorithm/'},
{text: '微博', link: 'https://baidu.com'}
],
sidebar: 'auto', // 侧边栏配置
sidebarDepth: 2, // 侧边栏显示2级
}
};
图片存放在docs/.vuepress/public/logo.jpg下,直接使用‘/’可以引入
package.json:
"scripts": {
"dev": "vuepress dev docs",
"build": "vuepress build docs"
}
USERNAME.github.io
#!/usr/bin/env sh
# 确保脚本抛出遇到的错误
set -e
# 生成静态文件
npm run build
# 进入生成的文件夹
cd docs/.vuepress/dist
# 如果是发布到自定义域名
# echo 'www.yourwebsite.com' > CNAME
git init
git add -A
git commit -m 'deploy'
# 如果你想要部署到 https://USERNAME.github.io
git push -f [email protected]:CathleenLynn/CathleenLynn.github.io.git master
# 如果发布到 https://USERNAME.github.io/ REPO=github上的项目
# git push -f [email protected]:USERNAME/.git master:gh-pages
cd -
# 如果你想要部署到 https://USERNAME.github.io
git push -f [email protected]:CathleenLynn/CathleenLynn.github.io.git master
仓库一负责显示网站内容,我们不需要改动它;日常开发和新增内容,都在仓库二中,并通过 npm run deploy 命令,将代码发布到仓库一。
"scripts": {
"deploy": "bash deploy.sh"
}
npm run deploy
1.域名解析
2.在github仓库一USERNAME.github.io 中找到
Settings > Custom domain
把域名填进去save即可
参考:
VuePress博客美化之reco主题考
vuepress reco主题优化与修改
.vuepress/config.js中:
plugins:[...添加内容...]
[
//先安装在配置, npm install @vuepress-reco/vuepress-plugin-kan-ban-niang --save
"@vuepress-reco/vuepress-plugin-kan-ban-niang",
{
theme: ['blackCat', 'whiteCat', 'haru1', 'haru2', 'haruto', 'koharu', 'izumi', 'shizuku', 'wanko', 'miku', 'z16'],
clean: false,
messages: {
welcome: '我是lookroot欢迎你的关注 ',
home: '心里的花,我想要带你回家。',
theme: '好吧,希望你能喜欢我的其他小伙伴。',
close: '再见哦'
},
width: 240,
height: 352
}
],
[
//彩带背景 先安装在配置, npm install vuepress-plugin-ribbon --save
"ribbon",
{
size: 90, // width of the ribbon, default: 90
opacity: 0.8, // opacity of the ribbon, default: 0.3
zIndex: -1 // z-index property of the background, default: -1
}
],
[
//鼠标点击特效 先安装在配置, npm install vuepress-plugin-cursor-effects --save
"cursor-effects",
{
size: 3, // size of the particle, default: 2
shape: ['circle'], // shape of the particle, default: 'star'
zIndex: 999999999 // z-index property of the canvas, default: 999999999
}
],
[
//动态标题 先安装在配置, npm install vuepress-plugin-dynamic-title --save
"dynamic-title",
{
showIcon: "/logo.png",
showText: "(/≧▽≦/)你来啦!",
hideIcon: "/failure.ico",
hideText: "(●—●)喔哟,崩溃啦!",
recoverTime: 2000
}
],
3种音乐插件:
安装:yarn add vuepress-plugin-meting
['meting', {
// metingApi: "https://meting.sigure.xyz/api/music",
meting: {
// 网易
server: "netease",
// 读取歌单
type: "playlist",
mid: "13529775",
},
// 不配置该项的话不会出现全局播放器
aplayer: {
// 吸底模式
fixed: true,
mini: true,
// 自动播放
autoplay: true,
// 歌曲栏折叠
listFolded:true,
// 颜色
theme: '#f9bcdd',
// 播放顺序为随机
order: 'random',
// 初始音量
volume: 0.1,
// 关闭歌词显示
lrcType: 0
},
mobile :{
// 手机端去掉cover图
cover: false,
}
}]
其中type和mid是音乐来源
[
//图片放大插件 先安装在配置, npm install @vuepress\plugin-medium-zoom --save
'@vuepress\plugin-medium-zoom', {
selector: '.page img',
delay: 1000,
options: {
margin: 24,
background: 'rgba(25,18,25,0.9)',
scrollOffset: 40
}
}
]
["vuepress-plugin-nuggets-style-copy", {
copyText: "复制代码", //vuepress复制粘贴提示插件P 先安装在配置 npm install vuepress-plugin-nuggets-style-copy --save
tip: {
content: "复制成功!"
}
}]
点击进入官网了解:
vuepress-theme-reco加密功能
// .vuepress/config.js
module.exports = {
theme: 'reco',
themeConfig: {
// 密钥
keyPage: {
keys: ['32位的 md5 加密密文'], // 1.3.0 版本后需要设置为密文
color: '#42b983', // 登录页动画球的颜色
lineColor: '#42b983' // 登录页动画线的颜色
}
}
}
keys的32位的 md5 加密密文可以在官网进行转换。
如图所示,输入密码才可以进入博客浏览:
如果项目是公开的,而某些文章可能需要加密,需要在 frontmatter 以数组的格式设置 keys,可以设置多个密码,数组的值必须是字符串。
---
title: event对象
date: 2020-08-15
tags:
- javascript
- event
categories:
- JavaScript
author:
- 言梧
keys:
- '32位的 md5 加密密文'
---
如图所示:
加密页的遗留问题: 从某篇单独加密的文章直接进入另一篇文章时(比如导航栏)加密无法隐藏
刚开始采用的评论插件vuepress-plugin-comment:
[
'vuepress-plugin-comment', //评论插件,写在这里样式丑
{
choosen: 'valine',
// options选项中的所有参数,会传给Valine的配置
options: {
el: '#valine-vuepress-comment',
appId: '***',
appKey: '***'
}
}
]
但是写在插件中,页面很丑。
后来参考官网(https://vuepress-theme-reco.recoluan.com/views/1.x/valine.html)
主题内置评论插件 @vuepress-reco/vuepress-plugin-comments,可以根据自己的喜好选择Valine或者Vssue
在这里我选择了Valine:
module.exports = {
theme: 'reco',
themeConfig: {
valineConfig: {
appId: '...',// your appId
appKey: '...', // your appKey
}
}
}
其中appId、appKey是需要在leancloud注册获取的。
评论的头像可以在gravatar里设置。
最后就是这样子的:
但是,加入插件后,页面加载速度超级慢
vercel就登场啦
参考:https://blog.csdn.net/qq_19363379/article/details/108119140
注意:
vercel不支持QQ邮箱。由于我的github是用QQ邮箱的,所以在Github-Setting -> Emails里添加了新的邮箱并进行主邮箱的更换。
之后就可以直接登录vercel啦
选择github后,输入用来存放网站的GitHub Repo的地址,
Repository的URL是github仓库的https地址,不要弄错
然后点Continue,他会让你选择包含source code的文件:
(PS:如果是第一次使用Vercel的话,上面两步里会弹出在GitHub中安装vercel的许可,同意即可)