diff --git a/lib/renderer.js b/lib/renderer.js
index <HASH>..<HASH> 100644
--- a/lib/renderer.js
+++ b/lib/renderer.js
@@ -115,29 +115,22 @@ marked.setOptions({
 });
 
 module.exports = function(data, options) {
-  const siteCfg = Object.assign({}, {
-    config: {
-      url: this.config.url,
-      root: this.config.root,
-      relative_link: this.config.relative_link,
-      post_asset_folder: this.config.post_asset_folder
-    }
-  });
+  hexo = this;
 
   // exec filter to extend renderer.
   const renderer = new Renderer();
   this.execFilterSync('marked:renderer', renderer, {context: this});
 
-  let path = '';
+  let postId = '';
   if (data.path && this.config.post_asset_folder && this.config.marked.prependRoot && this.config.marked.postAsset) {
     const Post = this.model('Post');
     // Windows compatibility, Post.findOne() requires forward slash
     const source = data.path.replace(this.source_dir, '').replace('\\', '/');
     const post = Post.findOne({ source });
-    path = post ? post.path : '';
+    postId = post ? post._id : '';
   }
 
   return marked(data.text, Object.assign({
     renderer
-  }, this.config.marked, options, siteCfg, { path }));
+  }, this.config.marked, options, { postId }));
 };
fix(postAsset): utilise PostAsset model to target existed post's assets