使用VuePress创建Github|使用VuePress创建Github Pages
本文介绍从零开始使用VuePress搭建个人博客并且发布到GithubPages的过程。
快速上手
初始化项目
新建目录
mkdir vuepress-starter && cd vuepress-starter
生成package.json文件
yarn init -y
安装依赖
yarn add -D vuepress
创建第一篇文档
mkdir docs && echo '# Hello VuePress' > docs/README.md
运行项目 添加scripts
package.json
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
},
本地启动服务
yarn docs:dev
目录结构 推荐目录结构如下
.
├── docs
│├── .vuepress (可选的)
││├── components (可选的)
││├── theme (可选的)
│││└── Layout.vue
││├── public (可选的)
││├── styles (可选的)
│││├── index.styl
│││└── palette.styl
││├── templates (可选的, 谨慎配置)
│││├── dev.html
│││└── ssr.html
││├── config.js (可选的)
││└── enhanceApp.js (可选的)
││
│├── README.md
│├── guide
││└── README.md
│└── config.md
│
└── package.json
详细的目录说明参看官方文档,这里列出主要修改的几个目和文件
docs/.vuepress
: 存放全局的配置、组件、静态资源等。
docs/.vuepress/public
: 静态资源目录。
docs/.vuepress/config.js
: 配置文件的入口文件,也可以是YML
或toml
。
docs/README.md
: 站点首页,默认路由是/
---
home: true
heroImage: /home.jpg
actionText: 开始了解 →
actionLink: /repository/footer: CC0 Licensed | Copyright ? 2020-alfalfaw
---
默认的静态资源目录为
docs/.vuepress/public
,/home.jpg
表示的是docs/.vuepress/public
目录下的home.jpg
文件网站标题和描述 docs/.vuepress/config.js
module.exports = {
title: '全栈日志',
description: '公众号:全栈日记'
}
静态路径 docs/.vuepress/config.js
通过配置别名来避免用绝对路径访问资源
module.exports = {
configureWebpack: {
resolve: {
alias: {
'@public': './public'
}
}
}
}
站点根目录 docs/.vuepress/config.js
module.exports = {
base: '/journals/'
}
比如,要将网站部署到
https://.github.io/journals/
,那么 base
的值就应该被设置为 "/journals/"
网站图标 docs/.vuepress/config.js
module.exports = {
head: [
[
'link',
{
rel: 'icon',
href: '/favicon.ico'
}
]
]
}
网站目录
const utils = require('./utils')
module.exports = {
themeConfig: {
editLinks: true,
docsDir: 'docs',
smoothScroll: true,
nav: [
{
text: '博客',
link: '/blog/'
},
{
text: '分享',
link: '/share/'
},
{
text: '面试',
link: '/interview/'
}
],
sidebar: utils.inferSiderbars(),
lastUpdated: '上次更新',
editLinkText: '在 GitHub 上编辑此页'
}
}
插件 @vuepress/plugin-active-header-links
页面滚动时自动激活侧边栏链接
yarn add -D @vuepress/plugin-active-header-links
使用
module.exports = {
plugins: ['@vuepress/active-header-links', {
sidebarLinkSelector: '.sidebar-link',
headerAnchorSelector: '.header-anchor'
}]
}
back-to-top
增加返回顶部按钮
yarn add -D @vuepress/plugin-back-to-top
使用
module.exports = {
plugins: ['@vuepress/back-to-top']
}
last-updated
显示更新时间使用默认主题只需配置
themeConfig.lastUpdated = '最后更新时间'
@vuepress/plugin-medium-zoom
安装
yarn add -D @vuepress/plugin-medium-zoom
使用
module.exports = {
plugins: ['@vuepress/medium-zoom']
}
yarn add -D @vuepress/plugin-search
搜索安装
yarn add -D @vuepress/plugin-search
使用
// .vuepress/config.js or themePath/index.js
module.exports = {
plugins: [
['@vuepress/search', {
searchMaxSuggestions: 10
}]
]
}
@vuepress/plugin-google-analytics
网站统计安装
yarn add -D @vuepress/plugin-google-analytics
【使用VuePress创建Github|使用VuePress创建Github Pages】使用
plugins: [
[
'@vuepress/google-analytics',
{
ga: 'G-XXX'
}
]
]
其中
ga
获取方式如下,访问Google Analytics,点击左下角
管理
,然后创建媒体资源
,点击刚才创建的媒体资源下的数据流
,选择添加数据流
,数据流类型选择网站
部署 以部署到Github Pages为例
deploy.sh
#!/usr/bin/env sh# 确保脚本抛出遇到的错误
set -e# 生成静态文件
npm run docs:build# 进入生成的文件夹
cd docs/.vuepress/dist# 如果是发布到自定义域名
# echo 'www.example.com' > CNAMEgit init
git add -A
git commit -m 'deploy'# 如果发布到 https://.github.io
# git push -f git@github.com:/.github.io.git master# 如果发布到 https://.github.io/
git push -f git@github.com:/.git main:gh-pagescd -
赋予权限
sudo chmod u+x deploy.sh
每次部署时执行下面命令
./deploy.sh
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- django-前后端交互
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用