小刘哥的笔记本

Keep It Simple, Stupid !


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

使用Hexo搭建个人博客

发表于 2019-08-16 更新于 2019-08-17 分类于 Linux

1. 使用 Hexo 搭建博客

安装环境:操作系统 Linux CentOS7

1.1 Hexo 安装

Hexo 依赖于 node.js 以及 git,因此需要提前配置安装环境:

node.js 下载链接: https://nodejs.org/en/

git 下载链接: https://git-scm.com/

1
2
3
4
5
6
7
8
$ ## Step 1 install node.js with nvm
$ # curl https://raw.github.com/creationix/nvm/v0.33.11/install.sh | sh
$ wget -qO- https://raw.github.com/creationix/nvm/v0.33.11/install.sh | sh
$ nvm install stable
## install git
$ sudo yum install git
## install hexo
$ npm install -g hexo-cli

安装过程中可能会遇到一些问题,按照相应问题的描述进行解决即可。

1.2 Hexo 的配置

安装 Hexo 完成后,创建一个文件夹并执行以下命令 Hexo 将会在指定文件夹中新建所需要的文件。

1
2
3
4
5
$ mkdir /path/to/bolg
$ hexo init blog
$ cd blog
$ npm install
$ hexo server

安装完成后,会在 bolg 文件夹下生成以下文件:

1
2
3
4
5
6
7
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

各个文件/文件夹说明:

文件 说明 备注
_config.yml 网站的 配置 信息 –
package.json 应用程序的信息 EJS, Stylus 和 Markdown renderer 已默认安装,您可以自由移除。
scaffolds 模版 文件夹 新建文章时,Hexo 会根据 scaffold 来建立文件。
source 资源文件夹是存放用户资源的地方 除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes 主题 文件夹。Hexo 会根据主题来生成静态页面。 Hexo 会根据主题来生成静态页面。

1.2.1 网站信息的配置

通过修改config.yml文件来管理网站的 配置 信息。网站信息主要包含以下内容:

网站
参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
author 作者名字
language 网站使用的语言
timezone 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。

其中,description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。

网址
参数 描述 默认值
url 网址
root 网站根目录
permalink 文章的 永久链接 格式 :year/:month/:day/:title/
permalink_defaults 永久链接中各部分的默认值

如果网站存放在子目录中,例如 http://yoursite.com/blog,则需将 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/。

目录
参数 描述 默认值
source_dir 资源文件夹,这个文件夹用来存放内容。 source
public_dir 公共文件夹,这个文件夹用于存放生成的站点文件。 public
tag_dir 标签文件夹 tags
archive_dir 归档文件夹 archives
category_dir 分类文件夹 categories
code_dir Include code 文件夹 downloads/code
i18n_dir 国际化(i18n)文件夹 :lang
skip_render 跳过指定文件的渲染,您可使用 glob 表达式来匹配路径。
文章
参数 描述 默认值
new_post_name 新文章的文件名称 :title.md
default_layout 预设布局 post
auto_spacing 在中文和英文之间加入空格 false
titlecase 把标题转换为 title case false
external_link 在新标签中打开链接 true
filename_case 把文件名称转换为 (1) 小写或 (2) 大写 0
render_drafts 显示草稿 false
post_asset_folder 启动 Asset 文件夹 false
relative_link 把链接改为与根目录的相对位址 false
future 显示未来的文章 true
highlight 代码块的设置

默认情况下,Hexo生成的超链接都是绝对地址。例如,如果您的网站域名为example.com,您有一篇文章名为hello,那么绝对链接可能像这样:http://example.com/hello.html,它是绝对于域名的。相对链接像这样:/hello.html,也就是说,无论用什么域名访问该站点,都没有关系,这在进行反向代理时可能用到。通常情况下,建议使用绝对地址。

分类 & 标签
参数 描述 默认值
default_category 默认分类 uncategorized
category_map 分类别名
tag_map 标签别名
日期 / 时间格式

Hexo 使用 Moment.js 来解析和显示时间。

参数 描述 默认值
date_format 日期格式 YYYY-MM-DD
time_format 时间格式 H:mm:ss
分页
参数 描述 默认值
per_page 每页显示的文章量 (0 = 关闭分页功能) 10
pagination_dir 分页目录 page
扩展
参数 描述
theme 当前主题名称。值为false时禁用主题
deploy 部署部分的设置

