Hexo Docs(一)- 开始准备

折腾Hexo这货已经有一段时间了,之前也不愿意去看官方文档,到处搜索如何搭建,如何设置等等,但是有时也无法找到自己想要的内容,于是只能研究官方文档了,奈何是英文的,从没有完整看完。最近静下心来,把Hexo Docs从头看了一遍,将官方文档的大体内容翻译(当然谈不上翻译,只是列出主要内容)了一下,这里只是用自己的话介绍一下主要功能,无用的东西就省略了。

官方Docs分为了4个部分,分别为:开始准备、基础用法、自定义、其他。Hexo的主要内容是在基础用法和自定义这两部分上。

这部分主要介绍了什么是Hexo、如何安装以及基本配置。

Hexo是一个快速的、简单的、功能强大的博客框架。你可以通过Markdown语言写文章,然后hexo帮你生成一个带有漂亮主题的静态页面。

1、安装

安装hexo的前提是要有Node.js以及Git,至于什么是Git和Node以及如何安装他们可以自行搜索了解。

安装完Node以及Git后,通过下面的命令安装Hexo:

npm install -g hexo-cli

2、启动

在电脑中找个目录,并进入目录,执行下面几个命令,hexo就准备就绪了。

hexo init
npm install

上面两条命令,第一条是初始化目录,会自动生成一些基础文件和目录,第二条命令是安装运行hexo的一些必要的组件。

OK,运行完,你会看到你的当前目录下,会自动创建一些目录,如下:

.
├── _config.yml
├── package.json
├── scaffolds/
├── scripts/
├── source/
|   ├── _drafts
|   └── _posts
└── themes/

下面依次介绍上面各个文件或者目录的用途:

  • _config.yml站点配置文件,很多全局配置都在这个文件中。
  • package.json 应用数据。从它可以看出hexo版本信息,以及它所默认或者说依赖的一些组件。
  • scaffolds 模版文件。当你创建一篇新的文章时,hexo会依据模版文件进行创建,主要用在你想在每篇文章都添加一些共性的内容的情况下。
  • scripts 放脚本的文件夹, 就是放js文件的地方
  • source 这个文件夹就是放文章的地方了,除了文章还有一些主要的资源,比如文章里的图片,文件等等东西。这个文件夹最好定期做一个备份,丢了它,整个站点就废了。
  • themes 主题文件夹。

3、配置

前面说了,主要配置就是_config.yml这个文件了,所以来看看怎么配置它了。配置也是分了几个大块的。

(1)首先是Site部分,也就是站点的一些参数设置:

  • title 站点名字,也就是html的title,会显示在浏览器标签上。
  • subtitle 站点副标题,会显示在首页上,可以不填。
  • description 站点描述,可以不填。
  • author 作者
  • language 语言
  • timezone 站点时区,默认是电脑时间

(2)接下来是URL部分设置:

  • url 站点网址
  • root 站点根目录
  • permalink 文章的永久网址链接,默认是:year/:month/:day/:title/,指的什么意思?比如我一篇叫『love』的文章是在2012年1月1日写的,那么它对应的链接就是http://yoururl/2012/01/01/love/
  • permalink_default

如果网址是次级目录,比如:http://example.com/blog,那么就要设置urlhttp://example.com/blog,并且root要设置为/blog/

(3)再接下来就是目录配置:

  • source_dir source目录,默认值为source
  • public_dir public目录,静态网站生成的地方,默认值为public
  • tag_dir tag目录
  • archive_dir Archive目录
  • category_dir 分类目录
  • code_dir 代码目录
  • i18n_dir i18n目录
  • skip_render 不想被渲染的路径

上面这一部分的值,我基本上没有改过,默认的就行了。

(4)接着是写作配置了:

  • new_post_name 新建文章默认文件名,默认值为 :title.md,比如你执行命令hexo new hello,就会默认在_post目录下创建一个hello.md的文件。
  • default_layout 默认布局
  • titlecase
  • external_link 在新标签中打开一个外部链接,默认为true
  • filename_case 转换文件名,1代表小写;2代表大写;默认为0,意思就是创建文章的时候,是否自动帮你转换文件名,默认就行,意义不大。
  • render_drafts 是否渲染_drafts目录下的文章,默认为false
  • post_asset_folder 是否启用Asset Folder,默认为false,至于什么是Asset Folder,后面有讲解。
  • future 是否显示未来日期文章,默认为true
  • highlight 代码块设置

