Images

直接调用

images作为一个 namespace 存在之外,也可以直接被调用。示例:

for image in images
    h2= image.title
    img(src=image.url)

此时的 images 对应的含义如下:

  1. 如果URL 以/category/开始,则对应当前路径下的目录的子图片列表
  2. 其余情况,均为当前站点的图片列表(默认按时间倒序)

获取图片与列表

get_recent (同get_recent_images)

作用: 获得最近的图片列表,该函数调用不会产生分页对象。
返回值类型: list
接收参数: <limit=8>
示例:

recent_images = images.get_recent(10)
recent_images = images.get_recent(limit=10)

recent_<\d+>

这是对get_recent的快捷对应。比如get_recent 的代码示例也可以写成

recent_images = images.recent_10

get_one (同find_one)

作用: 获得单张图片
接收参数: path
返回类型: Image or None
示例:

my_image = images.get_one("hello.png")

get_categories

作用: 可以获得文件夹的数据对象,一般可作为目录(相册)、分类
接受参数: <path='', level=None, sort='position'>
返回类型: list
说明:

  • path: 位于某个路径下的文件夹,默认是位于
  • level: 配合path使用的,表示所查询path的深度,默认不指定。如果level=1,表示仅查询到其子目录,level=2,则仅查询子目录的子目录;也接受[2,3]这样形式的值,表示查询所有2级以及3级的目录,但不包含更深的路径,也不包含1级子目录。另外接受>n或者<n 类型的参数,比如>1,表示2级目录或以上。
  • sort: 最终返回的数据列表的排序方式

注意: images.get_categories 这个 namespace 下获得的文件夹,必然是包含1张及以上的图片

to_category

作用: 将一个原始的文档数据,转为Category类型的对象。

get_paginator

作用: 根据指定的 paginator 的 name,获得对应的分页对象。
返回类型: paginator

set_min_per_page

可以限定获取文章列表时,保证每页数最小值;接受一个整数型参数。

set_under

作用: 可以在初次调用images时,进行for循环等操作的时候,可以指定位于某个文件夹下,默认为整个站点目录下(即全局)。
接收参数: <under>,其中under必须是一个字符串,代表某个具体的路径。


其它变量

all

所有的图片列表,产生分页对象(名为"all_images")。

image

作用: 当前页面自动匹配到的图片对象
类型: Image or None
距离说明:

// 假设 当前 URL 是 /xxx_any/this/is_image.png
// 并且 /this/is_image.png 有对应的图片,那么下行代码中的 im 将对应到这张图片的数据对象
im = images.image

all_categories

作者: 返回当前站点内所有文件夹的数据对象
数据类型: list

categories

作用: 一般用作获取相册列表
返回数据类型: list
规则对应: 获得根目录下1-2级的文件夹,并且每个文件夹需保证其所包含的图片数>=1.

注意: 最多返回300条数据,且不产生分类对象;比较复杂的场景,可以自行使用d.get_data构建数据获取的逻辑。

sub_categories

作用: 如果当前images.category能获得数据,则获取其子目录列表(要求图片数>=1)
返回数据类型: list,每个元素为Category对象

category

作用: 根据当前 URL,匹配到对应的文件夹目录
返回数据类型: category or None
示例说明: (当前 url 为 /xxx/hello)

cat = images.cateogry
// 如果有一个目录名为`hello`, 则 cat 是一个文件夹数据对象,反之则是 None 值

pager (同 paginator)

作用: 根据当前 images 列表调用,自动对应到的分页对象。
注意: 如果 API 调用,对分页对象的处理跨行比较明显的,可以另行使用get_paginator进行获取,以避免不必要的数据冲突。

context_doc

上下文对象,也即当前页面所呈现对应的图片的数据对象

next_one

(按照图片日期,推算发表日期晚于当前图片的上下文对象的)下一张图片

previous_one

(按照文章日期,推算发表日期晚于当前图片的上下文对象的)上一张图片

current_folder_next_one

类似next_one, 但仅仅匹配当前上下文对象所在文件夹内的数据

current_folder_previous_one

类似previous_one, 但仅仅匹配当前上下文对象所在文件夹内的数据

其它函数

unsplash

作用: 可以从 unsplash.com 上随机获取一张图片,同时数据会保存到当前网站中,以加快加载速度。
接受参数: <width=1800, height=1200, save_to='_cache/unsplash', collection='random', max_images=5, as_url=False>
返回数据类型: Image or String

各参数说明:

  • width & height: 是指 unsplash.com 上指定的原图大小,一般不需要设置
  • save_to: 指定获取到的图片保存到当前站点下的哪个目录
  • max_images: 最多获取多少张图片,当达到最大数量后,就不再下载新图片,而从已存在的图库中随机选取一张
  • collection: 默认是random,表示随机;也可以自己在unsplash上创建一个Collection,获得对应的collection id,一般类似1112222之类的整数。
  • as_url: 如果是 True,最终结果返回的图片的URL,反之则是Image 对象。