Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客


Posted in Javascript onApril 26, 2018

VuePress

Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客

vuepress是尤大大4月12日发布的一个全新的基于vue的静态网站生成器,实际上就是一个vue的spa应用,内置webpack,可以用来写文档。

Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客

一个基于 Vue SSR 的静态站生成器,本来的目的是爽爽的写文档,但是我发现用来撸一个人博客也非常不错。

这是VuePress的官方文档

上手搭建

你可以跟着文档上的例子自己玩一玩,不过由于VuePress的文档也是用VuePress来实现的,所以我取巧直接拿VuePress仓库中的docs目录拿来玩耍。

1.首先安装VuePress到全局

npm install -g vuepress

2.然后把VuePress仓库克隆到你的电脑

git clone git@github.com:docschina/vuepress.git

在docs文件中执行(请确保你的 Node.js 版本 >= 8)

cd vuepress
cd docs
vuepress dev

当你看到这一行就说明已经成功了:

VuePress dev server listening at http://localhost:8080/

下面我们打开http://localhost:8080/

发现真的打开了vuepress文档:

Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客

下面的工作就是数据的替换了,但我们应该先看一下docs的目录结构:

├─.vuepress
│ ├─components
│ └─public
│ └─icons
│ └─config.js // 配置文件
├─config // Vuepress文档的配置参考内容
├─default-theme-config // Vuepress文档的默认主题配置内容
├─guide // Vuepress文档的指南内容
└─zh // 中文文档目录
 ├─config
 ├─default-theme-config
 └─guide
└─README.md // 首页配置文件

文档分成了两部分,中文文档在/zh/目录下,英文文档在根目录下。

其实目录里面的东西都挺好看懂的,首先guide 、default-theme-config、config 这三个目录中的都是Vuepress文档的主要内容,从中文文档里也可以看到只有这三个目录被替换了。

首页配置

默认主题提供了一个主页布局,要使用它,需要在你的根目录 README.md 的 YAML front matter 中指定 home:true,并加上一些其他的元数据。

我们先看看根目录下的README,md:

home: true // 是否使用Vuepress默认主题
heroImage: /hero.png // 首页的图片
actionText: Get Started → // 按钮的文字
actionLink: /guide/ // 按钮跳转的目录
features: // 首页三个特性
- title: Simplicity First
 details: Minimal setup with markdown-centered project structure helps you focus on writing.
- title: Vue-Powered
 details: Enjoy the dev experience of Vue + webpack, use Vue components in markdown, and develop custom themes with Vue.
- title: Performant
 details: VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded.
footer: MIT Licensed | Copyright © 2018-present Evan You // 页尾

实在看不懂,官网有比我更详细的配置说明。

导航配置

导航配置文件在.vuepress/config.js中

在导航配置文件中nav是控制导航栏链接的,你可以把它改成自己的博客目录。

nav: [
 {
 text: 'Guide',
 link: '/guide/',
 },
 {
 text: 'Config Reference',
 link: '/config/'
 },
 {
 text: 'Default Theme Config',
 link: '/default-theme-config/'
 }
]

剩下的默认主题配置官方文档都有很详细的文档说明这里就不在??铝恕?br />

更改默认主题色

你可以在.vuepress/目录下创建一个override.styl文件。

vuepress提供四个可更改的颜色:

$accentColor = #3eaf7c // 主题色
$textColor = #2c3e50 // 文字颜色
$borderColor = #eaecef // 边框颜色
$codeBgColor = #282c34 // 代码背景颜色

我把它改成了这样:

Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客

侧边栏的实现

由于评论区里问的人较多,所以在这里更新一下,其实我就算在这里写的再详细也不如大家去看官方文档。

侧边栏的配置也在.vuepress/config.js中:

sidebar: [
 {
 title: 'JavaScript', // 侧边栏名称
 collapsable: true, // 可折叠
 children: [
 '/blog/JavaScript/学会了ES6,就不会写出那样的代码', // 你的md文件地址
 ]
 },
 {
 title: 'CSS', 
 collapsable: true,
 children: [
 '/blog/CSS/搞懂Z-index的所有细节',
 ]
 },
 {
 title: 'HTTP',
 collapsable: true,
 children: [
 '/blog/HTTP/认识HTTP-Cookie和Session篇',
 ]
 },
]

对应的文档结构:

├─blog // docs目录下新建一个博客目录
│ ├─CSS
│ ├─HTTP
│ └─JavaScript

我的博客:brownhu

部署

在配置好你博客之后,命令行执行:

Vuepress build

当你看到这一行就说明成功了:

Success! Generated static files in vuepress.

将打包好的vuepress目录上传到你的github仓库,和github page配合,就可以配置好你的博客网站了。

Javascript 相关文章推荐
jquery利用ajax调用后台方法实例
Aug 23 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
JavaScript参数个数可变的函数举例说明
Oct 10 Javascript
js 左右悬浮对联广告代码示例
Dec 12 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
vue组件传值的实现方式小结【三种方式】
Feb 05 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 #Javascript
vue如何判断dom的class
Apr 26 #Javascript
vue 中filter的多种用法
Apr 26 #Javascript
vue自定义filters过滤器
Apr 26 #Javascript
JavaScript实现微信红包算法及问题解决方法
Apr 26 #Javascript
react 创建单例组件的方法
Apr 26 #Javascript
node打造微信个人号机器人的方法示例
Apr 26 #Javascript
You might like
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
基于initPHP的框架介绍
2013/04/18 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
微信小程序之蓝牙的链接
2017/09/26 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python中if __name__ == "__main__"详细解释
2014/10/21 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
洗发水广告词
2014/03/13 职场文书
大三学习计划书范文
2014/05/02 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL
app场景下uniapp的扫码记录
2022/07/23 Java/Android