是否可以检查当前页面是否属于某个集合?如果是这样,我可以检查收藏的标签是什么吗?
背景故事: 我想要达到的目的是为属于集合的所有页面显示不同的布局。使用这种新布局,我想显示一个侧面导航(某种形式的“另请参阅”),其中列出了当前站点所属的集合中的所有页面。
如果我的问题变得愚蠢–请原谅,我是jekyll的新手,我真的想自己找出答案。
答案 0 :(得分:3)
任何收集文档都有一个protocol APIClient {
var session: URLSession { get }
func call<T: Codable>(route: EndPointType, completion: @escaping (Result<T>) -> Void) -> Void
func cancel() -> Void
}
extension APIClient {
var session: URLSession {
return URLSession.shared
}
func call<T: Codable>(route: EndPointType, completion: @escaping (Result<T>) -> Void) -> Void {
do {
let request = try constructRequest(from: route)
execute(with: request, completion: completion)
} catch {
print("something went wrong....")
}
}}
变量,它是收集标签。
但是,如果要将特定布局与集合相关联,则可以使用default configuration:
page.collection
答案 1 :(得分:2)
page.collection
返回文档所属集合的标签。所以我想你想做类似的事情:
{% if page.collection == 'COLLECTION_LABEL' %}
NEW LAYOUT
{% else %}
OLD LAYOUT
{% endif %}
要访问集合中的页面,可以将标签与site.COLLECTION_LABEL
或site[COLLECTION_LABEL]
一起使用(如果它是变量,则需要[]
)。像这样:
{% for page in site[page.collection] %}
<a href="{{ page.url }}">{{ page.title }}</a>
{% endfor %}