全局安装VuePress

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 <head> 中的标签['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"
}

部署上线

  • 方式1:买个服务器,阿里云,腾讯云。。。
  • 方式2:Github Pages:Github 提供的、用于搭建个人网站的静态站点托管服务。

新建仓库一

USERNAME.github.io

  • USERNAME 应该为github账户的用户名
  • 不用克隆到本地

新建仓库二

  • 自定义名称
  • 克隆到本地
  • 此仓库是用来开发博客,以后只需更改这个项目
  1. 新建deploy.sh文件
#!/usr/bin/env sh# 确保脚本抛出遇到的错误
set -e# 生成静态文件
npm run build# 进入生成的文件夹
cd docs/.vuepress/dist# 如果是发布到自定义域名
# echo 'www.yourwebsite.com' > CNAMEgit init
git add -A
git commit -m 'deploy'# 如果你想要部署到 https://USERNAME.github.io
git push -f git@github.com:CathleenLynn/CathleenLynn.github.io.git master# 如果发布到 https://USERNAME.github.io/<REPO>  REPO=github上的项目
# git push -f git@github.com:USERNAME/<REPO>.git master:gh-pagescd -
  1. 修改USERNAME
# 如果你想要部署到 https://USERNAME.github.io
git push -f git@github.com:CathleenLynn/CathleenLynn.github.io.git master

仓库一负责显示网站内容,我们不需要改动它;日常开发和新增内容,都在仓库二中,并通过 npm run deploy 命令,将代码发布到仓库一。

  1. 在package.json中添加:
"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:[...添加内容...]

1.看板娘

