get_data能否根据文章metadata来get对应的文章

Hi Hepo!

自定义模板的时候遇到了一个小问题,如果我自定义了一个metadata,然后希望在归档页根据这个metadata来进行分类,可以实现吗?get_data生成目录的时候应该怎么写呢?

谢谢!

2017-10-30 10:47 from Muyun Xiao
Comments
Write a Comment
  • Muyun Xiao reply

    @Hepo ……感觉自己语文不好,做点补充说明,囧:

    假设我有一个metadata名称叫key,值有value1、value2、value3

    然后希望访问/key/value1的时候,能显示站点所有文章里,key值为value1的文章(就好像访问/tag/tag1的时候显示所有站点文章里tag为tag1的文章一样)

    但是tags是直接调用posts了,显然自定义的key要自己把文章分拣出来……

    但是看了一下d.get_data接受的参数,要么是按照文件夹检索的,要么是按照时间检索的,有没有可能像tags一样,在全站内检索一个自定义的metadata,拿到对应的文章列表?

    • Hepo reply

      @Muyun Xiao, 这个实现不了,不是所有字段都可以被索引的,而没有索引的查询是性能极低的。 建议可以使用 status、path 这些可查询的属性进行改造。

    • Hepo reply

      @Muyun Xiao, 或者使用 tags 也可以呀, 比如 tags: __xxxx 这种特别标记的, 一来不要在全局的网站 tag 呈现中显示, 二来也可以作为 filter 来用。

      • Muyun Xiao reply

        @Hepo 喔!原来还可以这样!我明白了,谢谢Hepo!

      • Muyun Xiao reply

        @Hepo “不要在全局的网站 tag 呈现中显示”这个是要怎么实现呢……目前见过的模板代码里好像都没有针对Tags的形式做判断的语句Orz,刚试了一下默认“___xxxx”还是会显示出来的……

        • Hepo reply

          @Muyun Xiao, 自己判断呀, if not tag_name.startswith('__')

          • Muyun Xiao reply

            @Hepo Get!谢谢谢谢~~