Hexo常用命令

前言

学习一个东西,一门语言也好,一个框架也好,最好的方式就是查看官方文档与自己阅读源代码,其次是查阅优秀博文,再次是查阅相关学习课程与视频,独立学习能力是一个程序员适应时代发展最重要的能力。

本节,我结合实际使用,和官方文档,来讲一下Hexo的常用指令。

文档本体

官方文档地址: https://hexo.io/zh-cn/docs/

init

1
$ hexo init [folder]

新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站。

new

1
$ hexo new [layout] <title>

新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。

1
$ hexo new "post title with whitespace"

这是我的配置文件中关于写博客的一些配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: true
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: false
tab_replace:

我规定在生成新博客的时候采用标题加md的方式作为文件名,默认的layout为post,也就是在_post文件夹内创建我的markdown文件,Layout就是布局的意思,每个文件使用默认的布局又是什么意思呢?

打开Hexo根目录下的themes文件,你就会看到你所有的主题,打开你现在正在使用的主题,比如我的主题是伊卡洛斯(icarus),里面有一个名为Layout的文件夹,顾名思义,这就是布局文件了,打开下面的layout.ejs文件,我们可以看到它由这几个部分组成:

1
2
3
<head>
<%- partial('common/head') %>
</head>

头部,引入了common的head文件

1
<%- partial('common/navbar', { page }) %>

navbar也就是导航栏部分

1
2
<%- partial('common/widget', { position: 'left' }) %>
<%- partial('common/widget', { position: 'right' }) %>

中间部分,分为左边和右边

1
<%- partial('common/footer') %>

页面尾部,他们都在common目录下

这些部分共同组成一个html文件,也就是说我们通过不同时间向Layout注入不同的内容来实现页面的跳转,这种单页面实现所有功能的结构并不少见,比如Vue也相类似。

每个Hexo站点基本上分为index(首页)post(文章详情页)page(导航标签页)archive(归档页)category(类别页)以及tag(标签页),没错就是Layout文件夹下的几个文件。它们每个都代表一种布局,将它们用来替换掉layout.ejs文件里的<%- body %>就得到了各个布局的页面代码。

index首页布局

最后来看看index.ejs,它是首页布局,跟其他的布局还是不一样的。代码如下:

1
2
3
4
5
6
<% page.posts.each(function(post){ %>
<%- partial('common/article', { post, index: true }) %>
<% }); %>
<% if (page.total > 1) { %>
<%- partial('common/paginator') %>
<% } %>

这一块什么意思?首先是一个循环语句,因为首页要显示出近期发布的几篇文章,引入局部模块的时候使用了Local Variables(本地变量)的相关内容,这里是将post页面变量赋值给了本地变量item,换句话说,在_partial/article.ejs这个文件中所有的item变量都指的是post页面变量,里面使用了很多页面变量的一些键值,参考这里页面变量article.ejs的代码就容易多了。

布局(Layout)

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

1558056731910

默认为post布局,page是页面,draft是草稿。

generate

1
$ hexo generate

生成静态文件。我们常常简写为hexo g,因为Coding/Github Pagas帮我们部署的正是静态文件,所以我们在每一次发布的时候都需要生成静态文件。

选项描述
-d, --deploy文件生成后立即部署网站
-w, --watch监视文件变动

该命令可以简写为

1
$ hexo g

我们可以通过hexo g -d在生成后制动部署,部署也就是按照配置文件中的deploy自动推到Coding/Github或者你的服务器上,推上去的便是你生成的静态文件。

publish

1
$ hexo publish [layout] <filename>

发表草稿。

server

1
$ hexo server

启动服务器。默认情况下,访问网址为: http://localhost:4000/。可以本地预览你的博客。

在你需要调整很多内容的时候你就可以通过这种方式快速看到你代码更改后的效果。

选项描述
-p, --port重设端口
-s, --static只使用静态文件
-l, --log启动日记记录,使用覆盖记录格式

deploy

1
$ hexo deploy

部署网站。

参数描述
-g, --generate部署之前预先生成静态文件

该命令可以简写为:

1
$ hexo d

和之前的用法相似,我们使用hexo d -g也是可以的

render

1
$ hexo render <file1> [file2] ...

渲染文件。将我们的文章渲染成单个html文件。

1558057423466

最终打开hexo.html是这样的

1558057442147

效果并不是很好,没有很多css的包装,只是阅读还是可以的。

参数描述
-o, --output设置输出路径

migrate

1
$ hexo migrate <type>

从其他博客系统 迁移内容。不赘述,这个命令往往在我们需要迁移内容的时候再考虑学习。

clean

1
$ hexo clean

清除缓存文件 (db.json) 和已生成的静态文件 (public)。

在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。

毒比较大的时候,建议clean一下

list

1
$ hexo list <type>

列出网站资料。这个就很有意思了,可以选用的type有page, post, route, tag, category

1558057613134

version

1
$ hexo version

显示 Hexo 版本。

选项

安全模式

1
$ hexo --safe

在安全模式下,不会载入插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行。

调试模式

1
$ hexo --debug

在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub

简洁模式

1
$ hexo --silent

隐藏终端信息。

自定义配置文件的路径

1
$ hexo --config custom.yml

自定义配置文件的路径,执行后将不再使用 _config.yml。这一点非常重要,但是要记住一旦执行,你就会发现原来的配置文件不能生效,如果你忘记了这件事,那么你可能始终想不通为什么自己的hexo坏了,只好重装。

显示草稿

1
$ hexo --draft

显示 source/_drafts 文件夹中的草稿文章。

自定义 CWD

1
$ hexo --cwd /path/to/cwd

自定义当前工作目录(Current working directory)的路径。

本次博文就先到这里,部分内容摘自官方文档。

1558057833295

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值