这一部分也可以基本不变,默认值就行。

(5)接下来是分类和标签的设置:

  • default_category 默认分类,默认为无分类,当然你可以设置一个默认分类。
  • category_map 分类,不明白其作用
  • tag_map 标签,不明白其作用

(6)日期和时间格式配置:

Hexo使用的Moment.js来处理时间的。

  • data_format 日期格式,默认为MMM D YYYY,不过我将它改成了YYYY-MM-DD,符合个人口味,其他格式模版可以查看Moment.js
  • time_format 时间格式,默认为H:mm:ss

(7)分页设置:

  • per_page 一页显示多少篇文章,0 为不分页,默认值为 10
  • pagination_dir 分页目录,默认值为page

(8)最后就是扩展配置:

  • theme 主题配置,此处填上主题名就OK了,当然在themes目录下一定要有你配置的主题文件夹。
  • deploy 部署配置,将本地public目录也就是网站部署到服务器上的配置。如何部署?Docs文档『基础用法』部分有说明。

4、命令

这块主要介绍了hexo的一些命令的使用方法。

  • hexo init [folder],使用该命令初始化一个站点,不加目录参数,就初始化当前目录
  • hexo new [layout] <title>,创建一篇文章,如果不指定layout,那么就使用_config.ymldefault_layout的值,标题中如果有空格,将整个title放到引号中。比如,hexo new "hello world"创建一篇叫hello world的文章。
  • hexo generate,简单的说,这个命令就是将md格式的文章,生成静态网页。这个命令可以简写为hexo g,它有两个参数选项:
    • -d,--deploy 生成完后直接部署
    • -w,--watch 查看文件的改变
  • hexo publish [layout] <filename>,发布一个草稿
  • hexo server,启动一个本地服务,可以在本地查看网站,默认启动http://localhost:4000,貌似这个不是默认,运行命令的时候可以查看提示消息。它也有一些参数:
    • -p,--port 指定端口
    • -s,--static 仅服务静态文件
    • -l,--log 开启日志
  • hexo deploy 部署站点,可以缩写hexo d,有一个参数,hexo d -g表示在部署前先重新生成一下站点
  • hexo render <file1> [file2] ... 渲染文件,具体我也不太明白这是干嘛的
  • hexo migrate <type> 迁移其他博客系统的命令,具体怎么使用DOCS后面有介绍。
  • hexo clean 删除缓存文件db.json以及生成的public目录,当你修改了某些样式或者配置时,如果发现hexo g后也没有反应,就可以执行一下这个命令。
  • hexo list 没用过
  • hexo version 显示版本信息
  • hexo --safe 安全模式,使所有插件和脚本不生效
  • hexo --dehug 调试模式
  • hexo --silent 静默模式,不在终端上显示任何信息
  • hexo --config custom.yml 使用一个自定义配置文件替换默认_config.yml
  • hexo --draft 显示草稿文章(位于source/_drafts目录下)
  • hexo --cwd /path/to/cwd 自定义当前工作目录路径,假如你没在工作目录下,可以使用这个命令指定一下工作目录路径。

5、迁移

从其他博客站点迁移文章到hexo中,像类似Jekyll和Octopress只要把.md的文章拷贝过来就OK了,还有一些需要安装插件。

(1)RSS

首先安装插件npm install hexo-migrator-rss --save,待安装完成后,运行命令hexo migrate rss <source>就可以从RSS迁移所有文章了。source可以是一个文件路径或者URL

(2)Jekyll & Octopress

直接拷贝_posts文件夹里的文章到hexo的source/_posts就OK了,然后修改new_post_name参数为对应文章title命名规则就行了,如:year-:month-:day-:title.md

(3)WordPress

安装插件npm install hexo-migrator-wordpress --save,使用WordPress导出功能导出文章,然后运行命令hexo migrate wordpress <source>source为导出文件

(4)Joomla

安装插件npm install hexo-migrator-joomla --save,使用J2XML组件导出Joomla文章,然后运行命令hexo migrate joomla <source>source为导出文件

导出或者导入,可能出现一些问题,可以自行百度搜索。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容