Hexo搭建个人博客(二)

本文详细介绍了Hexo整站的配置文件以及主题配置文件中各配置项的含义。

Hexo目录

新生成的Hexo默认目录结构一般如下:

1
2
3
4
5
6
7
8
9
10
11
.
├── .deploy_git #执行hexo d后部署到Github的内容
├── node_modules #安装Node.js后生成的模块
├── public #执行hexo g后生成的静态页面
├── scaffolds #全局模板文件目录,可以直接编辑 ###
├── source #博客文章源码,404文件、favicon.ico文件,CNAME文件等都应该放这里
| └── _posts #发布的文章
├── themes #主题目录
├── _config.yml #全局配置文件
├── db.json
└── package.json #应用程序数据,包含Hexo的版本信息

全局配置文件

Hexo站点配置文件有两个,一个是对整站进行配置的xuyuri.github.io_config.yml,另一个是对博客主题进行配置的themes\landscape_config.yml,下面首先介绍整站配置文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Hexo Configuration
## Docs: http://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: Yuri Blog #站点名
subtitle: Walk step by step #站点名称副标题
description: Walk step by step #站点描述,给搜索引擎用,在生成的html中head->meta可看到
author: Yurixu #站点作者,在左下角版权信息处显示
email: [email protected]126.com #联系邮箱
language: zh-CN #语言-中文

#域名和文件结构
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yurixu.com/ #你的网站域名
root: / #站点根目录
permalink: blog/:year/:month/:day/:title/
tag_dir: tags
archive_dir: archives
category_dir: categories

# Writing 文章布局、写作格式的定义,不用修改
new_post_name: :year-:month-:day-:title.md # 新生成的文章名称
default_layout: post #默认布局
default_category: uncategorized #默认分类
auto_spacing: true # Add spaces between asian characters and western characters
titlecase: false # Transform title into titlecase
render_drafts: false
highlight: #代码高亮
enable: true #是否启用
backtick_code_block: true
line_number: true #是否显示行号
tab_replace: ' '

# Archives 文章归档,全部设置为1
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 1
category: 1
tag: 1

# Server 本地服务,不用修改
## Hexo uses Connect as a server
## You can customize the logger format as defined in
## http://www.senchalabs.org/connect/logger.html
port: 4001
logger: false
logger_format:

# Date / Time format 日期格式,不用修改
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY/M/D
time_format: H:mm:ss

# Pagination 每页显示文章数,可以自定义
## Set per_page to 0 to disable pagination
per_page: 5
pagination_dir: page

# Disqus Disqus Disqus评论插件,默认为disqus,我改成了多说
#disqus_shortname: yurixu
duoshuo_shortname: yurixu

# Extensions 这里配置站点所用主题和插件
## Plugins: https://github.com/tommy351/hexo/wiki/Plugins
## Themes: https://github.com/tommy351/hexo/wiki/Themes
theme: landscape
exclude_generator:
stylus:
compress: true

# 插件
plugins:
- hexo-generator-sitemap #站点地图sitemap
- hexo-generator-feed #RSS

# 部署
## Docs: http://zespia.tw/hexo/docs/deploy.html
deploy:
type: git #类型,要使用git
repo: [email protected]:xuyuri/xuyuri.github.io.git #仓库SSH链接
branch: master

主题配置文件

本博客使用Hexo默认主题 landscape,目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.
├── languages #多语言
| ├── default.yml #默认语言
| └── zh-CN.yml #中文语言
├── layout #布局,根目录下的*.ejs文件是对主页,分页,存档等的控制
| ├── _partial #局部的布局,此目录下的*.ejs是对头尾等局部的控制
| └── _widget #小挂件的布局,页面下方小挂件的控制
├── scripts #js源代码
├── source #源码
| ├── css #css源码
| | ├── _util #
| | ├── _partial #*.styl局部css
| | ├── fonts #字体
| | ├── images #图片
| | ├── style.styl #*.styl引入需要的css源码
| | ├── _extend.styl #一些引用的样式。
| | └── _variables.styl #设置全部的样式全局变量,比如页面的颜色等
| ├── fancybox #fancybox效果源码
| └── js #javascript源代码
├── _config.yml #主题配置文件
├── package.json #应用程序数据,包含Hexo的版本信息
└── README.md #

主题配置文件_config.yml配置项说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 头部菜单
menu:
Home: /
Archives: /archives
Reading: /read
GitHub: https://github.com/xuyuri
RSS: /atom.xml
About: /about

# Content
excerpt_link: Read More #摘要链接文字
fancybox: true #是否开启fancybox

# 侧边栏
sidebar: bottom #侧边栏显示位置
widgets: #侧边栏窗口部件
- category #分类
- tag #标签
- tagcloud #标签云
- archive #文章归档
- recent_posts #最近发布的文章
# display widgets at the bottom of index pages (pagination == 2)
index_widgets:
# - category
# - tagcloud
# - archive
# widget behavior
archive_type: 'monthly' #按月存档
show_count: false

# Miscellaneous
baidu_tongji: true #百度统计
tencent_tongji: true #腾讯统计
google_analytics: #google统计-默认
favicon: /favicon.ico #favicon
twitter:
google_plus:
fb_admins:
fb_app_id:

关于如何发布文章以及打造个性化博客,我将会在下一节Hexo搭建个人博客(三)介绍。

分享 本文总阅读量
< !-- add by yurixu 替换Google的jquery并且添加判断逻辑 -->