diff --git a/content/content-management/comments.md b/content/content-management/comments.md index 163534e3f..f1bc249b1 100644 --- a/content/content-management/comments.md +++ b/content/content-management/comments.md @@ -14,15 +14,15 @@ toc: true wip: true --- -As Hugo is a static site generator, the content produced is static and doesn't allow for a high degree of interaction with the website's end users. The most common interaction people ask for in static websites is the ability to add comments. +The most common interaction people ask for in static websites is the ability to add comments. Hugo ships with support for [Disqus](https://disqus.com/), a third-party service that provides comment and community capabilities to websites via JavaScript. -Your theme may already support Disqus, but even it if doesn’t, it is easy to add. +Your theme may already support Disqus. If not, it is easy to add. -## Disqus +## Adding Disqus -Hugo comes with all the code you need to include load [Disqus][], a popular commenting service for both static and dynamic websites. +Hugo comes with all the code you need to load Disqus into your templates. Before adding Disqus to your site, you'll need to [set up an account][disqussetup]. ### Configuring Disqus @@ -57,17 +57,21 @@ There are a few alternatives to commenting on static sites for those who do not * [多说](http://duoshuo.com/) ([Duoshuo](http://duoshuo.com/), popular in China) * [isso](http://posativ.org/isso/) (Self-hosted, Python) * [Tutorial on Implementing Isso with Hugo][issotutorial] -* [Kaiju](https://github.com/spf13/kaiju) -## Kaiju + + + + + [configuration]: /getting-started/configuration/ +[disqussetup]: https://disqus.com/profile/signup/ [forum]: https://discuss.gohugo.io [front matter]: /content-management/front-matter/ [kaijuissue]: https://github.com/spf13/kaiju/issues/new diff --git a/content/functions/dateformat.md b/content/functions/dateformat.md index cc5161a89..8a6cefcc8 100644 --- a/content/functions/dateformat.md +++ b/content/functions/dateformat.md @@ -2,7 +2,7 @@ title: dateFormat linktitle: description: Converts the textual representation of the `datetime` into the specified format. -godocref: +godocref: https://golang.org/pkg/time/ date: 2017-02-01 publishdate: 2017-02-01 lastmod: 2017-02-01 @@ -11,7 +11,7 @@ tags: [dates,time,strings] signature: workson: [] hugoversion: -relatedfuncs: [now,Unix] +relatedfuncs: [Format,now,Unix,time] deprecated: false --- @@ -21,3 +21,9 @@ deprecated: false {{ dateFormat "Monday, Jan 2, 2006" "2015-01-21" }} → "Wednesday, Jan 21, 2015" ``` +{{% warning %}} +As of v0.19 of Hugo, the `dateFormat` function is *not* supported as part of Hugo's [multilingual feature](/content-management/multilingual/). +{{% /warning %}} + +See the [`Format` function](/functions/format/) for a more complete list of date formatting options in your templates. + diff --git a/content/functions/format.md b/content/functions/format.md new file mode 100644 index 000000000..533b8d9a5 --- /dev/null +++ b/content/functions/format.md @@ -0,0 +1,122 @@ +--- +title: format +linktitle: Format +description: Formats built-in Hugo dates---`.Date`, `.PublishDate`, and `.LastMod`---according to Go's layout string. +godocref: https://golang.org/pkg/time/#example_Time_Format +date: 2017-02-01 +publishdate: 2017-02-01 +lastmod: 2017-02-01 +categories: [functions] +tags: [dates,time] +signature: +workson: [] +hugoversion: +relatedfuncs: [dateFormat,now,Unix,time] +deprecated: false +aliases: [] +--- + +`Format` will format date values defined in your front matter. `.Format` and can be used as a property on the following [page variables][pagevars]: + +* `.PublishDate` +* `.Date` +* `.LastMod` + +Assuming a key-value of `date: 2017-03-03` in a content file's front matter, your can run the date through `.Format` followed by a layout string for your desired output at build time: + +```golang +{{ .PublishDate.Format "January 2, 2006" }} => March 3, 2017 +``` + +For formatting *any* string representations of dates defined in your front matter, see the [`dateFormat` function][dateFormat]. + +## Go's Layout String + +Hugo templates [format your dates][time] via layout strings that point to a specific reference time: + +``` +Mon Jan 2 15:04:05 MST 2006 +``` + +While this may seem arbitrary, the numerical value of `MST` is `07`, thus making the layout string a sequence of numbers. + +Here is a visual explanation [taken directly from the Go docs][gdex]: + +``` + Jan 2 15:04:05 2006 MST +=> 1 2 3 4 5 6 -7 +``` + +### Hugo Date and Time Templating Reference + +The following examples show the layout string followed by the rendered output. + +The examples were rendered and tested in [CST][] and all point to the same field in a content file's front matter: + +``` +date: 2017-03-03T14:15:59-06:00 +``` + +`.Date` (i.e. called via [page variable][pagevars]) +: **Returns**: `2017-03-03 14:15:59 -0600 CST` + +`"Monday, January 2, 2006"` +: **Returns**: `Friday, March 3, 2017` + +`"Mon Jan 2 2006"` +: **Returns**: `Fri Mar 3 2017` + +`"January 2nd"` +: **Returns**: `March 3rd` + +`"January 2006"` +: **Returns**: `March 2017` + +`"2006-01-02"` +: **Returns**: `2017-03-03` + +`"Monday"` +: **Returns**: `Friday` + +`"02 Jan 06 15:04 MST"` (RFC822) +: **Returns**: `03 Mar 17 14:15 CST` + +`"02 Jan 06 15:04 -0700"` (RFC822Z) +: **Returns**: `03 Mar 17 14:15 -0600` + +`"Mon, 02 Jan 2006 15:04:05 MST"` (RFC1123) +: **Returns**: `Fri, 03 Mar 2017 14:15:59 CST` + +`"Mon, 02 Jan 2006 15:04:05 -0700"` (RFC339) +: **Returns**: `Fri, 03 Mar 2017 14:15:59 -0600` + +### Cardinal Numbers and Ordinal Abbreviations + +Spelled-out cardinal numbers (e.g. "one", "two", and "three") and ordinal abbreviations (e.g. "1st", "2nd", and "3rd") are not currently supported: + + +``` +{{.Date.Format "Jan 2nd 2006"}} +``` + +Hugo assumes you want to append `nd` as a string to the day of the month and outputs the following: + +``` +Mar 3nd 2017 +``` + +### Using `.Local` and `.UTC` + +In conjunction with the [`dateFormat` function][dateFormat], you can also convert your dates to `UTC` or to local timezones: + +`{{ dateFormat "02 Jan 06 15:04 MST" .Date.UTC }}` +: **Returns**: `03 Mar 17 20:15 UTC` + +`{{ dateFormat "02 Jan 06 15:04 MST" .Date.Local }}` +: **Returns**: `03 Mar 17 14:15 CST` + +[CST]: https://en.wikipedia.org/wiki/Central_Time_Zone +[dateFormat]: /functions/dateformat/ +[gdex]: https://golang.org/pkg/time/#example_Time_Format +[pagevars]: /variables/page-variables/ +[time]: https://golang.org/pkg/time/ \ No newline at end of file diff --git a/content/functions/plainify.md b/content/functions/plainify.md index 8de5924ee..cb255fb33 100644 --- a/content/functions/plainify.md +++ b/content/functions/plainify.md @@ -21,3 +21,5 @@ aliases: [] ``` {{ "BatMan" | plainify }} → "BatMan" ``` + + diff --git a/content/functions/unix.md b/content/functions/unix.md index e4bb28f0a..6da87bd63 100644 --- a/content/functions/unix.md +++ b/content/functions/unix.md @@ -11,7 +11,7 @@ categories: [functions] signature: workson: [] hugoversion: -relatedfuncs: [] +relatedfuncs: [Format,dateFormat,now,time] deprecated: false aliases: [] --- diff --git a/content/news/press-and-articles.md b/content/news/press-and-articles.md index bd56b05d0..b3f6ec92f 100644 --- a/content/news/press-and-articles.md +++ b/content/news/press-and-articles.md @@ -22,6 +22,7 @@ Hugo has been featured in the following Blog Posts, Press, and Media. | Title | Author | Date | | ----- | ------ | -----: | +| [Adding Isso Comments to Hugo](https://stiobhart.net/2017-02-24-isso-comments/) | Stíobhart Matulevicz | 2017-02-24 | | [Zero to HTTP/2 with AWS and Hugo](https://habd.as/zero-to-http-2-aws-hugo/) | Josh Habdas | 2017-02-16 | | [How to Password Protect a Hugo Site](https://www.aerobatic.com/blog/password-protect-a-hugo-site/) | Aerobatic | 2017-02-19 | | [Switching from Wordpress to Hugo](http://schnuddelhuddel.de/switching-from-wordpress-to-hugo/) | http://schnuddelhuddel.de/ | 2017-02-19 | ] @@ -35,7 +36,7 @@ Hugo has been featured in the following Blog Posts, Press, and Media. | [Embedding Facebook In A Hugo Template](https://stoned.io/web-development/hugo/Embedding-Facebook-In-A-Hugo-Template/) | Hash Borgir | 2016-10-22 | | [通过 Gitlab-cl 将 Hugo blog 自动部署至 GitHub](https://zetaoyang.github.io/post/2016/10/17/gitlab-cl.html) (Chinese, Continious integration) | Zetao Yang | 2016-10-17 | | [A Step-by-Step Guide: Hugo on Netlify](https://www.netlify.com/blog/2016/09/21/a-step-by-step-guide-hugo-on-netlify/) | Eli Williamson | 2016-09-21 | -| [Building our site: From Django & Wordpress to a static generator (Part I)](https://tryolabs.com/blog/2016/09/20/building-our-site-django-wordpress-to-static-part-i/) | Alan Descoins | 20 Sep 2016 | +| [Building our site: From Django & Wordpress to a static generator (Part I)](https://tryolabs.com/blog/2016/09/20/building-our-site-django-wordpress-to-static-part-i/) | Alan Descoins | 2016-09-20 | | [Webseitenmaschine - Statische Websites mit Hugo erzeugen](http://www.heise.de/ct/ausgabe/2016-12-Statische-Websites-mit-Hugo-erzeugen-3211704.html) (German, $) | Christian Helmbold | 2016-05-27 | | [Cómo hacer sitios web estáticos con Hugo y Go - Platzi](https://www.youtube.com/watch?v=qaXXpdiCHXE) (Video tutorial) | Verónica López | 2016-04-06 | | [CDNOverview: A CDN comparison site made with Hugo](https://www.cloakfusion.com/cdnoverview-cdn-comparison-site-made-hugo/) | Thijs de Zoete | 2016-02-23 | @@ -43,7 +44,7 @@ Hugo has been featured in the following Blog Posts, Press, and Media. | [Minify Hugo Generated HTML](http://ratson.name/blog/minify-hugo-generated-html/) | Ratson | 2016-02-02 | | [Static site generators: el futuro de las webs estáticas
(Hugo, Jekyll, Flask y otros)](http://sitelabs.es/static-site-generators-futuro-las-webs-estaticas/) | Eneko Sarasola | 2016-01-09 | | [Writing a Lambda Function for Hugo](https://blog.jolexa.net/post/writing-a-lambda-function-for-hugo/) | Jeremy Olexa | 2016-01-01 | -| [Ein Blog mit Hugo erstellen - Tutorial](http://privat.albicker.org/tags/hugo.html) (Deutsch/German) | Bernhard Albicker | 30 Dec 2015 | +| [Ein Blog mit Hugo erstellen - Tutorial](http://privat.albicker.org/tags/hugo.html) (Deutsch/German) | Bernhard Albicker | 2015-12-30 | | [How to host Hugo static website generator on AWS Lambda](http://bezdelev.com/post/hugo-aws-lambda-static-website/) | Ilya Bezdelev | 2015-12-15 | | [Migrating from Pelican to Hugo](http://www.softinio.com/post/migrating-from-pelican-to-hugo/) | Salar Rahmanian | 2015-11-29 | | [Hugo + Uberspace + Git = Hubergit — eine Anleitung (German)](https://harms-ensink.name/post/hubergit/) | Christoph Harms-Ensink | 2015-11-24 | @@ -102,8 +103,8 @@ Hugo has been featured in the following Blog Posts, Press, and Media. | [Hosting A Hugo Website Behind Nginx](http://www.bigbeeconsultants.co.uk/blog/hosting-hugo-website-behind-nginx) | Rick Beton | 2014-11-20 | | [使用Hugo搭建免费个人Blog (How to use Hugo)](http://ulricqin.com/post/how-to-use-hugo/) | Ulric Qin 秦晓辉 | 2014-11-11 | | [Built in Speed and Built for Speed by Hugo](http://cheekycoder.com/2014/10/built-for-speed-by-hugo/) | Cheeky Coder | 2014-10-30 | -| [hugo, syncthing](http://fredix.ovh/2014/10/hugo-syncthing/) | Frédéric Logier | 13 Oct 2014 | -| [Hugo para crear sitios web estáticos](http://www.webbizarro.com/noticias/1076/hugo-para-crear-sitios-web-estaticos/) | Web Bizarro | 19 Aug 2014 | +| [hugo, syncthing](http://fredix.ovh/2014/10/hugo-syncthing/) | Frédéric Logier | 2014-10-13 | +| [Hugo para crear sitios web estáticos](http://www.webbizarro.com/noticias/1076/hugo-para-crear-sitios-web-estaticos/) | Web Bizarro | 2014-08-19 | | [Going with hugo](http://www.markuseliasson.se/article/going-with-hugo/) | Markus Eliasson | 2014-08-18 | | [Benchmarking Jekyll, Hugo and Wintersmith](http://fredrikloch.me/post/2014-08-12-Jekyll-and-its-alternatives-from-a-site-generation-point-of-view/) | Fredrik Loch | 2014-08-12 | | [Goodbye Octopress, Hello Hugo!](http://andreimihu.com/blog/2014/08/11/goodbye-octopress-hello-hugo/) | Andrei Mihu | 2014-08-11 | @@ -111,11 +112,11 @@ Hugo has been featured in the following Blog Posts, Press, and Media. | [Hugo: Beyond the Defaults](http://npf.io/2014/08/hugo-beyond-the-defaults/) | Nate Finch | 2014-08-08 | | [First Impressions of Hugo](https://peteraba.com/blog/first-impressions-of-hugo/) | Peter Aba | 2014-06-06 | | [New Site Workflow](http://vurt.co.uk/post/new_website/) | Giles Paterson | 2014-08-05 | -| [How I Learned to Stop Worrying and Love the (Static) Web](http://cognition.ca/post/about/) | Joshua McKenty | 2014-08-4 | +| [How I Learned to Stop Worrying and Love the (Static) Web](http://cognition.ca/post/about/) | Joshua McKenty | 2014-08-04 | | [Hugo - Static Site Generator](http://kenwoo.io/blog/hugo---static-site-generator/) | Kenny Woo | 2014-08-03 | | [Hugo Is Friggin' Awesome](http://npf.io/2014/08/hugo-is-awesome/) | Nate Finch | 2014-08-01 | | [再次搬家 (Move from WordPress to Hugo)](http://www.chingli.com/misc/move-from-wordpress-to-hugo/) | 青砾 (chingli) | 2014-07-12 | -| [Embedding Gists in Hugo](http://danmux.com/posts/embedded_gists/) | Dan Mull | 2014-07-5 | +| [Embedding Gists in Hugo](http://danmux.com/posts/embedded_gists/) | Dan Mull | 2014-07-05 | | [An Introduction To Hugo](http://www.cirrushosting.com/web-hosting-blog/an-introduction-to-hugo/) | Dan Silber | 2014-07-01 | | [Moving to Hugo](http://danmux.com/posts/hugo_based_blog/) | Dan Mull | 2014-05-29 | | [开源之静态站点生成器排行榜
(Leaderboard of open-source static website generators)](http://code.csdn.net/news/2819909) | CSDN.net | 2014-05-23 | diff --git a/content/readfiles/dateformatting.md b/content/readfiles/dateformatting.md new file mode 100644 index 000000000..7094a75ea --- /dev/null +++ b/content/readfiles/dateformatting.md @@ -0,0 +1,87 @@ +Go templates [format your dates][time] according to a single reference time: + +``` +Mon Jan 2 15:04:05 MST 2006 +``` + +You can think of `MST` as `07`, thus making the reference format string a sequence of numbers. The following is [taken directly from the Go docs][gdex]: + +``` +Jan 2 15:04:05 2006 MST + 1 2 3 4 5 6 -7 +``` + +### Hugo Date Templating Reference + +Each of the following examples show the reference formatting string followed by the string Hugo will output in your HTML. + +Note that the examples were rendered and tested in [CST][] and pull from a single example date you might have in your content's front matter: + +``` +date: 2017-03-03T14:15:59-06:00 +``` + +`.Date` (i.e. called via [page variable][pagevars]) +: **Returns**: `2017-03-03 14:15:59 -0600 CST` + +`"Monday, January 2, 2006"` +: **Returns**: `Friday, March 3, 2017` + +`"Mon Jan 2 2006"` +: **Returns**: `Fri Mar 3 2017` + +`"January 2nd"` +: **Returns**: `March 3rd` + +`"January 2006"` +: **Returns**: `March 2017` + +`"2006-01-02"` +: **Returns**: `2017-03-03` + +`"Monday"` +: **Returns**: `Friday` + +`"02 Jan 06 15:04 MST"` (RFC822) +: **Returns**: `03 Mar 17 14:15 CST` + +`"02 Jan 06 15:04 -0700"` (RFC822Z) +: **Returns**: `03 Mar 17 14:15 -0600` + +`"Mon, 02 Jan 2006 15:04:05 MST"` (RFC1123) +: **Returns**: `Fri, 03 Mar 2017 14:15:59 CST` + +`"Mon, 02 Jan 2006 15:04:05 -0700"` (RFC339) +: **Returns**: `Fri, 03 Mar 2017 14:15:59 -0600` + +### Cardinal Numbers and Ordinal Abbreviations + +Spelled-out cardinal numbers (e.g. "one", "two", and "three") and ordinal abbreviations (e.g. "1st", "2nd", and "3rd") are not currently supported. + +To continue with the example above: + +``` +{{.Date.Format "Jan 2nd 2006"}} +``` + +Hugo assumes you want to append `nd` as a string to the day of the month and outputs the following: + +``` +Mar 3nd 2017 +``` + +### Using `.Local` and `.UTC` + +In conjunction with the [`dateFormat` function][dateFormat], you can also convert your dates to `UTC` or to local timezones: + +`{{ dateFormat "02 Jan 06 15:04 MST" .Date.UTC }}` +: **Returns**: `03 Mar 17 20:15 UTC` + +`{{ dateFormat "02 Jan 06 15:04 MST" .Date.Local }}` +: **Returns**: `03 Mar 17 14:15 CST` + +[CST]: https://en.wikipedia.org/wiki/Central_Time_Zone +[dateFormat]: /functions/dateformat/ +[gdex]: https://golang.org/pkg/time/#example_Time_Format +[pagevars]: /variables/page-variables/ +[time]: https://golang.org/pkg/time/ \ No newline at end of file