本文介绍使用Hexo
框架快速搭建个人博客网站的方法,它通过NodeJS
作为依赖,依靠简单的配置文件、提前配置好的目录结构,就能根据更新的文章,来自动生成博客网站的各个页面和超链接,并最终部署到远程服务器上供用户访问。一句话概括,就是几条指令创建自己的博客。
标题:基于Hexo搭建自己的博客
安装NodeJS与必要的Module
NodeJS
是一个开源的javascript
运行环境,它一般运行于服务器端,拥有跨平台等优点,Hexo
框架想要正常运行也离不开它。
NodeJS安装
在
NodeJS
官网下载符合系统的NodeJS
的安装包我使用的是
ubuntu
系统,下载后发现是.tar.xz
格式,国际惯例解压它tar -xvf [filename] -C [decompressdir]
相比常用的
-gxvf
参数,这里的压缩包格式不是.tar.gz
,也就是并非通过gzip
压缩得到,因此-g
参数去掉对于
win10
系统,也可以下载可直接运行的压缩包,然后手动配置PATH
linux
系统下NodeJS
是已经安装完毕的压缩包,因此可以在bin
目录下找到node
和npm
程序直接使用要想全局启用,可以修改
~/.bashrc
加入export
语句来在终端召唤,但为了后面不直接通过shell
来加载依赖的程序也可以使用它们,设置软链接,到系统默认的PATH之一:/usr/local/bin
下面(安装到/usr/bin
等目录同理)ln -s /usr/[decompressdir]/bin/npm /usr/local/bin/ ln -s /usr/[decompressdir]/bin/node /usr/local/bin/
一开始犯的错误是直接
cp [sourcefile] [destinationdir]
将可执行文件拷贝过去,相比软链接最大的问题是无从加载在解压目录下的动态链接库,出现类似Cannot find module '../lib/cli.js'
的报错在
win10
系统下,将node.exe
和npm
这两个可执行文件所在的目录加入PATH
即可,方法有两种:- “控制面板”中搜索
PATH
,编辑系统环境变量,找到环境变量Path
点击“编辑”,在打开的窗口中点击”新建“然后添加对应目录即可 - 在
cmd
中通过set
和setx
命令来修改或添加环境变量,不常用
- “控制面板”中搜索
npm安装hexo
npm
是NodeJS
默认的包管理工具,但这里使用大陆访问更加稳定的cnpm
,它用的是淘宝的开源镜像,通过的命令安装,win10
和linux
通用:
使用
npm
来安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
通过
cnpm
安装hexo
这一modulecnpm install hexo
如果在大陆使用npm
,这里可能会遇到很多费解的报错
这里安装的过程建议在nodejs
的目录下开启终端(linux
)或gitbash
(win10
)来执行,会自动安装到目录下的node_modules
中
如果是win10
,可执行程序hexo
并不会直接添加到上一节node
所在的目录,需要在node_modules
找到并手动添加到环境变量中
框架打造博客
hexo使用
接下来就可以创建hexo
的文件夹,作为博客项目的本地目录
以下使用的指令同样是跨平台的:
进入博客文件夹,初始化
hexo
hexo init
通过这一条指令,框架就将搭建,框架中经常用到的有以下这些文件:
themes/
:用来存放自定义的主题,hexo
的默认主题叫landscape
_config.yml
:用来快速配置框架必须的参数source/
:实际存放博客文章的目录public/
:博客生成后html
页面和有关组建的存放目录,实质上的博客根目录
对
_config.yml
进行初步配置title
、subtitle
、author
:网站题目、副标题、作者等基本显示信息#Deployment
:用来配置向远程仓库部署的信息type
:部署到远程仓库的工具,写'git'
repo
:远程仓库的URL,如https://gitee.com/wang-jiaxuan/hhhhhh.git
branch
:远程仓库部署的分支,如master
#URL
:用来配置远程发布页面的具体URLurl
:实际远程访问博客的URL,根据远程仓库的提示填写root
:这一条需要加上,是URL下根目录的地址- 例如:发布到
gitee
上,用户名为wang-jiaxuan
,仓库名为hhhh
,使用Gitee Pages
服务来部署博客,则
url: https://wang-jiaxuan.gitee.io/hhhh root: /hhhh
注意采用
https
,gitee
默认的http
会显示错误,页面的超链接也会指向404(后记:自己由于没采用
https
时,点击home
后前往的http://wang-jiaxuan.gitee.io/
总是404,将仓库重命名为wang-jiaxuan.gitee.io
,导致点击home
后前往的http://wang-jiaxuan.gitee.io/
也指向了博客发布的地址,但其他超链接指向依然错误;仓库名再次重命名之后,点击home
似乎离奇的能正常显示,但其实显示的是gitee
没来的及删除的页面,最后还是要用https
,哈哈)
清理本地环境
hexo c
c
是clean
的简写,首次编译没有必要,它会直接清除整个public/
目录以及其他几个目录编译博客网页项目
hexo g
g
是generate
的简写,会更新式地进行生成如果对同一个
hexo
目录挂载到不同的系统下,用不同的hexo
可执行文件来编辑,可能会重复生成helloworld
博文并覆盖,但无伤大雅运行本地的
hexo server
来预览网页,实质上是开启博客网站的服务器hexo s
s
是server
的简写,根据控制台提示点击即可本地预览,或者通过提示的端口在其他设备访问如果在有域名/公网IP的服务器上运行,到这里博客服务器就正式启动了
博客创作
博文书写
基于hexo
框架构建的博客,博文都放在source/_posts/
目录下,只需要按照特定的格式书写markdown
格式的文档,就会在博客的Archive
中自动归档并有序提供访问
这里用一个例子来说明,加#
的文字内容为说明:
---
title: Hello World #在博客里显示的标题
date: 2020-01-01 #按照时间归档的Archive导航栏依据
tags: lab #按照tag归档的导航栏依据
---
#这里书写的摘要内容可以在主页预览到
<!--more-->
#这里书写的详细内容在主页需要点开才能看到
需要注意的是,这个模板适用于默认的landscape
主题,其他的主题可能有自己自定义的模板,需要参考文档说明,或是找到scaffolds/post.md
这一模板文件
据说hexo new "title"
也可以根据上面提到的模板创建新的博文,但在ubuntu
上不常用,ubuntu
可以考虑在~/Templates
里面书写博文的模板,以后就可以右键直接New
找到模板使用
参考教程
Hexo系列(五) 撰写文章(这个文章系列还有对hexo
更详细的说明)