1.2.2 Hexo 命令操作

1
2
3
$ hexo init [folder] 		## 新建网站
$ hexo new [layout] <title> ## 新建题目为 title 的文章
$ hexo generate || hexo g ## 生成静态文件
选项 描述
-d, --deploy 文件生成后立即部署网站
-w, --watch 监视文件变动
1
2
$ hexo publish [layout] <filename>	## 发表草稿
$ hexo server ## 启动服务器。默认网址为: http://localhost:4000/。
选项 描述
-p, --port 重设端口
-s, --static 只使用静态文件
-l, --log 启动日记记录,使用覆盖记录格式
1
$ hexo deploy || hexo d				## 部署网站
参数 描述
-g, --generate 部署之前预先生成静态文件
1
$ hexo render <file1> [file2] ...	## 渲染文件
参数 描述
-o, --output 设置输出路径
1
2
3
4
$ hexo migrate <type>	## 从其他博客系统 迁移内容
$ hexo clean ## 清除缓存文件 (db.json) 和已生成的静态文件 (public)
$ hexo list <type> ## 列出网站资料
$ hexo version ## 显示 Hexo 版本
1
2
3
4
5
6
$ hexo --safe 				## 在安全模式下,不会载入插件和脚本
$ hexo --debug ## 在终端中显示调试信息并记录到 debug.log
$ hexo --silent ## 隐藏终端信息
$ hexo --config custom.yml ## 自定义配置文件的路径,执行后将不再使用 _config.yml
$ hexo --draft ## 显示 source/_drafts 文件夹中的草稿文章
$ hexo --cwd /path/to/cwd ## 自定义当前工作目录(Current working directory)的路径

1.2.3 网站迁移

Hexo 的迁移功能主要可以实现 RSS–> Hexo, Jekyll –> Hexo, Octopress –> Hexo, WordPress –> Hexo 以及 Joomla –> Hexo 等的迁移功能,具体参考 迁移。

1.2.4 文章的写作

我们使用 $ hexo new [layout] <title> 创建好文章后就可以进行写作了。我们可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。

布局(Layout)

Hexo 有三种默认布局:post、page 和 draft,它们分别对应不同的路径,我们自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

布局 路径
post source/_posts
page source
draft source/_drafts

如果我们不想文章被处理,可以将 Front-Matter 中的layout: 设为 false。

文件名称

Hexo 默认以标题做为文件名称,编辑 new_post_name 参数来改变默认的文件名称,举例来说,设为 :year-:month-:day-:title.md 可让我们更方便的通过日期来管理文章。

变量 描述
:title 标题(小写,空格将会被替换为短杠)
:year 建立的年份,比如, 2015
:month 建立的月份(有前导零),比如, 04
:i_month 建立的月份(无前导零),比如, 4
:day 建立的日期(有前导零),比如, 07
:i_day 建立的日期(无前导零),比如, 7
草稿

Hexo 的一种特殊布局:draft,这种布局在建立时会被保存到 source/_drafts 文件夹,可通过 publish 命令将草稿移动到 source/_posts 文件夹,该命令的使用方式与 new 十分类似,也可在命令中指定 layout 来指定布局。

1
$ hexo publish [layout] <title>

草稿默认不会显示在页面中,可在执行时加上 --draft 参数,或是把 render_drafts 参数设为 true来预览草稿。

模版(Scaffold)

在新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件,例如:

1
$ hexo new photo "My Gallery"

在执行这行指令时,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,以下是您可以在模版中使用的变量:

变量 描述
layout 布局
title 标题
date 文件建立日期
Alipe wechat
扫码关注小刘哥订阅号!
谢谢您的赏识!
Alipe 微信支付

微信支付

Alipe 支付宝

支付宝

# Hexo # Blog # 建站
大刍草等位基因提高玉米耐密性状
CentOS7安装使用VNC远程桌面
  • 文章目录
  • 站点概览
Alipe

Alipe

种地,学习,撸代码!
11 日志
7 分类
38 标签
RSS
GitHub E-Mail JianShu Twitter
  1. 1. 使用 Hexo 搭建博客
    1. 1.1 Hexo 安装
    2. 1.2 Hexo 的配置
    3. 1.2.2 Hexo 命令操作
    4. 1.2.3 网站迁移
    5. 1.2.4 文章的写作
© 2019 Alipe
由 Hexo 强力驱动
|
主题 – NexT.Pisces