[//先安装在配置, 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}],

2.彩带背景

[//彩带背景 先安装在配置, npm install vuepress-plugin-ribbon --save"ribbon",{size: 90,     // width of the ribbon, default: 90opacity: 0.8, // opacity of the ribbon, default: 0.3zIndex: -1    // z-index property of the background, default: -1}],

3.鼠标点击特效

[//鼠标点击特效 先安装在配置, npm install vuepress-plugin-cursor-effects --save"cursor-effects",{size: 3,                    // size of the particle, default: 2shape: ['circle'],  // shape of the particle, default: 'star'zIndex: 999999999           // z-index property of the canvas, default: 999999999}],

4.动态标题

[//动态标题 先安装在配置, npm install vuepress-plugin-dynamic-title --save"dynamic-title",{showIcon: "/logo.png",showText: "(/≧▽≦/)你来啦!",hideIcon: "/failure.ico",hideText: "(●—●)喔哟,崩溃啦!",recoverTime: 2000}],

5.音乐播放器

3种音乐插件:

  1. bgm-player,一款简洁易用的音乐插件,优势是好看,其他一无是处了
  2. music-bar,一个程序猿自己开发的插件,除本地,网络音频之外还支持从平台歌单获取链接(目前仅支持网易云音乐),缺点是丑了点,支持一下这位老哥
  3. meting,在hexo上就一直用的插件,功能强大,配置丰富,目前应该最大强大的音乐插件了,我用的就是这个,强推,还支持在markdown中直接插入

安装: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是音乐来源

6.图片放大

[//图片放大插件 先安装在配置, 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}}]

7.复制代码弹窗插件

["vuepress-plugin-nuggets-style-copy", {copyText: "复制代码",  //vuepress复制粘贴提示插件P 先安装在配置 npm install vuepress-plugin-nuggets-style-copy --savetip: {content: "复制成功!"}}]

8.加密功能

点击进入官网了解:
vuepress-theme-reco加密功能

1.项目加密

// .vuepress/config.jsmodule.exports = {theme: 'reco',themeConfig: {// 密钥keyPage: {keys: ['32位的 md5 加密密文'], // 1.3.0 版本后需要设置为密文color: '#42b983', // 登录页动画球的颜色lineColor: '#42b983' // 登录页动画线的颜色}}
}

keys的32位的 md5 加密密文可以在官网进行转换。

如图所示,输入密码才可以进入博客浏览:

2.文章加密

如果项目是公开的,而某些文章可能需要加密,需要在 frontmatter 以数组的格式设置 keys,可以设置多个密码,数组的值必须是字符串。

---
title: event对象
date: 2020-08-15
tags:-  javascript-  event
categories:-  JavaScript
author:-  言梧
keys:- '32位的 md5 加密密文'
---

如图所示:

加密页的遗留问题: 从某篇单独加密的文章直接进入另一篇文章时(比如导航栏)加密无法隐藏

9.评论插件

刚开始采用的评论插件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 appIdappKey: '...', // your appKey}}
}

其中appId、appKey是需要在leancloud注册获取的。
评论的头像可以在gravatar里设置。

最后就是这样子的:

但是,加入插件后,页面加载速度超级慢

vercel就登场啦

vercel的加入

参考:https://blog.csdn.net/qq_19363379/article/details/108119140

1.注册vercel

可以直接用github账号登录vercel,如下图:

注意:
vercel不支持QQ邮箱。由于我的github是用QQ邮箱的,所以在Github-Setting -> Emails里添加了新的邮箱并进行主邮箱的更换。
之后就可以直接登录vercel啦

2.引入仓库与项目

选择github后,输入用来存放网站的GitHub Repo的地址,

Repository的URL是github仓库的https地址,不要弄错

然后点Continue,他会让你选择包含source code的文件:

(PS:如果是第一次使用Vercel的话,上面两步里会弹出在GitHub中安装vercel的许可,同意即可)

3.配置自定义域名

从零开始搭建一个博客 部署上线 自定义域名 vuepress+github+vercel相关推荐

  1. github项目怎么运行_利用 GitHub 从零开始搭建一个博客

    "NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...

  2. 利用 GitHub 从零开始搭建一个博客

    "NightTeam",一个值得加星标的公众号. 趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域 ...

  3. 如何利用 GitHub 从零开始搭建一个博客

    趁着周末,搭建了一下 NightTeam 的官方博客和官方主页,耗时数个小时,两个站点终于完工了. 由于 NightTeam 的域名是 nightteam.cn,所以这里官方博客使用了二级域名 blo ...

  4. 如何用 GitHub 从零开始搭建一个博客?

    公众号关注 "GitHubDaily" 设为 "星标",带你玩转 GitHub! 作为目前全球最大的程序员社区,GitHub 能做的可不仅仅是托管源码这一操作, ...

  5. 运用BT在centos下搭建一个博客论坛

    在日常的工作和学习中,我们都很希望有自己的工作站,就是自己的服务器,自己给自己搭建一个博客或者是论坛,用于自己来写博客和搭建网站论坛.现在我们就用一个简单的方法来教大家如何30分钟内部署一个博客网站. ...

  6. 搭建hugo博客部署到Github

    文章目录 前提 安装 启动 部署 增加文章 修改配置 解决图片问题 前提 一定要配置好git,具体教程见 windows下搭建hexo博客部署到github 推荐在Microsoft Store安装W ...

  7. 注册最便宜的xyz域名,低成本搭建一个博客

    看到群里有人发考虑买xyz域名,于是就分享一下自己的xyz域名是如何购买的. .xyz,Internet网址域名后缀,全球通用的新顶级域名,简单来说就是网址中最右边一个"点"后面的 ...

  8. Hexo + Butterfly 从零开始搭建个人博客(三)

    有些效果无法在这儿体现,如果想看完整的效果,请移步个人站点. 原文链接:基于 Hexo 从零开始搭建个人博客(三) 阅读本篇前,请确保已经完成下面两篇文章的步骤: 基于 Hexo 从零开始搭建个人博客 ...

  9. Hexo + Butterfly 从零开始搭建个人博客(五)

    有些效果无法在这儿体现,如果想看完整的效果,请移步个人站点. 原文链接:基于 Hexo 从零开始搭建个人博客(五) 阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 ...

最新文章

  1. python【力扣LeetCode算法题库】219 -存在重复元素 II
  2. pycharm下找不到要安装的模块包(如sqlalchemy)
  3. git 使用攻略小记
  4. vimdiff的简单使用
  5. oracle中pga指什么,oracle学习SGA跟PGA理解
  6. mysql导出(导入)数据库window平台
  7. JPA 单元测试配置
  8. 【渝粤教育】国家开放大学2018年春季 0653-21T机电控制与可编程控制技术 参考试题
  9. PHP一个文件内多个php代码段的写法
  10. POJ 2942Knights of the Round Table(二分图判定+双连通分量)
  11. 蓝桥杯省赛训练营——日期的计算
  12. maven [INFO] No proxies configured [INFO] No proxy was configured, downloading directly
  13. 李航《统计学习方法》课后习题答案(第2版)
  14. win10桌面穿越,多桌面切换
  15. 把服务器当网盘玩 教你从云服务器下载自己的文件
  16. 美团后端2020.4.23笔试题目
  17. FPGA_Verilog学习之旅(3)---VGA贪吃蛇游戏
  18. Unity中的静态合批、动态合批、GPU Instance 以及SRP Batching
  19. 浅谈漏洞修复的方法论
  20. gccversion

热门文章

  1. keil5 不识别jlink的一种尝试思路
  2. 在「星图地球开发者平台」怎么使用表格组件?(附视频教程)
  3. ARMv8 架构与指令集.学习笔记
  4. 浅谈ANR及如何分析解决ANR(2)
  5. DOS批处理+ftp自动同步文件
  6. 查看npm版本、脚手架vue-cli的版本、项目的vue版本
  7. 详细总结Java创建文件夹的方法及优缺点
  8. 转载:jQuery停止动画——stop()方法的使用
  9. steam 代发游戏系统
  10. mysql无法成功启动服务的解决办法【通俗易懂】