Hello Hexo!(更新問題發生原因2017/10/05)

今天H大的提點下,我小心翼翼的開了我人生中第一個用npm架好的framework。
之前心得都是放在Blogspot,所以自己架站還蠻新奇的。
雖然說剛剛很崩潰


大坑

才想要發文章,就一定發現一個大坑:
使用以下指令:

hexo new "Hello Hexo!"

結果出現了這樣的輸出:

INFO  Created: c:\xampp\htdocs\blog\nereuseng\source\_posts\undefined Hexo.md

系統崩潰

我不管他,繼續用hexo generate,系統就開始跑不動了:

INFO  Start processing
ERROR Process failed: _posts/undefined Hexo.md
ValidationError: `slug` is required!
at ValidationError.WarehouseError (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\error.js:17:11)
at new ValidationError (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\error\validation.js:14:18)
at SchemaTypeString.SchemaType.validate (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\schematype.js:107:11)
at SchemaTypeString.validate (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\types\string.js:45:45)
at Array.<anonymous> (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\schema.js:161:23)
at Schema._applySetters (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\schema.js:305:13)
at Model._insertOne (c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\model.js:190:10)
at c:\xampp\htdocs\blog\nereuseng\node_modules\warehouse\lib\model.js:214:17
at tryCatcher (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\util.js:16:23)
at c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\using.js:185:26
at tryCatcher (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:512:31)
at Promise._settlePromise (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:569:18)
at Promise._settlePromise0 (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:614:10)
at Promise._settlePromises (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:693:18)
at Promise._fulfill (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:638:18)
at PromiseArray._resolve (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise_array.js:126:19)
at PromiseArray._promiseFulfilled (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise_array.js:144:14)
at Promise._settlePromise (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:574:26)
at Promise._settlePromise0 (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:614:10)
at Promise._settlePromises (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\promise.js:693:18)
at Async._drainQueue (c:\xampp\htdocs\blog\nereuseng\node_modules\bluebird\js\release\async.js:133:16)

解決方法

在生成Undefined Hexo.md的時候,應該要先更改檔案的名稱
Example:

Undefined Hexo.md -> Hexo.md

更新

之所以會發上面出現Undefined的事情,是因為我在_config.yml做了一件蠢事,我在

# Writing
new_post_name: :Hello Hexo # File name of new posts
default_layout: post
...

寫下了那些東西,導致Hexo無法正確產生新的md檔案,後來我改成這樣就沒問題了:

# Writing
new_post_name: year-:month-:day-:title.md # File name of new posts
default_layout: post
...

重新命名後按generate就沒問題了!
這是我的小小心得,希望大家也能和我分享!