hexo
hexo copied to clipboard
Tag Plugins post_link generate a Post not found error
Check List
Please check followings before submitting a new issue.
- [x] I have already read Docs page & Troubleshooting page
- [x] I have already searched existing issues and they are not help to me
- [x] I examined error or warning messages and it's difficult to solve
- [x] Using the latest version of Hexo (run
hexo version
to check) - [x] Node.js is higher than minimum required version
Expected behavior
{% post_link somemarkdownfile %}
should generate a corrent link to the exsit markdown file.
Actual behavior
it genrated a post not found xxx
link.
How to reproduce?
just write the post_link such as {% post_link somemarkdownfile %}
what's more:
I created a new hexo folder, and created a new post named test.md
,
and wrote {% post_link test %}
in hello-world.md.
run hexo g
, it can genrate the correnct link.
and I move test.md to subfolder/test.md,
then run hexo clean && hexo g
. it can't genrate the correct link, just said: post not found
.
I moved the test.md
just below the _post folder, then it can genrate the correct link again.
BUT for my original hexo folder, wherever i put the somemarkdownfile.md
, it always said post not found
.
Is the problem still there under "Safe mode"?
YES
Environment & Settings
Node.js & npm version(node -v && npm -v
)
v18.7.0
8.17.0
Your site _config.yml
(Optional)
Hexo and Plugin version(npm ls --depth 0
)
[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
Your package.json package.json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},
"hexo": {
"version": "6.2.0"
},
"dependencies": {
"hexo": "^6.0.0",
"hexo-cli": "^4.3.0",
"hexo-deployer-git": "^3.0.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-category": "^1.0.0",
"hexo-generator-index": "^2.0.0",
"hexo-generator-sitemap": "^3.0.1",
"hexo-generator-tag": "^1.0.0",
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-marked": "^5.0.0",
"hexo-renderer-stylus": "^2.0.1",
"hexo-server": "^3.0.0"
}
}
Others
I replace the post_link.js in the node_moduls/hexo/lib bla bla with the current post_link.js on the master.
it throws the error below, hope it helps
Template render error: (unknown path)
Error: Post not found: post_link somemarkdownfile.
at Object._prettifyError (TheHexoFolder/node_modules/nunjucks/src/lib.js:36:11)
at TheHexoFolder/node_modules/nunjucks/src/environment.js:563:19
at Template.root [as rootRenderFunc] (eval at _compile (TheHexoFolder/node_modules/nunjucks/src/environment.js:633:18), <anonymous>:19:3)
at Template.render (TheHexoFolder/node_modules/nunjucks/src/environment.js:552:10)
at Environment.renderString (TheHexoFolder/node_modules/nunjucks/src/environment.js:380:17)
at TheHexoFolder/node_modules/hexo/lib/extend/tag.js:236:16
at tryCatcher (TheHexoFolder/node_modules/bluebird/js/release/util.js:16:23)
at Promise.fromNode.Promise.fromCallback (TheHexoFolder/node_modules/bluebird/js/release/promise.js:209:30)
at Tag.render (TheHexoFolder/node_modules/hexo/lib/extend/tag.js:235:20)
at Object.onRenderEnd (TheHexoFolder/node_modules/hexo/lib/hexo/post.js:426:22)
at TheHexoFolder/node_modules/hexo/lib/hexo/render.js:85:21
at tryCatcher (TheHexoFolder/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (TheHexoFolder/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (TheHexoFolder/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (TheHexoFolder/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (TheHexoFolder/node_modules/bluebird/js/release/promise.js:729:18)