从零开始搭建 VuePress 静态博客
时间:2022-07-26
本文章向大家介绍从零开始搭建 VuePress 静态博客,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
# 环境准备
如果使用
Yarn
或者Npm
下载慢,使用以下命令全局加速
$ yarn config set registry https://registry.npm.taobao.org
$ npm config set registry https://registry.npm.taobao.org --global
$ npm config set disturl https://npm.taobao.org/dist --global
# 仓库准备
以下以账号
cnguu
为例,注意替换为自己的账号
为了方便,在 GitHub
上新建两个仓库
-
vuepress-blog
(源码备份) -
cnguu.github.io
(博客部署)
# 开始使用 VuePress
# 基础目录与文件
新建文件夹:
C:vuepress-blog
,表示为根目录
在根目录中新建以下文件:
-
.gitattributes
(指定仓库主要语言) -
.gitignore
(Git 提交需要忽略的目录与文件) -
deploy.sh
(博客部署脚本) -
package.json
(项目配置) -
README.md
(仓库说明书)
.gitattributes
示例:
*.sh linguist-language=Vue
.gitignore
示例:
.idea
.DS_Store
*.log
node_modules
dist
yarn.lock
package-lock.json
deploy.sh
示例:
注意修改对应的配置
#!/usr/bin/env bash
#
# VuePress 通用部署脚本
#
# Windows 无法执行 .sh 文件,需要安装 git 客户端
#
# Author: cnguu
# Email: www@cnguu.cn
#
# 开始
set -e
# 编译
# package.json 中需要有这一句:"build": "vuepress build docs"
yarn build
# 删除 dist_temp 文件夹
rm -fr dist_temp
# 复制 dist 文件夹到 dist_temp 文件夹
cp -ir dist dist_temp
# 复制 README.md 文件到 dist_temp 文件夹
cp -i README.md dist_temp
# 进入 dist_temp 目录
cd dist_temp
# 新建 CNAME 文件,并写入 gleehub.com 域名
echo gleehub.com > CNAME
# 初始化仓库
git init
# 添加
git add -A
# 提交
git commit -m deploy
# 强制推送到 cnguu.github.io 仓库的 master 分支
git push -f git@github.com:cnguu/cnguu.github.io.git master
# 多仓库部署开始 ------
# 删除 CNAME
#rm CNAME
# 新建 CNAME 文件,并写入 www.gleehub.com 域名
#echo www.gleehub.com > CNAME
# 添加
#git add -A
# 提交
#git commit -m deploy
# 强制推送到 cnguu.github.io 仓库的 master 分支
#git push -f git@git.dev.tencent.com:cnguu/cnguu.coding.me.git master
# 多仓库部署结束 ------
# 返回上一级目录
cd ../
# 删除 dist_temp 文件夹
rm -fr dist_temp
# 结束
cd -
package.json
示例:
{
"name": "blog",
"version": "1.0.0",
"description": "cnguu's blog",
"keywords": [
"cnguu",
"gleehub",
"blog"
],
"author": "cnguu",
"license": "Mozilla",
"private": true,
"repository": {
"type": "git",
"url": "git@github.com:cnguu/vuepress-blog.git"
},
"main": "index.js",
"scripts": {
"start": "vuepress dev docs",
"build": "vuepress build docs",
"deploy": "./deploy.sh"
},
"dependencies": {
"vuepress": "^1.1.0"
}
}
README.md
示例:
# VuePress Blog
# 安装
$ yarn install
# 配置
- 在根目录下新建文件夹
docs
(存放博文、静态资源和配置) - 在
docs
下新建任意名文件夹test
(一个文件夹代表一个分类,建议全英文名) - 在
docs
下新建文件夹.vuepress
(存放静态资源和配置) - 在
.vuepress
下新建文件夹public
(存放静态资源) - 在
.vuepress
下新建文件config.js
(站点配置文件)
注意备份:使用 Git 提交到源码备份仓库
# 部署
$ yarn deploy
如果部署失败,可以手动输入部署脚本里的命令,或者使用自动化部署
- C#全角和半角转换
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- 第一届机器人学习大会总结
- Hadoop: MapReduce2的几个基本示例
- 使用 nRoute 框架来实现基于 Silverlight 的桌面应用
- oracle:如何用sql生成日历
- 极品双拼“马仔”mazai.com易主终端
- Hadoop:pig 安装及入门示例
- 区块链时代即将到来 它将如何改变我们的工作和生活
- 架设ftp反向代理服务器
- CentOS 7 上面安装PowerShell
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android底部导航栏的动态替换方案
- Android自定义View实现饼状图带动画效果
- Android音视频之视频采集(系统API预览)
- 在Node.js中使用Multer进行文件上传
- Android实现自动填充短信验证码功能
- django项目中新增app的2种实现方法
- 如何使用Node.js编辑XML文件
- Windows下安装yarn的三种方法
- python topk()函数求最大和最小值实例
- 详解Ubuntu环境下部署Django+uwsgi+nginx总结
- 如何从Node.js中的命令行读取输入
- pyqt5中动画的使用详解
- PyQt使用QPropertyAnimation开发简单动画
- 如何使用JavaScript漂亮地打印JSON对象
- Android使用AsyncTask加载图片的操作流程