This commit is contained in:
@@ -9,13 +9,13 @@ func renderArticles(context: ItemsRenderingContext<ArticleMetadata>) -> NodeConv
|
||||
let articlesPerYear = Dictionary(grouping: context.items, by: { dateFormatter.string(from: $0.date) })
|
||||
let sortedByYearDescending = articlesPerYear.sorted { $0.key > $1.key }
|
||||
|
||||
return ArticleGrid(
|
||||
articles: sortedByYearDescending,
|
||||
return baseRenderArticles(
|
||||
sortedByYearDescending,
|
||||
canocicalURL: "/articles/",
|
||||
title: "Articles",
|
||||
rssLink: "",
|
||||
extraHeader: "",
|
||||
header: yearHeader(_:)
|
||||
label: yearHeader(_:)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -74,6 +74,25 @@ private func yearHeader(_ year: String) -> Node {
|
||||
}
|
||||
}
|
||||
|
||||
private func baseRenderArticles(
|
||||
_ articles: [(key: String, value: [Item<ArticleMetadata>])],
|
||||
canocicalURL: String,
|
||||
title pageTitle: String,
|
||||
rssLink: String = "",
|
||||
extraHeader: NodeConvertible = Node.fragment([]),
|
||||
@NodeBuilder label: @escaping (String) -> Node = { _ in Node.fragment([]) }
|
||||
) -> NodeConvertible {
|
||||
ArticleGrid(
|
||||
articles: articles,
|
||||
canocicalURL: canocicalURL,
|
||||
title: pageTitle,
|
||||
rssLink: rssLink,
|
||||
extraHeader: extraHeader
|
||||
) { key in
|
||||
label(key)
|
||||
}
|
||||
}
|
||||
|
||||
private func baseRenderArticles(
|
||||
_ articles: (key: String, value: [Item<ArticleMetadata>]),
|
||||
canocicalURL: String,
|
||||
|
||||
Reference in New Issue
Block a user