Images
直接调用
images
作为一个 namespace 存在之外,也可以直接被调用。示例:
for image in images
h2= image.title
img(src=image.url)
此时的 images
对应的含义如下:
- 如果URL 以
/category/
开始,则对应当前路径下的目录的子图片列表 - 其余情况,均为当前站点的图片列表(默认按时间倒序)
获取图片与列表
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 对象。