With a flexible data model, provided by Contentful, I’ve added a new date input to my blogpost model. At first, I tried to get something like an internal or predefined
publishDate provided by Contentful. It turned out to be harder than I expected at first.
With a new date input in place, I was able to render a machine-optimized version of a date to my page. The next step was adding a proper
<time> tag to every post. With a
<time> tag and the corresponding date-time attribute, I have new opportunities. I now can render both a human-readable and a machine optimized version of a date to every post.
After that, I rendered the machine-optimized date from Contentful inside the datetime attribute. For the human-readable side of things, I’ve added moment.js to my project.
With the power of
moment.js, I've added a
moment(DATE_FROM_CONTENTFUL).format("dddd, MMMM Do YYYY") function call. With that in place, I can now also render an optimized date formatting for humans. The result of this specific formatting is now present in every post.