Check List
Expected behavior
There shouldn't be a warning about trying to create a file that already exists since no new attempt to create a file has been made.
Actual behavior
When I run hexo generate --watch in one terminal, then run hexo new hello in another terminal, and then restart the hexo generate --watch command (by pressing Ctrl-C to stop and then running the command again), the following warning prints.
WARN Trying to "create" _posts/hello.md, but the file already exists!
How to reproduce?
- Run
hexo generate --watch
- Run
hexo new hello in another terminal, while keeping the generate process from step 1 alive
- Stop the process from step 1 by pressing Ctrl-C
- Rerun
hexo generate --watch
Is the problem still there under Safe mode?
No, but I can reproduce it in the hexojs/hexo-theme-unit-test repo.
Your Node.js & npm version
Your Hexo and Plugin version
hexo-site@0.0.0 D:\hexo-theme-unit-test
+-- hexo-generator-archive@2.0.0
+-- hexo-generator-category@2.0.0
+-- hexo-generator-index@4.0.0
+-- hexo-generator-tag@2.0.0
+-- hexo-renderer-ejs@2.0.0
+-- hexo-renderer-marked@7.0.1
+-- hexo-renderer-stylus@3.0.1
+-- hexo-server@3.0.0
+-- hexo-tag-embed@1.0.0
`-- hexo@8.1.1
Your package.json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": "8.1.1"
},
"dependencies": {
"hexo": "^8.0.0",
"hexo-generator-archive": "^2.0.0",
"hexo-generator-category": "^2.0.0",
"hexo-generator-index": "^4.0.0",
"hexo-generator-tag": "^2.0.0",
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-marked": "^7.0.0",
"hexo-renderer-stylus": "^3.0.0",
"hexo-server": "^3.0.0",
"hexo-tag-embed": "latest"
}
}
Your site's _config.yml (Optional)
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: Hexo
subtitle: ''
description: ''
keywords:
author: John Doe
language: en
timezone: ''
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: http://example.com
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
enable: true # Open external links in new tab
field: site # Apply to the whole site
exclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
syntax_highlighter: highlight.js
highlight:
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
prismjs:
preprocess: true
line_number: true
tab_replace: ''
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ''
per_page: 10
order_by: -date
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''
Others
I actually found this issue while developing an editor plugin. The problem seems to be related to the watch functionality since running hexo.source.unwatch() solved the issue on my code (though that is not something I want to do).
I don't know much, but I guess it could be related to #4791 since the warning message seems to come from there.
Check List
hexo versionto check)Expected behavior
There shouldn't be a warning about trying to create a file that already exists since no new attempt to create a file has been made.
Actual behavior
When I run
hexo generate --watchin one terminal, then runhexo new helloin another terminal, and then restart thehexo generate --watchcommand (by pressing Ctrl-C to stop and then running the command again), the following warning prints.How to reproduce?
hexo generate --watchhexo new helloin another terminal, while keeping the generate process from step 1 alivehexo generate --watchIs the problem still there under
Safe mode?No, but I can reproduce it in the hexojs/hexo-theme-unit-test repo.
Your Node.js & npm version
Your Hexo and Plugin version
Your
package.json{ "name": "hexo-site", "version": "0.0.0", "private": true, "hexo": { "version": "8.1.1" }, "dependencies": { "hexo": "^8.0.0", "hexo-generator-archive": "^2.0.0", "hexo-generator-category": "^2.0.0", "hexo-generator-index": "^4.0.0", "hexo-generator-tag": "^2.0.0", "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-marked": "^7.0.0", "hexo-renderer-stylus": "^3.0.0", "hexo-server": "^3.0.0", "hexo-tag-embed": "latest" } }Your site's
_config.yml(Optional)Others
I actually found this issue while developing an editor plugin. The problem seems to be related to the watch functionality since running
hexo.source.unwatch()solved the issue on my code (though that is not something I want to do).I don't know much, but I guess it could be related to #4791 since the warning message seems to come from there.