安装hexo
npm install -g hexo-cli
建站
$ hexo init <folder>
$ cd <folder>
$ npm install
新建完成后,指定文件夹的目录如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
_config.yml
网站的 配置 信息,您可以在此配置大部分的参数。
package.json
应用程序的信息。EJS, Stylus 和 Markdown renderer 已默认安装,您可以自由移除。
package.json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": ""
},
"dependencies": {
"hexo": "^3.0.0",
"hexo-generator-archive": "^0.1.0",
"hexo-generator-category": "^0.1.0",
"hexo-generator-index": "^0.1.0",
"hexo-generator-tag": "^0.1.0",
"hexo-renderer-ejs": "^0.1.0",
"hexo-renderer-stylus": "^0.2.0",
"hexo-renderer-marked": "^0.2.4",
"hexo-server": "^0.1.2"
}
}
scaffolds
模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。
Hexo的模板是指在新建的markdown文件中默认填充的内容。例如,如果您修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。
source
资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes
主题 文件夹。Hexo 会根据主题来生成静态页面
配置
您可以在 _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 表达式来匹配路径。
提示
如果您刚刚开始接触Hexo,通常没有必要修改这一部分的值。
文章
参数 描述 默认值
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 部署部分的设置
指令
指令 | 语法 | 描述 |
---|---|---|
init | hexo init [folder] | 新建一个网站,如果没有floder,在当前目录创建 |
new | hexo new [layout] | 新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。 |
generate | hexo generate | 生成静态文件。-d,–deploy 文件生成后立即部署网站。-w, --watch 监视文件变动。(简写为hexo g) |
publish | hexo publish [layout] | 发表草稿 |
server | hexo server | 启动服务器。默认情况下,访问网址为: http://localhost:4000/。-p, --port 重设端口。-s, --static 只使用静态文件。-l, --log 启动日记记录,使用覆盖记录格式 |
deploy | hexo deploy | 部署网站-g, --generate部署之前预先生成静态文件。该命令可以简写为:$ hexo d |
render | hexo render [file2] … | 渲染文件。-o, --output设置输出路径 |
migrate | hexo migrate | 从其他博客系统 迁移内容。 |
clean | hexo clean | 清除缓存文件 (db.json) 和已生成的静态文件 (public)。在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令 |
list | hexo list | 列出网站资料。 |
version | hexo version | 显示Hexo版本 |
选项
安全模式
hexo --safe
调试模式
hexo --debug
简洁模式
hexo --silent
自定义配置文件的路径,自定义配置文件的路径,执行后将不再使用 _config.yml。
hexo --config custom.yml
显示草稿,显示 source/_drafts 文件夹中的草稿文章
hexo --draft
自定义cwd,自定义当前工作目录(Current working directory)的路径。
hexo --cwd /path/to/cwd
迁移
Rss
首先,安装 hexo-migrator-rss 插件。
$ npm install hexo-migrator-rss --save
插件安装完成后,执行下列命令,从 RSS 迁移所有文章。source 可以是文件路径或网址。
$ hexo migrate rss <source>
Jekyll
把 _posts 文件夹内的所有文件复制到 source/_posts 文件夹,并在 _config.yml 中修改 new_post_name 参数。
new_post_name: :year-:month-:day-:title.md
Octopress
把 Octopress source/_posts 文件夹内的所有文件转移到 Hexo 的 source/_posts 文件夹,并修改 _config.yml 中的 new_post_name 参数。
new_post_name: :year-:month-:day-:title.md
WordPress
首先,安装 hexo-migrator-wordpress 插件。
$ npm install hexo-migrator-wordpress --save
在 WordPress 仪表盘中导出数据(“Tools” → “Export” → “WordPress”)(详情参考WP支持页面)。
插件安装完成后,执行下列命令来迁移所有文章。source 可以是 WordPress 导出的文件路径或网址。
$ hexo migrate wordpress <source>
注意
这个插件并不能完美地实现WordPress->Hexo的数据转换,尤其是在处理WordPress的分类方面存在问题(见Front-matter中的分类与标签)。因此,建议您在迁移完成后,手工审阅所有生成的markdown文件,检查其中是否有错误。对于文章数量较大的WordPress站点,这项工作可能要花很长的时间。
Joomla
首先,安装 hexo-migrator-joomla 插件。
$ npm install hexo-migrator-joomla --save
使用 J2XML 组件导出 Joomla 文章。
插件安装完成后,执行下列命令来迁移所有文章。source 可以是 Joomla 导出的文件路径或网址。
$ hexo migrate joomla <source>