generated from inherentlee/11ty
event stuff
This commit is contained in:
1 parent
b463067efb
commit
6e100e7b2c
4 files changed
+39
-2
No files matched your search
@@ -18,11 +18,13 @@ export default function (eleventyConfig) {
|
|||||||
return collection.slice(0, n);
|
return collection.slice(0, n);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Check if a dateTime happened before the current dateTime */
|
||||||
eleventyConfig.addFilter("inThePast", (dateString) => {
|
eleventyConfig.addFilter("inThePast", (dateString) => {
|
||||||
if (DateTime.fromISO(dateString) < DateTime.now()) return true;
|
if (DateTime.fromISO(dateString) < DateTime.now()) return true;
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Check if dates occurred on the same day */
|
||||||
eleventyConfig.addFilter("dateStringsEqual", (dateString1, dateString2) => {
|
eleventyConfig.addFilter("dateStringsEqual", (dateString1, dateString2) => {
|
||||||
const date1 = DateTime.fromISO(dateString1);
|
const date1 = DateTime.fromISO(dateString1);
|
||||||
const date2 = DateTime.fromISO(dateString2);
|
const date2 = DateTime.fromISO(dateString2);
|
||||||
@@ -61,6 +63,13 @@ export default function (eleventyConfig) {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Human-readable dates with times */
|
||||||
|
eleventyConfig.addFilter("readableDateTime", (dateString, zone) => {
|
||||||
|
return DateTime.fromISO(dateString, { zone: zone || "utc" }).toLocaleString(
|
||||||
|
DateTime.DATETIME_MED_WITH_WEEKDAY,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
/* Filter out structural tags */
|
/* Filter out structural tags */
|
||||||
eleventyConfig.addFilter("removeBasicTags", (tags) => {
|
eleventyConfig.addFilter("removeBasicTags", (tags) => {
|
||||||
return tags.filter((tag) => ["all"].indexOf(tag) === -1);
|
return tags.filter((tag) => ["all"].indexOf(tag) === -1);
|
||||||
@@ -70,4 +79,10 @@ export default function (eleventyConfig) {
|
|||||||
eleventyConfig.addFilter("sortAlphabetically", (strings) =>
|
eleventyConfig.addFilter("sortAlphabetically", (strings) =>
|
||||||
(strings || []).sort((b, a) => b.localeCompare(a)),
|
(strings || []).sort((b, a) => b.localeCompare(a)),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Sort by date field (note: NOT datePosted, dateUpdated) */
|
||||||
|
eleventyConfig.addFilter("sortByDate", (collection) => {
|
||||||
|
collection.sort((b, a) => DateTime.fromISO(b.data.date) < DateTime.fromISO(a.data.date));
|
||||||
|
return collection;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
@@ -4,9 +4,9 @@ layout: page.njk
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
{% if date | inThePast %}
|
{% if date | inThePast %}
|
||||||
Occurred at <time datetime="{{ date | htmlDateString }}">{{ date | readableDate }}</time>
|
Occurred at <time datetime="{{ date | htmlDateString }}">{{ date | readableDateTime }}</time>
|
||||||
{% else %}
|
{% else %}
|
||||||
Occuring at <time datetime="{{ date | htmlDateString }}">{{ date | readableDate }}</time>
|
Occuring at <time datetime="{{ date | htmlDateString }}">{{ date | readableDateTime }}</time>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: Calendar of Events
|
||||||
|
---
|
||||||
|
|
||||||
|
<h2>Upcoming events</h2>
|
||||||
|
|
||||||
|
{% for event in collections.events | sortByDate %}
|
||||||
|
{% if not event.data.date | inThePast %}
|
||||||
|
<p>{{ event.data.title }}</p>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<h2>Previous events</h2>
|
||||||
|
|
||||||
|
{% for event in collections.events | sortByDate | reverse %}
|
||||||
|
{% if event.data.date | inThePast %}
|
||||||
|
<p>{{ event.data.title }}</p>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
layout: "event.njk",
|
layout: "event.njk",
|
||||||
|
tags: [
|
||||||
|
"events"
|
||||||
|
]
|
||||||
};
|
};
|
||||||
Reference in new issue
Block a user