.AddDate
Syntax
.AddDate YEARS MONTHS DAYS
The AddDate
function takes three arguments in logical order of years
, months
, and days
.
Example: Randomized Tweets from the Last 2 Years
Let’s assume you have a file at data/tweets.toml
that contains a list of Tweets to display on your site’s homepage. The file is filled with [[tweet]]
blocks; e.g.—
data/tweets.
tweet:
- date: "2017-01-07T00:00:00Z"
link: https://twitter.com/spf13
name: Steve Francia
quote: 'I''m creator of Hugo. #metadocreference'
twitter_handle: '@spf13'
[[tweet]]
date = '2017-01-07T00:00:00Z'
link = 'https://twitter.com/spf13'
name = 'Steve Francia'
quote = "I'm creator of Hugo. #metadocreference"
twitter_handle = '@spf13'
{
"tweet": [
{
"date": "2017-01-07T00:00:00Z",
"link": "https://twitter.com/spf13",
"name": "Steve Francia",
"quote": "I'm creator of Hugo. #metadocreference",
"twitter_handle": "@spf13"
}
]
}
Let’s assume you want to grab Tweets from the last two years and present them in a random order. In conjunction with the where
and now
functions, you can limit our range to the last two years via now.AddDate -2 0 0
, which represents a point in time 2 years, 0 months, and 0 days before the time of your last site build.
partials/templates/random-tweets.html
{{ range where $.Site.Data.tweets.tweet "date" "ge" (now.AddDate -2 0 0) | shuffle }}
<div class="item">
<blockquote>
<p>
{{ .quote | safeHTML }}
</p>
— {{ .name }} ({{ .twitter_handle }}) <a href="{{ .link }}">
{{ dateFormat "January 2, 2006" .date }}
</a>
</blockquote>
</div>
{{ end }}