【问题标题】:Hexo: How to retrieve post asset folder inside a custom tagHexo:如何在自定义标签中检索帖子资产文件夹
【发布时间】:2018-03-31 15:56:44
【问题描述】:

我正在创建一个自定义标记以在帖子中插入更高级的图像 html 代码。

我找不到在自定义标签内引用帖子资产文件夹的方法。
在 Markdown 中,我们有 sn-p {%asset_path image_name %} 检索帖子图像的完整路径。
我会在自定义标签 js 文件中拥有相同的内容。

我在 hexo 网站文档中找不到有用的东西。

任何帮助将不胜感激。

编辑:经过进一步分析,我意识到除了将帖子资产路径作为函数参数传递之外,没有办法在自定义标签中引用帖子资产文件夹。
所以新的问题是,是否可以在自定义标签 sn-p 中使用 {%asset_path %} 标签,例如 {% image_p 'img_name.jpg' 'param2' 'param3' 'asset folder tag' %} ?

彼得罗

【问题讨论】:

    标签: hexo


    【解决方案1】:

    这是一篇旧帖子 - 但想用更好的答案更新它。除其他外,“this”对象有一个名为 permalink 的字段,您可以使用它。如果您使用它,您可以执行以下操作:

    this.path+'cat.jpg'

    https://github.com/hexojs/hexo/issues/2305

    【讨论】:

      【解决方案2】:

      我建议你使该路径可配置并使用类似的东西:

      <img src="<%- config.asset_folder_root %><%- item.image_path %>" />
      

      编辑:

      如果您为每个帖子都有一个资产文件夹,您可以将自定义属性添加到您的前端。所以对于每个post.md,一开始你会有这样的东西:

      title: Hello World
      date: 2013/7/13 20:46:25
      asset_folder: /dummy/path/to/folder
      ---
      
      [... your blog post content ...]
      

      然后您可以使用item.asset_folder 在模板中的任何位置重用该属性的访问:

      <img src="<%- item.asset_folder %><%- item.image_path %>" />
      

      【讨论】:

      • 不幸的是,我的博客的每篇文章都有一个资产文件夹,所以我至少需要文章的标题(与文章资产文件夹相同)。是否可以在自定义标签中检索帖子标题?
      • 感谢您的回答!我必须编写一个自定义标签(它是脚本文件夹中的一个 js 文件),而不是模板。查看我的编辑。
      • 我明白了。是的,您可以将其作为参数传递或对资产文件夹结构进行某种约定。很高兴我能帮上忙
      猜你喜欢
      • 2016-12-24
      • 1970-01-01
      • 2014-04-23
      • 2018-02-13
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 2018-04-20
      相关资源
      最近更新 更多