This commit is contained in:
@@ -54,6 +54,29 @@ extension Item where M == ArticleMetadata {
|
||||
}
|
||||
}
|
||||
|
||||
extension Array where Element == Item<ArticleMetadata> {
|
||||
|
||||
func years() -> Set<String> {
|
||||
let dateFormatter = DateFormatter()
|
||||
dateFormatter.dateFormat = "yyyy"
|
||||
return reduce(into: Set()) { set, item in
|
||||
let date = dateFormatter.string(from: item.getDate())
|
||||
set.insert(date)
|
||||
if let updatedDate = item.getUpdatedDate() {
|
||||
set.insert(dateFormatter.string(from: updatedDate))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func uniqueTags() -> Set<String> {
|
||||
reduce(into: Set()) { set, item in
|
||||
for tag in item.metadata.tags {
|
||||
set.insert(tag)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: Most of these are taken from https://github.com/loopwerk/loopwerk.io
|
||||
|
||||
extension String {
|
||||
|
||||
Reference in New Issue
Block a user