6 min read

Hexo使用入门

如何使用 Hexo 发表播客
Hexo使用入门

hexo 安装

brew install hexo
# 或
npm install -g hexo-cli

安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

hexo init <folder>
cd <folder>
npm install

初始化后,您的项目文件夹将如下所示:

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

指令

init

hexo init [folder]

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

new

执行以下命令新建一个页面

hexo new [layout] <title>
  • layout 可选,默认在_config.ymldefault_layout设置

hexo 具有三种默认布局:

Layout Path
post source/_posts
page source
draft source/_drafts
选项 描述
-p, --path 文章的路径。 自定义文章的路径。
-r, --replace 如果存在的话,替换当前的文章。
-s, --slug 文章别名。 自定义文章的 URL。

默认情况下,Hexo 会使用文章的标题来决定文章文件的路径。 对于独立页面来说,Hexo 会创建一个以标题为名字的目录,并在目录中放置一个 index.md 文件。 你可以使用 --path 参数来覆盖上述行为、自行决定文件的目录:

hexo new page --path about/me "About me"

以上命令会创建一个 source/about/me.md 文件,同时 Front Matter 中的 title 为 "About me"

注意! title 是必须指定的!

generate

hexo generate
选项 描述
-d, --deploy Deploy after generation finishes
-w, --watch 监视文件变动
-b, --bail 生成过程中如果发生任何未处理的异常则抛出异常
-f, --force 强制重新生成
-c, --concurrency 要同时生成的文件的最大数量。 默认无限制

publish

hexo publish [layout] <filename>

发表草稿。

server

hexo server

启动服务器。 默认情况下,访问网址为: http://localhost:4000/

选项 描述
-p, --port 重设端口
-s, --static 只使用静态文件
-l, --log Enable logger. Override logger format.

deploy

hexo deploy

部署你的网站。

选项 描述
-g, --generate Generate before deployment

render

hexo render <file1> [file2] ...

渲染文件。

选项 描述
-o, --output Output destination

自定义配置文件的路径

hexo --config custom.yml

自定义配置文件的路径,指定这个参数后将不再使用默认的 _config.yml。 还接受一个以逗号分隔的 JSON 或 YAML 配置文件列表(无空格),该列表将把这些文件合并为一个 _multiconfig.yml 文件。

hexo --config custom.yml,custom2.json

显示草稿

hexo --draft

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

文件名

默认的, hexo 使用标题作为文件名

可以在_config.yml的 new_post_name` 中设置

可以通过占位符自定义文件名,例如 :year-:month-:day-:title.md

Placeholder 描述
:title 标题(小写,空格将会被替换为短杠)
:year 建立的年份,比如, 2015
:month 建立的月份(有前导零),比如, 04
:i_month 建立的月份(无前导零),比如, 4
:day 建立的日期(有前导零),比如, 07
:i_day 建立的日期(无前导零),比如, 7

草稿

使用draft布局的文件将被保存在source/_drafts

可以使用publish 将 draft 文件移动到source/_posts

hexo publish [layout] <title>

默认情况下不显示草稿。您可以在运行 Hexo 时添加 --draft 选项或启用 _config.yml 中的 render_drafts 设置来渲染草稿。

脚手架

在新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件。 例如:

hexo new photo "My Gallery"

在执行这行指令时,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章。 以下是您可以在模版中使用的变量:

Placeholder 描述
layout 布局
title 标题
date 文件建立日期

支持的格式

Hexo 支持以任何格式书写文章,只要安装了相应的渲染插件。

例如,Hexo 默认安装了 hexo-renderer-markedhexo-renderer-ejs,因此你不仅可以用 Markdown 写作,你还可以用 EJS 写作。 如果你安装了 hexo-renderer-pug,你甚至可以用 Pug 模板语言书写文章。

只需要将文章的扩展名从 md 改成 ejs,Hexo 就会使用 hexo-renderer-ejs 渲染这个文件,其他格式同理。

hexo 常用指令

在本地运行博客用于测试

hexo c && hexo g && hexo s

将 hexo 部署到 github

创建 ${username}.github.io 项目,将博客文件移动到文件夹中

mkdir richardthunder.github.io
mv hexoBlog richardthunder.github.io
cd richardthunder.github.io

安装 git 依赖

npm install hexo-deployer-git --save

修改 _config.yml 中的 Deployment

deploy:
  type: git
  repo: https://github.com/richardthunder/richardthunder.github.io.git
  branch: main

清除之前的静态文件, 建立静态文件,部署至 github

hexo cl && hexo g  && hexo d

安装 next 主题

官网 Next

git clone https://github.com/next-theme/hexo-theme-next themes/next

新建 _config.next.yml

touch _config.next.yml
# or
cp themes/next/_config.yml _config.next.yml

更改_config.yml

theme: next

设置主题

配置主题

本地搜索功能

安装

npm install hexo-generator-searchdb

_config.yml

search:
  path: search.xml
  field: post
  content: true
  format: html

_config.next.yml

# Local search
# Dependencies: https://github.com/next-theme/hexo-generator-searchdb
local_search:
  enable: true
  # Show top n results per article, show all results by setting to -1
  top_n_per_article: 1
  # Unescape html strings to the readable one.
  unescape: false
  # Preload the search data when the page loads.
  preload: false

  #修改
codeblock:
  copy_button:
    enable: true

正常显示图片

在_config.yml 中更改

post_asset_folder: true

安装插件 hexo-image-link
如果安装了 hexo-asset-img 插件,需要将其卸载

npm install hexo-renderer-marked --save
npm install hexo-image-link --save
npm uninstall --save hexo-asset-img

使用 hexo new xxx 新建文章时,Hexo 便会在 source/_posts 目录下新建与文章同名的文件夹,然后将文章需要使用的图片放在该文件夹中,通过相对路径引用即可。
例如,使用:hexo 使用/0_1.jpeg 语法,可显示图片

![显示图片](hexo使用/0_1.jpeg "壁纸")

0_1.jpeg

修改博客配置文件_config.yml,把配置文件里的post_asset_folder设置为true,并在配置文件里添加以下的marked部分

post_asset_folder: true
---------------------------------添加以下内容----------------
marked:
  prependRoot: true
  postAsset: true