关于hexo标题问题

今天出于让hexo更优雅的目的,修改了一下配置,给默认模板加上了categories属性。

之前的新建文章,是用hexo new 2017-7-27这样的命令。由于默认情况下文件名=标题,因此会出现用日期命名的.md文件,再进行编辑。

本想直接在hexo的_config.yml中,把文件名改为用时间命名,这样就能用hexo new 标题的命令,简化流程。

然而在本地调试的时候出现了错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ValidationError: `slug` is required!
at ValidationError.WarehouseError (e:\hexo\blog\node_modules\warehouse\lib\error.js:17:11)
at new ValidationError (e:\hexo\blog\node_modules\warehouse\lib\error\validation.js:14:18)
at SchemaTypeString.SchemaType.validate (e:\hexo\blog\node_modules\warehouse\lib\schematype.js:107:11)
at SchemaTypeString.validate (e:\hexo\blog\node_modules\warehouse\lib\types\string.js:45:45)
at Array.<anonymous> (e:\hexo\blog\node_modules\warehouse\lib\schema.js:161:23)
at Schema._applySetters (e:\hexo\blog\node_modules\warehouse\lib\schema.js:305:13)
at Model._insertOne (e:\hexo\blog\node_modules\warehouse\lib\model.js:190:10)
at e:\hexo\blog\node_modules\warehouse\lib\model.js:214:17
at tryCatcher (e:\hexo\blog\node_modules\bluebird\js\release\util.js:16:23)
at e:\hexo\blog\node_modules\bluebird\js\release\using.js:185:26
at tryCatcher (e:\hexo\blog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:512:31)
at Promise._settlePromise (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:569:18)
at Promise._settlePromise0 (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:614:10)
at Promise._settlePromises (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:693:18)
at Promise._fulfill (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:638:18)
at PromiseArray._resolve (e:\hexo\blog\node_modules\bluebird\js\release\promise_array.js:126:19)
at PromiseArray._promiseFulfilled (e:\hexo\blog\node_modules\bluebird\js\release\promise_array.js:144:14)
at Promise._settlePromise (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:574:26)
at Promise._settlePromise0 (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:614:10)
at Promise._settlePromises (e:\hexo\blog\node_modules\bluebird\js\release\promise.js:693:18)
at Async._drainQueue (e:\hexo\blog\node_modules\bluebird\js\release\async.js:133:16)

这就很尴尬了……最后把_config.yml中new_post_name的值改为:year-:i_month-:day-:title.md # File name of new posts,问题解决。

应该是hexo不允许这样做(不会自动处理重复命名。)

作者

Mother Ship

发布于

2017-07-27

更新于

2023-02-13

许可协议

评论