Hexo搭建以及基本操作(4)文章发布与留言系统

Hexo搭建以及基本操作(4)文章发布与留言系统

Xiao.Hei.Ge Lv3

Hexo发表文章需要结合Markdown编辑器,我这里采用比较流行的Typora。

详细的内容查看 文档 | Hexo

新建文章:

1、生成文章

在博客目录下导航栏运行cmd,进入命令窗口。

按照格式

1
2
hexo new [layout] <title>
hexo new 文章布局 文件名

[layout] 为指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。

[layout] 可以不用写,不写就是默认布局。

我们输入以下命令:

1
hexo new 测试一下

运行后你就会在source/_posts 目录下面找到一个“测试一下.md”的文件。

image-20240125155911759

2、编辑文章

用Typora打开这个文件

image-20240125160041911

我们先修改一下文章信息

image-20240125160306148

1
2
3
4
5
6
title:             #网页文章标题
date: #文章创建时间
comments: #文章评论功能是否启动
tags: #文章标签
categories: #文章分类
keywords: #文章关键字

2.1分类和标签

只有文章支持分类和标签,您可以在 Front-matter 中设置。在其他系统中,分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次。

1
2
3
4
5
categories:
- Diary
tags:
- PS3
- Games

分类方法的分歧

如果您有过使用 WordPress 的经验,就很容易误解 Hexo 的分类方式。WordPress 支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是 Hexo 不支持指定多个同级分类。下面的指定方法:

1
2
3
categories:
- Diary
- Life

会使分类 Life 成为 Diary 的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。

如果你需要为文章添加多个分类,可以尝试以下 list 中的方法。

1
2
3
4
categories:
- [Diary, PlayStation]
- [Diary, Games]
- [Life]

此时这篇文章同时包括三个分类: PlayStationGames 分别都是父分类 Diary 的子分类,同时 Life 是一个没有子分类的分类。

JSON Front-matter

除了 YAML 外,你也可以使用 JSON 来编写 Front-matter,只要将 --- 代换成 ;;; 即可。

1
2
3
"title": "Hello World",
"date": "2013/7/13 20:46:25"
;;;

针对主题,可能还有主页缩略图以及文章标题图等设置例如Redefine(github.com) Theme Redefine Docs

1
thumbnail: "IMAGE_LINK"   #首页缩略图

image-20240125161404207

1
2
3
4
5
6
7
8
#文章页头图
cover: "图片链接"

banner: "图片链接"

如果你设置了 首页缩略图 thumbnail ,文章封面也会自动选择为 thumbnail 链接,当然,banner 和 cover 的优先级最高。

如果你不想设置文章封面却想保留首页头图,请把 cover 或者 banner 设置成 false

3、发布文章

文章写好之后使用如下命令生成新的静态页面:

1
hexo g

这个命令会将source文件夹下所有的md文件进行渲染,生成HTML页面,存放在public文件夹下

最后用一下命令将文章发布到服务器

1
hexo d

留言系统

评论系统 comment

Redefine 主题支持 waline twikoo gitalk giscus 四种评论系统,你可以根据自己的喜好选择一种。

如果你想对文章单独关闭评论,请在文章的 front-matter 中加入 comment: false

如果你想对页面单独开启评论,请在页面的 front-matter 中加入 comment: true

全局开关

配置项名称:comment.enable

是否启用评论。

类型 可选值 默认值
布尔值 `true false`

评论系统选择

配置项名称:comment.system

类型 可选值 默认值
字符串 `waline gitalk

Waline 配置

配置项名称:comment.config.waline

服务端

请访问 Waline 官网 ,按照官网的指引配置好 Waline 服务端.

vercel.app 默认域名在中国大陆地区被墙,所以建议在 Vercel 上面绑定自定义域名。

客户端

拿到你需要的 serverUrl (即 vercel 应用的链接,可以绑定自定义域名)后,填写到 _config.redefine.yml 中。

_config.redefine.yml

1
2
3
4
comment:
config:
waline:
serverUrl: https://example.example.com #你拿到的 serverUrl

更多关于 Waline 评论系统的信息,请访问 Waline 官网

一些常见问题:(陆续增加)

Hexo 博客中出现关于 LF will be replaced by CRLF 问题出现的原因以及解决方式

出现的原因
1
2
3
4
5
windows中的换行符为 CRLF,而在Linux下的换行符为LF,所以在执行add . 时出现提示 
CRLF和LF是两种不同的换行格式,git工作区默认为CRLF来作为换行符,
所以当我们项目文件里有用的地方使用LF作为换行符,这个时候我们再继续git add
或者git commit的时候就会弹出警告,
当最终push到远程仓库的时候git会统一格式全部转化为用CRLF作为换行符 12345
解决方式
1
2
这个只是一个警告,我们直接忽略就好。
git config –-global core.autocrlf false //禁用自动转换
删除文章
  • 第一步,去文件夹 source/_posts 下删除你想要删除的文章

  • 第二步,删除 .deploy_git 文件夹下年份文件夹,比如.deploy_git/2024 .

    如果整个deploy_git删除会出现权限问题,导致hexo d时不能将文章拷贝到deploy_git目录下。deploy_git 是git部署用的文件。 当你为 git 部署选项运行 hexo d 命令时,Hexo 会创建一个名为 .deploy_git 的文件夹,并将生成的文件复制到该文件夹。

  • 第三步,执行 hexo clean 后,再执行 hexo g , hexo d 即可。 发现文章删除成功

  • 标题: Hexo搭建以及基本操作(4)文章发布与留言系统
  • 作者: Xiao.Hei.Ge
  • 创建于 : 2024-01-22 17:07:53
  • 更新于 : 2024-03-03 23:16:08
  • 链接: https://cool.xiaohei.us/2024/01/22/Hexo搭建以及基本操作-4-文章发布与留言系统/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论