开始
1. 概述
欢迎来到Hexo文档,如果你在使用Hexo的时候遇到了一些问题,请看错误排除指导,还可以再Github上提出错误或者在Google Group上发起话题讨论。
什么是Hexo?
Hero是一个快速、简单和强大的博客框架。你可以使用Markdown或者其他语言提交,Hexo可以在几分钟内生成一个具有漂亮背景的静态页面。
安装
只需花几分钟就可以设置完成Hexo,如果你遇到了问题并且不能解决,请到Github上提交错误,我们会尽力去解决它。
要求
安装Hexo非常简单,然后,你首先得安装一些其他东西。
- Node.js
- Git
如果你的电脑已经有这些了,你只需要使用npm命令安装Hexo就可以了:
$ npm install -g hero-cli
如果没有的话,请按照以下说明进行安装。
安装Git
- Windows: 下载并安装Git
- Mac: 用Homebrew,MacPorts或者installer安装
- Linux(Ubuntu, Debian):
sudo apt-get install git-core
- Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
安装Node.js
最佳安装方式:nvm
cURL:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
Wget:
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
nvm一旦装好,重启命令行并执行下面的命令来安装Node.js
$ nvm install 0.12
还有另外的一种可选的安装方式,下载和运行Node.js安装
安装Hexo
一旦所有必须安装的都安装完成了,可以使用npm来安装Hexo
$ npc install -g hero-cli
2. 设置
Hero一旦安装好了,运行下面运行下面命令来安装Hexo到目标文件夹
$ hero install
$ cd
$ npc install
安装完成后,项目文件夹应该看起来像下面这样:
.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes
.config.yml
网站配置文件。
package.json
应用数据,EJS,Stylus和Markdown渲染器都是默认安装的,你可以之后卸载他们。
package.json { "name": "hero-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
当你创建一个post时,Hexo会基于scaffolds
文件夹内的文件。
scripts
这个文件夹内的脚本文件会自动执行。
source
网站的内容都放在这个文件夹里,Hexo忽略了隐藏文件和以_
为前缀的文件或文件夹(_posts
文件夹除外),用Markdown或者HTML渲染过得文件则放在public
文件夹
themes
Hero会基于theme生成一个静态网页。
3. 配置
修改_config.yml
配置文件
Site
设置 | 描述 |
---|---|
title |
网站的标题 |
subtitle |
网站的子标题 |
description |
网站的描述 |
author |
你的名字 |
language |
网站的语言,详情请看2-lettter ISO-639-1 code。默认是en . |
timezone |
网站的时区,Hexo默认你电脑的默认设置,你可以在here找到时区列表,例如America/New_York, Japan, and UTC. |
URL
设置 | 描述 | 默认值 |
---|---|---|
url |
网站的url | |
root |
网站的根目录 | |
permalink |
文件保存在public中得目录格式 | :year/:month/:day/:title/ |
permalink_default |
permalink每部分的默认值 |
网站在子文件夹的设置
如果你的网站放在子文件夹里面(例如http://example.org/blog
)设置url
为http://example.org/blog
,设置root
为/blog/
。
Directory
设置 | 描述 | 默认值 |
---|---|---|
source_dir |
内容存放的源码文件夹目录 | source |
public_dir |
静态网页生成目录 | public |
tag_dir |
标签目录 | tags |
archive_dir |
存档目录 | archives |
category_dir |
类别目录 | categories |
code_dir |
引入的代码目录 | download/code |
i18n_dir |
i18n目录 | :lang |
skip_render |
跳过指定文件的渲染,您可使用 glob 来配置路径。 |
Writing
设置 | 描述 | 默认值 |
---|---|---|
new_post_name |
新提交所使用的格式化文件名 | :title.md |
default_layout |
默认格局 | post |
titlecase |
把标题转换成title case | false |
external_link |
使用新标签打开一个连接 | true |
filename_case |
转换文件名1 小写;2 大写 |
0 |
render_drafts |
显示草稿 | false |
post_asset_folder |
是否开启Assert文件夹 ? |
false |
relative_link |
是否创建一个文件夹关联根目录 | false |
future |
显示特性提交? | true |
highlight |
代码块设置 |
Category&Tag
设置 | 描述 | 默认值 |
---|---|---|
default_category |
默认类别 | uncategorized |
category_map |
分类别名 | |
tag_map |
标签别名 |
Date/Time format
Hero使用Moment.js来处理数据
设置 | 描述 | 默认值 |
---|---|---|
date_format |
日期格式 | MMMM D YYYY |
time_format |
时间格式 | H:mm:ss |
Pagination
设置 | 描述 | 默认值 |
---|---|---|
per_page |
每页最大文章数,0 隐藏页数 |
10 |
pagination |
Pagination目录 | page |
Extensions
设置 | 描述 |
---|---|
theme |
背景名。false 隐藏背景 |
deploy |
部署设置 |
4. 命令
init
$ hexo init [folder]
初始化网站,如果不提供[folder]
,Hexo将初始化当前所在的目录。
new
$ hexo new [layout]
新建一篇文章,如果不指定[layout]
,Hexo则使用_config.yml中配置的默认layout default_layout
。如果title
中间有空格的话,title加上引号。
generate
$ hexo generate
生成静态文件
可选项 | 描述 |
---|---|
-d,--deploy |
生成完成后进行部署 |
-w,--watch |
查看文件的变化 |
publish
$ hexo publish [layout]
发布草稿
server
$ hexo server
开启一个本地服务,默认的是http://localhost:4000/
可选项 | 描述 |
---|---|
-p,--port |
覆盖默认端口 |
-s,--static |
只打开静态文件 |
-l,--log |
覆盖日志格式 |
deploy
$ hexo deploy
部署你的网站
可选项 | 描述 |
---|---|
-g,--generate |
部署前执行generate命令 |
render
$ hexo render
渲染文件
可选项 | 描述 |
---|---|
-o,--output |
输出地 |
migrate
$ hexo migrate
把别的博客系统的文章移过来
clean
$ hexo clean
删除缓存文件db.json
和生成的文件pulbic
.
list
$ hexo list
列出所有可能
version
$ hexo version
显示版本信息
可选项
Safe mode
$ hexo --safe
如果你安装了一个新插件后运行这个命令就会隐藏加载插件和脚本。
Debug mode
$ hexo --debug
当遇到问题时,可以使用这个命令来调试错误,如果遇到错误,请把它提交到raise a GitHub issue
Silent mode
$ hexo --silent
命令行隐藏输出
Customize config file path
$ hexo --config custom.yml
使用自定义的配置文件来覆盖默认的_config.yml
Display drafts
$ hexo --draft
显示所有的草稿(在source_drafts
文件夹)
Customize CWD
$ hexo --cwd /path/to/cwd
自定义当前工作目录的路径
5. 博客迁移
RSS
首先,安装hero-migrator-rss
插件
$ npm install hero-migrator-rss --save
插件安装完成后,运行下面的命令,source
可以是文件路径也可以使URL。
$ hexo migrate rss
Jekyll
把所有Jekyll _posts
文件夹里的文件移动到source/_posts
文件夹下
在_config.yml
里改变new_post_name
的值
new_post_name: :year-:month-:day-:title.md
** Octopress**
把所有Octopuses source/_posts
文件夹里的文件移动到source/_posts
文件夹下
在_config.yml
里改变new_post_name
的值
new_post_name: :year-:month-:day-:title.md
** WordPress**
首先安装hero-migrator-wordpress
插件
$ npm install hexo-migrator-wordpress --save
在WordPress的指示版中点击"Tools"->"Export"->"WordPress"
来导出WordPress(更多帮助请看WordPress support page)
现在运行:
$ hexo migrate wordpress
source
是导出文件的路径或URL
Joomla
首先,安装hexo-migrator-joomla
插件
$ npm install hexo-migrator-joomla --save
使用J2XML容器导出你的文章
现在运行:
$ hexo migrate joomla
source
是导出文件的路径或URL
更新继续...