Open dengxingze opened 3 years ago
$ hexo d
FATAL YAMLException: duplicated mapping key at line 133, column -723: markdown: ^ at generateError (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:167:10) at throwError (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:173:9) at storeMappingPair (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:335:7) at readBlockMapping (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1098:9) at composeNode (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1359:12) at readDocument (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1525:3) at loadDocuments (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1588:5) at Object.load (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1614:19) at Hexo.yamlHelper (E:\blog\node_modules\hexo\lib\plugins\renderer\yaml.js:7:15) at Hexo.tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23) at Hexo. (E:\blog\node_modules\bluebird\js\release\method.js:15:34) at E:\blog\node_modules\hexo\lib\hexo\render.js:75:22 at tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (E:\blog\node_modules\bluebird\js\release\promise.js:547:31) at Promise._settlePromise (E:\blog\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (E:\blog\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (E:\blog\node_modules\bluebird\js\release\promise.js:729:18) at _drainQueueStep (E:\blog\node_modules\bluebird\js\release\async.js:93:12) at _drainQueue (E:\blog\node_modules\bluebird\js\release\async.js:86:9) at Async._drainQueues (E:\blog\node_modules\bluebird\js\release\async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (E:\blog\node_modules\bluebird\js\release\async.js:15:14) at processImmediate (internal/timers.js:461:21) { reason: 'duplicated mapping key', mark: Mark { name: null, buffer: '# Hexo Configuration\n' + '## Docs: https://hexo.io/docs/configuration.html\n' + '## Source: https://github.com/hexojs/hexo/\n' + '\n' + '# Site\n' + 'title: DXZ\n' + "subtitle: ''\n" + "description: ''\n" + 'keywords:\n' + 'author: dengxingze\n' + 'language: en\n' + "timezone: ''\n" + '\n' + '# URL\n' + "## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'\n" + 'url: http://example.com\n' + 'root: /\n' + 'permalink: :year/:month/:day/:title/\n' + 'permalink_defaults:\n' + 'pretty_urls:\n' + " trailing_index: true # Set to false to remove trailing 'index.html' from permalinks\n" + " trailing_html: true # Set to false to remove trailing '.html' from permalinks\n" + '\n' + '# Directory\n' + 'source_dir: source\n' + 'public_dir: public\n' + 'tag_dir: tags\n' + 'archive_dir: archives\n' + 'category_dir: categories\n' + 'code_dir: downloads/code\n' + 'i18n_dir: :lang\n' + 'skip_render:\n' + '\n' + '# Writing\n' + 'new_post_name: :title.md # File name of new posts\n' + 'default_layout: post\n' + 'titlecase: false # Transform title into titlecase\n' + 'external_link:\n' + ' enable: true # Open external links in new tab\n' + ' field: site # Apply to the whole site\n' + " exclude: ''\n" + 'filename_case: 0\n' + 'render_drafts: false\n' + 'post_asset_folder: false\n' + 'relative_link: false\n' + 'future: true\n' + 'highlight:\n' + ' enable: false\n' + ' line_number: true\n' + ' auto_detect: false\n' + " tab_replace: ''\n" + ' wrap: true\n' + ' hljs: false\n' + 'prismjs:\n' + ' enable: false\n' + ' preprocess: true\n' + ' line_number: true\n' + " tab_replace: ''\n" + '\n' + '# Home page setting\n' + "# path: Root path for your blogs index page. (default = '')\n" + '# per_page: Posts displayed per page. (0 = disable pagination)\n' + '# order_by: Posts order. (Order by date descending by default)\n' + 'index_generator:\n' + " path: ''\n" + ' per_page: 10\n' + ' order_by: -date\n' + '\n' + '# Category & Tag\n' + 'default_category: uncategorized\n' + 'category_map:\n' + 'tag_map:\n' + '\n' + '# Metadata elements\n' + '## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta\n' + 'meta_generator: true\n' + '\n' + '# Date / Time format\n' + '## Hexo uses Moment.js to parse and display date\n' + '## You can customize the date format as defined in\n' + '## http://momentjs.com/docs/#/displaying/format/\n' + 'date_format: YYYY-MM-DD\n' + 'time_format: HH:mm:ss\n' + "## updated_option supports 'mtime', 'date', 'empty'\n" + "updated_option: 'mtime'\n" + '\n' + '# Pagination\n' + '## Set per_page to 0 to disable pagination\n' + 'per_page: 10\n' + 'pagination_dir: page\n' + '\n' + '# Include / Exclude file(s)\n' + "## include:/exclude: options only apply to the 'source/' folder\n" + 'include:\n' + 'exclude:\n' + 'ignore:\n' + '\n' + '# opitions for renderer\n' + 'markdown:\n' + ' render:\n' + ' html: false\n' + ' xhtmlOut: true\n' + ' breaks: true\n' + ' linkify: true\n' + ' typographer: \n' + " quotes: '“”‘’'\n" + ' plugins:\n' + ' - plugin:\n' + ' name: markdown-it-toc-and-anchor\n' + ' enable: true\n' + ' options:\n' + " tocClassName: 'toc'\n" + " anchorClassName: 'anchor'\n" + ' - plugin:\n' + ' name: markdown-it-multimd-table\n' + ' enable: true\n' + ' options:\n' + ' multiline: true\n' + ' rowspan: true\n' + ' headerless: true\n' + ' - plugin:\n' + ' name: ./markdown-it-furigana\n' + ' enable: true\n' + ' options:\n' + ' fallbackParens: "()"\n' + ' - plugin:\n' + ' name: ./markdown-it-spoiler\n' + ' enable: true\n' + ' options:\n' + ' title: "你知道得太多了"\n' + '\n' + '# opitions for renderer\n' + 'markdown:\n' + ' render:\n' + ' html: false\n' + ' xhtmlOut: true\n' + ' breaks: true\n' + ' linkify: true\n' + ' typographer: \n' + " quotes: '“”‘’'\n" + ' plugins:\n' + ' - plugin:\n' + ' name: markdown-it-toc-and-anchor\n' + ' enable: true\n' + ' options:\n' + " tocClassName: 'toc'\n" + " anchorClassName: 'anchor'\n" + ' - plugin:\n' + ' name: markdown-it-multimd-table\n' + ' enable: true\n' + ' options:\n' + ' multiline: true\n' + ' rowspan: true\n' + ' headerless: true\n' + ' - plugin:\n' + ' name: ./markdown-it-furigana\n' + ' enable: true\n' + ' options:\n' + ' fallbackParens: "()"\n' + ' - plugin:\n' + ' name: ./markdown-it-spoiler\n' + ' enable: true\n' + ' options:\n' + ' title: "你知道得太多了"\n' + ' \n' + '# options for minify\n' + 'minify:\n' + ' html:\n' + ' enable: true\n' + ' exclude:\n' + " - '/json.ejs'\n" + " - '/atom.ejs'\n" + " - '/rss.ejs'\n" + ' css:\n' + ' enable: true\n' + ' exclude:\n' + " - '/*.min.css'\n" + ' js:\n' + ' enable: true\n' + ' mangle:\n' + ' toplevel: true\n' + ' output:\n' + ' compress:\n' + ' exclude:\n' + " - '*/.min.js'\n" + '\n' + 'plugins:\n' + '- hexo-algoliasearch\n' + '\n' + 'autoprefixer:\n' + ' exclude:\n' + " - '*.min.css'\n" + ' browsers:\n' + " - 'last 2 versions\n" + '\n' + 'algolia:\n' + ' appId: "Z7A3XW4R2I"\n' + ' apiKey: "12db1ad54372045549ef465881c17e743"\n' + ' adminApiKey: "40321c7c207e7f73b63a19aa24c4761b"\n' + ' chunkSize: 5000\n' + ' indexName: "my-hexo-blog"\n' + ' fields:\n' + ' - content:strip:truncate,0,500\n' + ' - excerpt:strip\n' + ' - gallery\n' + ' - permalink\n' + ' - photos\n' + ' - slug\n' + ' - tags\n' + ' - title\n' + '\n' + 'symbols_count_time:\n' + ' symbols: true\n' + ' time: true\n' + ' total_symbols: true\n' + ' total_time: true\n' + ' exclude_codeblock: false\n' + ' awl: 4\n' + ' wpm: 275\n' + ' suffix: "mins."\n' + '\n' + 'symbols_count_time:\n' + ' separated_meta: true\n' + ' item_text_post: true\n' + ' item_text_total: false\n' + '\n' + 'feed:\n' + ' limit: 20\n' + ' order_by: "-date"\n' + ' tag_dir: "tag"\n' + ' category_dir: "category"\n' + ' rss:\n' + ' enable: true\n' + ' template: "themes/theme/layout/_alternate/rss.ejs"\n' + ' output: "rss.xml"\n' + ' atom:\n' + ' enable: true\n' + ' template: "themes/theme/layout/_alternate/atom.ejs"\n' + ' output: "atom.xml"\n' + ' jsonFeed:\n' + ' enable: true\n' + ' template: "themes/theme/layout/_alternate/json.ejs"\n' + ' output: "feed.json"\n' + '\n' + '\n' + '# Extensions\n' + '## Plugins: https://hexo.io/plugins/\n' + '## Themes: https://hexo.io/themes/\n' + 'theme: shoka\n' + '\n' + '# Deployment\n' + '## Docs: https://hexo.io/docs/one-command-deployment\n' + 'deploy:\n' + ' type: git\n' + ' repository: https://github.com/dengxingze/dengxingze.github.io.git\n' + ' branch: master\n' + '\x00', position: 3003, line: 132, column: -724 } }
您的配置文件中出现了两次 markdown。
markdown
FATAL YAMLException: duplicated mapping key at line 133, column -723:
请善用报错提示和百度 / Google 翻译。
此 Issue 可以 Close。
$ hexo d
FATAL YAMLException: duplicated mapping key at line 133, column -723: markdown: ^ at generateError (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:167:10) at throwError (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:173:9) at storeMappingPair (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:335:7) at readBlockMapping (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1098:9) at composeNode (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1359:12) at readDocument (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1525:3) at loadDocuments (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1588:5) at Object.load (E:\blog\node_modules\js-yaml\lib\js-yaml\loader.js:1614:19) at Hexo.yamlHelper (E:\blog\node_modules\hexo\lib\plugins\renderer\yaml.js:7:15) at Hexo.tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23) at Hexo. (E:\blog\node_modules\bluebird\js\release\method.js:15:34)
at E:\blog\node_modules\hexo\lib\hexo\render.js:75:22
at tryCatcher (E:\blog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (E:\blog\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (E:\blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (E:\blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (E:\blog\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (E:\blog\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (E:\blog\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (E:\blog\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (E:\blog\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:461:21) {
reason: 'duplicated mapping key',
mark: Mark {
name: null,
buffer: '# Hexo Configuration\n' +
'## Docs: https://hexo.io/docs/configuration.html\n' +
'## Source: https://github.com/hexojs/hexo/\n' +
'\n' +
'# Site\n' +
'title: DXZ\n' +
"subtitle: ''\n" +
"description: ''\n" +
'keywords:\n' +
'author: dengxingze\n' +
'language: en\n' +
"timezone: ''\n" +
'\n' +
'# URL\n' +
"## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'\n" +
'url: http://example.com\n' +
'root: /\n' +
'permalink: :year/:month/:day/:title/\n' +
'permalink_defaults:\n' +
'pretty_urls:\n' +
" trailing_index: true # Set to false to remove trailing 'index.html' from permalinks\n" +
" trailing_html: true # Set to false to remove trailing '.html' from permalinks\n" +
'\n' +
'# Directory\n' +
'source_dir: source\n' +
'public_dir: public\n' +
'tag_dir: tags\n' +
'archive_dir: archives\n' +
'category_dir: categories\n' +
'code_dir: downloads/code\n' +
'i18n_dir: :lang\n' +
'skip_render:\n' +
'\n' +
'# Writing\n' +
'new_post_name: :title.md # File name of new posts\n' +
'default_layout: post\n' +
'titlecase: false # Transform title into titlecase\n' +
'external_link:\n' +
' enable: true # Open external links in new tab\n' +
' field: site # Apply to the whole site\n' +
" exclude: ''\n" +
'filename_case: 0\n' +
'render_drafts: false\n' +
'post_asset_folder: false\n' +
'relative_link: false\n' +
'future: true\n' +
'highlight:\n' +
' enable: false\n' +
' line_number: true\n' +
' auto_detect: false\n' +
" tab_replace: ''\n" +
' wrap: true\n' +
' hljs: false\n' +
'prismjs:\n' +
' enable: false\n' +
' preprocess: true\n' +
' line_number: true\n' +
" tab_replace: ''\n" +
'\n' +
'# Home page setting\n' +
"# path: Root path for your blogs index page. (default = '')\n" +
'# per_page: Posts displayed per page. (0 = disable pagination)\n' +
'# order_by: Posts order. (Order by date descending by default)\n' +
'index_generator:\n' +
" path: ''\n" +
' per_page: 10\n' +
' order_by: -date\n' +
'\n' +
'# Category & Tag\n' +
'default_category: uncategorized\n' +
'category_map:\n' +
'tag_map:\n' +
'\n' +
'# Metadata elements\n' +
'## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta\n' +
'meta_generator: true\n' +
'\n' +
'# Date / Time format\n' +
'## Hexo uses Moment.js to parse and display date\n' +
'## You can customize the date format as defined in\n' +
'## http://momentjs.com/docs/#/displaying/format/\n' +
'date_format: YYYY-MM-DD\n' +
'time_format: HH:mm:ss\n' +
"## updated_option supports 'mtime', 'date', 'empty'\n" +
"updated_option: 'mtime'\n" +
'\n' +
'# Pagination\n' +
'## Set per_page to 0 to disable pagination\n' +
'per_page: 10\n' +
'pagination_dir: page\n' +
'\n' +
'# Include / Exclude file(s)\n' +
"## include:/exclude: options only apply to the 'source/' folder\n" +
'include:\n' +
'exclude:\n' +
'ignore:\n' +
'\n' +
'# opitions for renderer\n' +
'markdown:\n' +
' render:\n' +
' html: false\n' +
' xhtmlOut: true\n' +
' breaks: true\n' +
' linkify: true\n' +
' typographer: \n' +
" quotes: '“”‘’'\n" +
' plugins:\n' +
' - plugin:\n' +
' name: markdown-it-toc-and-anchor\n' +
' enable: true\n' +
' options:\n' +
" tocClassName: 'toc'\n" +
" anchorClassName: 'anchor'\n" +
' - plugin:\n' +
' name: markdown-it-multimd-table\n' +
' enable: true\n' +
' options:\n' +
' multiline: true\n' +
' rowspan: true\n' +
' headerless: true\n' +
' - plugin:\n' +
' name: ./markdown-it-furigana\n' +
' enable: true\n' +
' options:\n' +
' fallbackParens: "()"\n' +
' - plugin:\n' +
' name: ./markdown-it-spoiler\n' +
' enable: true\n' +
' options:\n' +
' title: "你知道得太多了"\n' +
'\n' +
'# opitions for renderer\n' +
'markdown:\n' +
' render:\n' +
' html: false\n' +
' xhtmlOut: true\n' +
' breaks: true\n' +
' linkify: true\n' +
' typographer: \n' +
" quotes: '“”‘’'\n" +
' plugins:\n' +
' - plugin:\n' +
' name: markdown-it-toc-and-anchor\n' +
' enable: true\n' +
' options:\n' +
" tocClassName: 'toc'\n" +
" anchorClassName: 'anchor'\n" +
' - plugin:\n' +
' name: markdown-it-multimd-table\n' +
' enable: true\n' +
' options:\n' +
' multiline: true\n' +
' rowspan: true\n' +
' headerless: true\n' +
' - plugin:\n' +
' name: ./markdown-it-furigana\n' +
' enable: true\n' +
' options:\n' +
' fallbackParens: "()"\n' +
' - plugin:\n' +
' name: ./markdown-it-spoiler\n' +
' enable: true\n' +
' options:\n' +
' title: "你知道得太多了"\n' +
' \n' +
'# options for minify\n' +
'minify:\n' +
' html:\n' +
' enable: true\n' +
' exclude:\n' +
" - '/json.ejs'\n" +
" - '/atom.ejs'\n" +
" - '/rss.ejs'\n" +
' css:\n' +
' enable: true\n' +
' exclude:\n' +
" - '/*.min.css'\n" +
' js:\n' +
' enable: true\n' +
' mangle:\n' +
' toplevel: true\n' +
' output:\n' +
' compress:\n' +
' exclude:\n' +
" - '*/.min.js'\n" +
'\n' +
'plugins:\n' +
'- hexo-algoliasearch\n' +
'\n' +
'autoprefixer:\n' +
' exclude:\n' +
" - '*.min.css'\n" +
' browsers:\n' +
" - 'last 2 versions\n" +
'\n' +
'algolia:\n' +
' appId: "Z7A3XW4R2I"\n' +
' apiKey: "12db1ad54372045549ef465881c17e743"\n' +
' adminApiKey: "40321c7c207e7f73b63a19aa24c4761b"\n' +
' chunkSize: 5000\n' +
' indexName: "my-hexo-blog"\n' +
' fields:\n' +
' - content:strip:truncate,0,500\n' +
' - excerpt:strip\n' +
' - gallery\n' +
' - permalink\n' +
' - photos\n' +
' - slug\n' +
' - tags\n' +
' - title\n' +
'\n' +
'symbols_count_time:\n' +
' symbols: true\n' +
' time: true\n' +
' total_symbols: true\n' +
' total_time: true\n' +
' exclude_codeblock: false\n' +
' awl: 4\n' +
' wpm: 275\n' +
' suffix: "mins."\n' +
'\n' +
'symbols_count_time:\n' +
' separated_meta: true\n' +
' item_text_post: true\n' +
' item_text_total: false\n' +
'\n' +
'feed:\n' +
' limit: 20\n' +
' order_by: "-date"\n' +
' tag_dir: "tag"\n' +
' category_dir: "category"\n' +
' rss:\n' +
' enable: true\n' +
' template: "themes/theme/layout/_alternate/rss.ejs"\n' +
' output: "rss.xml"\n' +
' atom:\n' +
' enable: true\n' +
' template: "themes/theme/layout/_alternate/atom.ejs"\n' +
' output: "atom.xml"\n' +
' jsonFeed:\n' +
' enable: true\n' +
' template: "themes/theme/layout/_alternate/json.ejs"\n' +
' output: "feed.json"\n' +
'\n' +
'\n' +
'# Extensions\n' +
'## Plugins: https://hexo.io/plugins/\n' +
'## Themes: https://hexo.io/themes/\n' +
'theme: shoka\n' +
'\n' +
'# Deployment\n' +
'## Docs: https://hexo.io/docs/one-command-deployment\n' +
'deploy:\n' +
' type: git\n' +
' repository: https://github.com/dengxingze/dengxingze.github.io.git\n' +
' branch: master\n' +
'\x00',
position: 3003,
line: 132,
column: -724
}
}