date filter formatting
This commit is contained in:
parent
63f84b5ec2
commit
bd20394175
4 changed files with 44 additions and 3 deletions
36
src/filters/dateFilter.js
Normal file
36
src/filters/dateFilter.js
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
Stolen from https://stackoverflow.com/a/31615643
|
||||
via https://github.com/andy-piccalilli/hylia
|
||||
*/
|
||||
const appendSuffix = (n) => {
|
||||
var s = ['th', 'st', 'nd', 'rd'],
|
||||
v = n % 100
|
||||
return n + (s[(v - 20) % 10] || s[v] || s[0])
|
||||
}
|
||||
|
||||
module.exports = function dateFilter(value) {
|
||||
const dateObject = new Date(value)
|
||||
|
||||
const months = [
|
||||
'January',
|
||||
'February',
|
||||
'March',
|
||||
'April',
|
||||
'May',
|
||||
'June',
|
||||
'July',
|
||||
'August',
|
||||
'September',
|
||||
'October',
|
||||
'November',
|
||||
'December'
|
||||
]
|
||||
// fixes off by one day error
|
||||
let datePlusOne = dateObject.getDate() + 1
|
||||
|
||||
const dayWithSuffix = appendSuffix(dateObject.getDate())
|
||||
|
||||
return `${
|
||||
months[dateObject.getMonth()]
|
||||
} ${datePlusOne}, ${dateObject.getFullYear()}`
|
||||
}
|
||||
4
src/filters/w3DateFilter.js
Normal file
4
src/filters/w3DateFilter.js
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
module.exports = function w3cDate(value) {
|
||||
const dateObject = new Date(value)
|
||||
return dateObject.toISOString()
|
||||
}
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
---
|
||||
layout: base
|
||||
---
|
||||
|
||||
<p>« Back to posts</p>
|
||||
<article>
|
||||
<h2>{{ title }}</h2>
|
||||
<time>{{ date | dateFilter }}</time>
|
||||
{{ content | safe }}
|
||||
{% for tag in tags %}
|
||||
{% set tagUrl %}/tags/{{ tag | slug }}/{% endset %}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
{{ post.data.title }}
|
||||
</h2>
|
||||
</a>
|
||||
<time>
|
||||
{{ post.data.date }}
|
||||
<time datetime="{{ post.data.date | w3Date }}">
|
||||
{{ post.data.date | dateFilter }}
|
||||
</time>
|
||||
<p>
|
||||
{{ post.data.page.excerpt }}
|
||||
|
|
|
|||
Loading…
Reference in a new issue