From 902a14a185d4836f9501808839cf4809c9be1c9d Mon Sep 17 00:00:00 2001 From: Jeremiah Valenzuela Date: Mon, 31 Jul 2017 06:59:22 -0500 Subject: [PATCH 01/11] Add missing word to pretty URLs explanation --- content/content-management/urls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/content-management/urls.md b/content/content-management/urls.md index 74f2f772e..262c73de2 100644 --- a/content/content-management/urls.md +++ b/content/content-management/urls.md @@ -190,7 +190,7 @@ content/posts/post-1.md ## Ugly URLs -If you would like to have are often referred to as "ugly URLs" (e.g., example.com/urls.html), set `uglyurls = true` or `uglyurls: true` in your site's `config.toml` or `config.yaml`, respectively. You can also use the `--uglyURLs=true` [flag from the command line][usage] with `hugo` or `hugo server`.. +If you would like to have what are often referred to as "ugly URLs" (e.g., example.com/urls.html), set `uglyurls = true` or `uglyurls: true` in your site's `config.toml` or `config.yaml`, respectively. You can also use the `--uglyURLs=true` [flag from the command line][usage] with `hugo` or `hugo server`.. If you want a specific piece of content to have an exact URL, you can specify this in the [front matter][] under the `url` key. The following are examples of the same content directory and what the eventual URL structure will be when Hugo runs with its default behavior. From 00f39bd78d83b66eaafe9f6e86a15bfd31cd2ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 31 Jul 2017 16:55:41 +0200 Subject: [PATCH 02/11] camelCase output format options Fixes #114 --- content/templates/output-formats.md | 24 +-- data/docs.json | 290 +++++++++++++++++----------- 2 files changed, 185 insertions(+), 129 deletions(-) diff --git a/content/templates/output-formats.md b/content/templates/output-formats.md index cf0a6b972..66958ff1d 100644 --- a/content/templates/output-formats.md +++ b/content/templates/output-formats.md @@ -26,7 +26,7 @@ A [media type][] (also known as *MIME type* and *content type*) is a two-part id This is the full set of built-in media types in Hugo: -{{< datatable "media" "types" "Type" "Suffix" >}} +{{< datatable "media" "types" "type" "suffix" >}} **Note:** @@ -55,7 +55,7 @@ Given a media type and some additional configuration, you get an `Output Format` This is the full set of Hugo's built-in output formats: -{{< datatable "output" "formats" "Name" "MediaType" "Path" "BaseName" "Rel" "Protocol" "IsPlainText" "IsHTML" "NoUgly">}} +{{< datatable "output" "formats" "name" "mediaType" "path" "baseName" "rel" "protocol" "isPlainText" "isHTML" "noUgly">}} * A page can be output in as many output formats as you want, and you can have an infinite amount of output formats defined **as long as they resolve to a unique path on the file system**. In the above table, the best example of this is `AMP` vs. `HTML`. `AMP` has the value `amp` for `Path` so it doesn't overwrite the `HTML` version; e.g. we can now have both `/index.html` and `/amp/index.html`. * The `MediaType` must match the `Type` of an already defined media type. @@ -77,34 +77,34 @@ The above example is fictional, but if used for the homepage on a site with `bas The following is the full list of configuration options for output formats and their default values: -`Name` +`name` : the output format identifier. This is used to define what output format(s) you want for your pages. -`MediaType` +`mediaType` : this must match the `Type` of a defined media type. -`Path` +`path` : sub path to save the output files. -`BaseName` +`baseName` : the base filename for the list filenames (homepage, etc.). **Default:** `index`. -`Rel` +`rel` : can be used to create `rel` values in `link` tags. **Default:** `alternate`. -`Protocol` +`protocol` : will replace the "http://" or "https://" in your `baseURL` for this output format. -`IsPlainText` +`isPlainText` : use Go's plain text templates parser for the templates. **Default:** `false`. -`IsHTML` +`isHTML` : used in situations only relevant for `HTML`-type formats; e.g., page aliases. -`NoUgly` +`noUgly` : used to turn off ugly URLs If `uglyURLs` is set to `true` in your site. **Default:** `false`. -`NotAlternative` +`notAlternative` : enable if it doesn't make sense to include this format in an `AlternativeOutputFormats` format listing on `Page` (e.g., with `CSS`). Note that we use the term *alternative* and not *alternate* here, as it does not necessarily replace the other format. **Default:** `false`. ## Output Formats for Pages diff --git a/data/docs.json b/data/docs.json index a230df650..59ab28281 100644 --- a/data/docs.json +++ b/data/docs.json @@ -2,76 +2,76 @@ "media": { "types": [ { - "Type": "application/javascript", - "String": "application/javascript+js", - "MainType": "application", - "SubType": "javascript", - "Suffix": "js", - "Delimiter": "." + "type": "application/javascript", + "string": "application/javascript+js", + "mainType": "application", + "subType": "javascript", + "suffix": "js", + "delimiter": "." }, { - "Type": "application/json", - "String": "application/json+json", - "MainType": "application", - "SubType": "json", - "Suffix": "json", - "Delimiter": "." + "type": "application/json", + "string": "application/json+json", + "mainType": "application", + "subType": "json", + "suffix": "json", + "delimiter": "." }, { - "Type": "application/rss", - "String": "application/rss+xml", - "MainType": "application", - "SubType": "rss", - "Suffix": "xml", - "Delimiter": "." + "type": "application/rss", + "string": "application/rss+xml", + "mainType": "application", + "subType": "rss", + "suffix": "xml", + "delimiter": "." }, { - "Type": "application/xml", - "String": "application/xml+xml", - "MainType": "application", - "SubType": "xml", - "Suffix": "xml", - "Delimiter": "." + "type": "application/xml", + "string": "application/xml+xml", + "mainType": "application", + "subType": "xml", + "suffix": "xml", + "delimiter": "." }, { - "Type": "text/calendar", - "String": "text/calendar+ics", - "MainType": "text", - "SubType": "calendar", - "Suffix": "ics", - "Delimiter": "." + "type": "text/calendar", + "string": "text/calendar+ics", + "mainType": "text", + "subType": "calendar", + "suffix": "ics", + "delimiter": "." }, { - "Type": "text/css", - "String": "text/css+css", - "MainType": "text", - "SubType": "css", - "Suffix": "css", - "Delimiter": "." + "type": "text/css", + "string": "text/css+css", + "mainType": "text", + "subType": "css", + "suffix": "css", + "delimiter": "." }, { - "Type": "text/csv", - "String": "text/csv+csv", - "MainType": "text", - "SubType": "csv", - "Suffix": "csv", - "Delimiter": "." + "type": "text/csv", + "string": "text/csv+csv", + "mainType": "text", + "subType": "csv", + "suffix": "csv", + "delimiter": "." }, { - "Type": "text/html", - "String": "text/html+html", - "MainType": "text", - "SubType": "html", - "Suffix": "html", - "Delimiter": "." + "type": "text/html", + "string": "text/html+html", + "mainType": "text", + "subType": "html", + "suffix": "html", + "delimiter": "." }, { - "Type": "text/plain", - "String": "text/plain+txt", - "MainType": "text", - "SubType": "plain", - "Suffix": "txt", - "Delimiter": "." + "type": "text/plain", + "string": "text/plain+txt", + "mainType": "text", + "subType": "plain", + "suffix": "txt", + "delimiter": "." } ] }, @@ -79,87 +79,143 @@ "formats": [ { "MediaType": "text/html+html", - "Name": "AMP", - "Path": "amp", - "BaseName": "index", - "Rel": "amphtml", - "Protocol": "", - "IsPlainText": false, - "IsHTML": true, - "NoUgly": false, - "NotAlternative": false + "name": "AMP", + "mediaType": { + "type": "text/html", + "string": "text/html+html", + "mainType": "text", + "subType": "html", + "suffix": "html", + "delimiter": "." + }, + "path": "amp", + "baseName": "index", + "rel": "amphtml", + "protocol": "", + "isPlainText": false, + "isHTML": true, + "noUgly": false, + "notAlternative": false }, { "MediaType": "text/css+css", - "Name": "CSS", - "Path": "", - "BaseName": "styles", - "Rel": "stylesheet", - "Protocol": "", - "IsPlainText": true, - "IsHTML": false, - "NoUgly": false, - "NotAlternative": true + "name": "CSS", + "mediaType": { + "type": "text/css", + "string": "text/css+css", + "mainType": "text", + "subType": "css", + "suffix": "css", + "delimiter": "." + }, + "path": "", + "baseName": "styles", + "rel": "stylesheet", + "protocol": "", + "isPlainText": true, + "isHTML": false, + "noUgly": false, + "notAlternative": true }, { "MediaType": "text/csv+csv", - "Name": "CSV", - "Path": "", - "BaseName": "index", - "Rel": "alternate", - "Protocol": "", - "IsPlainText": true, - "IsHTML": false, - "NoUgly": false, - "NotAlternative": false + "name": "CSV", + "mediaType": { + "type": "text/csv", + "string": "text/csv+csv", + "mainType": "text", + "subType": "csv", + "suffix": "csv", + "delimiter": "." + }, + "path": "", + "baseName": "index", + "rel": "alternate", + "protocol": "", + "isPlainText": true, + "isHTML": false, + "noUgly": false, + "notAlternative": false }, { "MediaType": "text/calendar+ics", - "Name": "Calendar", - "Path": "", - "BaseName": "index", - "Rel": "alternate", - "Protocol": "webcal://", - "IsPlainText": true, - "IsHTML": false, - "NoUgly": false, - "NotAlternative": false + "name": "Calendar", + "mediaType": { + "type": "text/calendar", + "string": "text/calendar+ics", + "mainType": "text", + "subType": "calendar", + "suffix": "ics", + "delimiter": "." + }, + "path": "", + "baseName": "index", + "rel": "alternate", + "protocol": "webcal://", + "isPlainText": true, + "isHTML": false, + "noUgly": false, + "notAlternative": false }, { "MediaType": "text/html+html", - "Name": "HTML", - "Path": "", - "BaseName": "index", - "Rel": "canonical", - "Protocol": "", - "IsPlainText": false, - "IsHTML": true, - "NoUgly": false, - "NotAlternative": false + "name": "HTML", + "mediaType": { + "type": "text/html", + "string": "text/html+html", + "mainType": "text", + "subType": "html", + "suffix": "html", + "delimiter": "." + }, + "path": "", + "baseName": "index", + "rel": "canonical", + "protocol": "", + "isPlainText": false, + "isHTML": true, + "noUgly": false, + "notAlternative": false }, { "MediaType": "application/json+json", - "Name": "JSON", - "Path": "", - "BaseName": "index", - "Rel": "alternate", - "Protocol": "", - "IsPlainText": true, - "IsHTML": false, - "NoUgly": false, - "NotAlternative": false + "name": "JSON", + "mediaType": { + "type": "application/json", + "string": "application/json+json", + "mainType": "application", + "subType": "json", + "suffix": "json", + "delimiter": "." + }, + "path": "", + "baseName": "index", + "rel": "alternate", + "protocol": "", + "isPlainText": true, + "isHTML": false, + "noUgly": false, + "notAlternative": false }, { "MediaType": "application/rss+xml", - "Name": "RSS", - "Path": "", - "BaseName": "index", - "Rel": "alternate", - "Protocol": "", - "IsPlainText": false, - "IsHTML": false, - "NoUgly": true, - "NotAlternative": false + "name": "RSS", + "mediaType": { + "type": "application/rss", + "string": "application/rss+xml", + "mainType": "application", + "subType": "rss", + "suffix": "xml", + "delimiter": "." + }, + "path": "", + "baseName": "index", + "rel": "alternate", + "protocol": "", + "isPlainText": false, + "isHTML": false, + "noUgly": true, + "notAlternative": false } ], "layouts": [ From dc4b90db27b758ffcd4dcdb34c1c28c3380bc5aa Mon Sep 17 00:00:00 2001 From: Jeremiah Valenzuela Date: Mon, 31 Jul 2017 13:52:14 -0500 Subject: [PATCH 03/11] Replace old RSS template with new embedded version (#116) Current documentation shows an old version of the embedded RSS template. The newer version is in: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go This was copied and pasted into the documentation as embedded. --- content/templates/rss.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/content/templates/rss.md b/content/templates/rss.md index 21ba4bc9f..4d736c65e 100644 --- a/content/templates/rss.md +++ b/content/templates/rss.md @@ -84,24 +84,26 @@ This is the default RSS template that ships with Hugo. It adheres to the [RSS 2. ``` - {{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }} + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} {{ .Permalink }} - Recent content {{ with .Title }}in {{.}} {{ end }}on {{ .Site.Title }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} Hugo -- gohugo.io{{ with .Site.LanguageCode }} {{.}}{{end}}{{ with .Site.Author.email }} {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} {{.}}{{end}}{{ if not .Date.IsZero }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} - - {{ range first 15 .Data.Pages }} + {{ with .OutputFormats.Get "RSS" }} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end }} + {{ range .Data.Pages }} {{ .Title }} {{ .Permalink }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} {{ .Permalink }} - {{ .Content | html }} + {{ .Summary | html }} {{ end }} From 19f13e61629ff50e215c2e46b56786d03e92bff8 Mon Sep 17 00:00:00 2001 From: Yann Hodique Date: Tue, 1 Aug 2017 13:01:14 -0700 Subject: [PATCH 04/11] Fix YAML examples in taxonomies.md Align YAML examples with TOML ones. --- content/content-management/taxonomies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/content-management/taxonomies.md b/content/content-management/taxonomies.md index b2f785056..542bb6cfc 100644 --- a/content/content-management/taxonomies.md +++ b/content/content-management/taxonomies.md @@ -163,7 +163,7 @@ project_url = "https://github.com/gohugoio/hugo" ``` --- title: "Hugo: A fast and flexible static site generator" -#tags: ["Development", "Go", "fast", "Blogging"] +tags: ["Development", "Go", "fast", "Blogging"] categories: ["Development"] series: ["Go Web Dev"] slug: "hugo" @@ -216,7 +216,7 @@ categories_weight = 44 ``` --- title: foo -#tags: [ "a", "b", "c" ] +tags: [ "a", "b", "c" ] tags_weight: 22 categories: ["d"] categories_weight: 44 From 3a58818ea64480edf778e02a918372feae1e032a Mon Sep 17 00:00:00 2001 From: JuFisch Date: Tue, 1 Aug 2017 16:03:44 -0400 Subject: [PATCH 05/11] Add note to install Testify * docs: Add note to install Testify The Hugo Contributor Guide (Development) instructs users to run "go test ./..." and ensure it passes before moving on. However Hugo requires the Testify package for testing, and running the go test command without Testify results in 'cannot find package' errors and failing tests. It's hard to understand what to do next for users not familiar with Go dependencies. This commit adds a note to the contributor guide instructing users to get Testify if they don't already have it installed. Running the 'go get' command added here results in passing tests in the next step of the contributor guide. * Fix typo https:// in go get command --- content/contribute/development.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/contribute/development.md b/content/contribute/development.md index 8261c0e1b..2e5b92fbd 100644 --- a/content/contribute/development.md +++ b/content/contribute/development.md @@ -139,6 +139,12 @@ So, let's clone that master repository: go get -v -u github.com/gohugoio/hugo ``` +Hugo relies on [Testify](https://github.com/stretchr/testify) for testing Go code. If you don't already have it, get the Testify testing tools: + +``` +go get github.com/stretchr/testify +``` + ### Fork the repository If you're not fimiliar with this term, GitHub's [help pages](https://help.github.com/articles/fork-a-repo/) provide again a simple explanation: From 6727d8203f7201c3475f8b6dc444cfa7686705e7 Mon Sep 17 00:00:00 2001 From: Ryan Watters Date: Tue, 1 Aug 2017 13:50:19 -0500 Subject: [PATCH 06/11] Update gh repo for issues in config Fixes #117 --- config.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config.toml b/config.toml index 61df5b873..267167556 100644 --- a/config.toml +++ b/config.toml @@ -57,6 +57,8 @@ twitter = "GoHugoIO" removefromexternalsearch = false ## Gh repo for site footer (include trailing slash) ghrepo = "https://github.com/gohugoio/hugoDocs/" + ## GH Repo for filing a new issue + github_repo = "https://github.com/gohugoio/hugo/issues/new" ### Edit content repo (set to automatically enter "edit" mode; this is good for "improve this page" links) ghdocsrepo = "https://github.com/gohugoio/hugoDocs/tree/master/docs" ## Gitter URL From 83531772265f283809e0409ada7cf49c850a8541 Mon Sep 17 00:00:00 2001 From: Abdullah Diab Date: Tue, 1 Aug 2017 22:54:32 +0200 Subject: [PATCH 07/11] Replace http://example.{com,org}/ with https://example.{com,org}/ * Replace http://example.{com,org}/ with https://example.{com,org}/ To be consistent with gohugoio/hugo, @bep suggests changing all instances of http://(www.)?example.{com,org} with https://(www.)?example.{com,org} See issue gohugoio/hugo#3728 with pull request gohugoio/hugo#3739 --- .../content-management/cross-references.md | 4 +-- content/content-management/menus.md | 2 +- content/content-management/organization.md | 20 +++++------ content/content-management/urls.md | 34 +++++++++---------- content/contribute/themes.md | 2 +- content/functions/abslangurl.md | 4 +-- content/functions/absurl.md | 4 +-- content/functions/math.md | 2 +- content/functions/relLangURL.md | 4 +-- content/functions/relurl.md | 4 +-- content/getting-started/quick-start.md | 2 +- content/templates/output-formats.md | 2 +- content/variables/site.md | 2 +- 13 files changed, 43 insertions(+), 43 deletions(-) diff --git a/content/content-management/cross-references.md b/content/content-management/cross-references.md index 7ee81f3db..358152672 100644 --- a/content/content-management/cross-references.md +++ b/content/content-management/cross-references.md @@ -96,8 +96,8 @@ More information about document unique identifiers and headings can be found [be ### Examples -* `{{}}` => `http://example.com/blog/post/` -* `{{}}` => `http://example.com/blog/post/#tldr:caffebad` +* `{{}}` => `https://example.com/blog/post/` +* `{{}}` => `https://example.com/blog/post/#tldr:caffebad` * `{{}}` => `/blog/post/` * `{{}}` => `/blog/post/#tldr:caffebad` * `{{}}` => `#tldr:badcaffe` diff --git a/content/content-management/menus.md b/content/content-management/menus.md index 7c877afc8..364867c67 100644 --- a/content/content-management/menus.md +++ b/content/content-management/menus.md @@ -153,7 +153,7 @@ menu: {{< /code >}} {{% note %}} -The URLs must be relative to the context root. If the `baseURL` is `http://example.com/mysite/`, then the URLs in the menu must not include the context root `mysite`. Using an absolute URL will overide the baseURL. If the value used for `URL` in the above example is `http://subdomain.example.com/`, the output will be `http://subdomain.example.com`. +The URLs must be relative to the context root. If the `baseURL` is `https://example.com/mysite/`, then the URLs in the menu must not include the context root `mysite`. Using an absolute URL will overide the baseURL. If the value used for `URL` in the above example is `https://subdomain.example.com/`, the output will be `https://subdomain.example.com`. {{% /note %}} ## Nesting diff --git a/content/content-management/organization.md b/content/content-management/organization.md index 33780c0eb..1ede7c0e5 100644 --- a/content/content-management/organization.md +++ b/content/content-management/organization.md @@ -34,20 +34,20 @@ While Hugo supports content nested at any level, the top levels (i.e. `content/< . └── content └── about - | └── _index.md // <- http://example.com/about/ + | └── _index.md // <- https://example.com/about/ ├── post - | ├── firstpost.md // <- http://example.com/post/firstpost/ + | ├── firstpost.md // <- https://example.com/post/firstpost/ | ├── happy - | | └── ness.md // <- http://example.com/post/happy/ness/ - | └── secondpost.md // <- http://example.com/post/secondpost/ + | | └── ness.md // <- https://example.com/post/happy/ness/ + | └── secondpost.md // <- https://example.com/post/secondpost/ └── quote - ├── first.md // <- http://example.com/quote/first/ - └── second.md // <- http://example.com/quote/second/ + ├── first.md // <- https://example.com/quote/first/ + └── second.md // <- https://example.com/quote/second/ ``` ## Path Breakdown in Hugo -The following demonstrates the relationships between your content organization and the output URL structure for your Hugo website when it renders. These examples assume you are [using pretty URLs][pretty], which is the default behavior for Hugo. The examples also assume a key-value of `baseurl = "http://example.com"` in your [site's configuration file][config]. +The following demonstrates the relationships between your content organization and the output URL structure for your Hugo website when it renders. These examples assume you are [using pretty URLs][pretty], which is the default behavior for Hugo. The examples also assume a key-value of `baseurl = "https://example.com"` in your [site's configuration file][config]. ### Index Pages: `_index.md` @@ -76,7 +76,7 @@ At build, this will output to the following destination with the associated valu ⊢--------^---------⊣⊢-^-⊣ permalink ⊢----------^-------------⊣ -http://example.com/posts/index.html +https://example.com/posts/index.html ``` ### Single Pages in Sections @@ -102,7 +102,7 @@ At the time Hugo builds your site, the content will be output to the following d ⊢--------^--------⊣⊢-^--⊣⊢-------^---------⊣ permalink ⊢--------------------^---------------------⊣ -http://example.com/posts/my-first-hugo-post/index.html +https://example.com/posts/my-first-hugo-post/index.html ``` ### Section with Nested Directories @@ -120,7 +120,7 @@ To continue the example, the following demonstrates destination paths for a file ⊢--------^--------⊣ ⊢------^-----⊣⊢----^------⊣ permalink ⊢----------------------^-----------------------⊣ -http://example.com/events/chicago/lollapalooza/ +https://example.com/events/chicago/lollapalooza/ ``` {{% note %}} diff --git a/content/content-management/urls.md b/content/content-management/urls.md index 262c73de2..29cd66e84 100644 --- a/content/content-management/urls.md +++ b/content/content-management/urls.md @@ -43,7 +43,7 @@ permalinks: post = "/:year/:month/:title/" {{< /code >}} -Only the content under `post/` will have the new URL structure. For example, the file `content/post/sample-entry.md` with `date: 2017-02-27T19:20:00-05:00` in its front matter will render to `public/2017/02/sample-entry/index.html` at build time and therefore be reachable at `http://example.com/2013/11/sample-entry/`. +Only the content under `post/` will have the new URL structure. For example, the file `content/post/sample-entry.md` with `date: 2017-02-27T19:20:00-05:00` in its front matter will render to `public/2017/02/sample-entry/index.html` at build time and therefore be reachable at `https://example.com/2013/11/sample-entry/`. ### Permalink Configuration Values @@ -147,11 +147,11 @@ Assuming a `baseURL` of `example.com`, the contents of the auto-generated alias - http://example.com/posts/my-intended-url - + https://example.com/posts/my-intended-url + - + ``` @@ -200,15 +200,15 @@ See [Content Organization][contentorg] for more details on paths. . └── content └── about - | └── _index.md // <- http://example.com/about/ + | └── _index.md // <- https://example.com/about/ ├── post - | ├── firstpost.md // <- http://example.com/post/firstpost/ + | ├── firstpost.md // <- https://example.com/post/firstpost/ | ├── happy - | | └── ness.md // <- http://example.com/post/happy/ness/ - | └── secondpost.md // <- http://example.com/post/secondpost/ + | | └── ness.md // <- https://example.com/post/happy/ness/ + | └── secondpost.md // <- https://example.com/post/secondpost/ └── quote - ├── first.md // <- http://example.com/quote/first/ - └── second.md // <- http://example.com/quote/second/ + ├── first.md // <- https://example.com/quote/first/ + └── second.md // <- https://example.com/quote/second/ ``` Here's the same organization run with `hugo --uglyURLs`: @@ -217,15 +217,15 @@ Here's the same organization run with `hugo --uglyURLs`: . └── content └── about - | └── _index.md // <- http://example.com/about/index.html + | └── _index.md // <- https://example.com/about/index.html ├── post - | ├── firstpost.md // <- http://example.com/post/firstpost.html + | ├── firstpost.md // <- https://example.com/post/firstpost.html | ├── happy - | | └── ness.md // <- http://example.com/post/happy/ness.html - | └── secondpost.md // <- http://example.com/post/secondpost.html + | | └── ness.md // <- https://example.com/post/happy/ness.html + | └── secondpost.md // <- https://example.com/post/secondpost.html └── quote - ├── first.md // <- http://example.com/quote/first.html - └── second.md // <- http://example.com/quote/second.html + ├── first.md // <- https://example.com/quote/first.html + └── second.md // <- https://example.com/quote/second.html ``` @@ -233,7 +233,7 @@ Here's the same organization run with `hugo --uglyURLs`: By default, all relative URLs encountered in the input are left unmodified, e.g. `/css/foo.css` would stay as `/css/foo.css`. The `canonifyURLs` field in your site `config` has a default value of `false`. -By setting `canonifyURLs` to `true`, all relative URLs would instead be *canonicalized* using `baseURL`. For example, assuming you have `baseURL = https://example.com/`, the relative URL `/css/foo.css` would be turned into the absolute URL `http://example.com/css/foo.css`. +By setting `canonifyURLs` to `true`, all relative URLs would instead be *canonicalized* using `baseURL`. For example, assuming you have `baseURL = https://example.com/`, the relative URL `/css/foo.css` would be turned into the absolute URL `https://example.com/css/foo.css`. Benefits of canonicalization include fixing all URLs to be absolute, which may aid with some parsing tasks. Note, however, that all modern browsers handle this on the client without issue. diff --git a/content/contribute/themes.md b/content/contribute/themes.md index dc8bddc3a..7055e94e8 100644 --- a/content/contribute/themes.md +++ b/content/contribute/themes.md @@ -64,7 +64,7 @@ name = "" license = "MIT" licenselink = "https://github.com///blob/master/LICENSE.md" description = "" -homepage = "http://example.com/" +homepage = "https://example.com/" tags = [] features = [] min_version = 0.19 diff --git a/content/functions/abslangurl.md b/content/functions/abslangurl.md index 41903c61d..8a6f49854 100644 --- a/content/functions/abslangurl.md +++ b/content/functions/abslangurl.md @@ -20,9 +20,9 @@ aliases: [] Both `absLangURL` and [`relLangURL`](/functions/rellangurl/) are similar to their [`absURL`](/functions/absurl/) and [`relURL`](/functions/relurl) relatives but will add the correct language prefix when the site is configured with more than one language. -So for a site `baseURL` set to `http://example.com/hugo/` and the current language is `en`: +So for a site `baseURL` set to `https://example.com/hugo/` and the current language is `en`: ``` -{{ "blog/" | absLangURL }} → "http://example.com/hugo/en/blog/" +{{ "blog/" | absLangURL }} → "https://example.com/hugo/en/blog/" {{ "blog/" | relLangURL }} → "/hugo/en/blog/" ``` diff --git a/content/functions/absurl.md b/content/functions/absurl.md index 40cc9111c..2e03ca49d 100644 --- a/content/functions/absurl.md +++ b/content/functions/absurl.md @@ -18,10 +18,10 @@ deprecated: false aliases: [] --- -Both `absURL` and `relURL` consider the configured value of `baseURL` in your site's [`config` file][configuration]. Given a `baseURL` set to `http://example.com/hugo/`: +Both `absURL` and `relURL` consider the configured value of `baseURL` in your site's [`config` file][configuration]. Given a `baseURL` set to `https://example.com/hugo/`: ``` -{{ "mystyle.css" | absURL }} → "http://example.com/hugo/mystyle.css" +{{ "mystyle.css" | absURL }} → "https://example.com/hugo/mystyle.css" {{ "mystyle.css" | relURL }} → "/hugo/mystyle.css" {{ "http://gohugo.io/" | relURL }} → "http://gohugo.io/" {{ "http://gohugo.io/" | absURL }} → "http://gohugo.io/" diff --git a/content/functions/math.md b/content/functions/math.md index 60b801dfa..6375ad738 100644 --- a/content/functions/math.md +++ b/content/functions/math.md @@ -38,7 +38,7 @@ You can also use the `add` function with strings. You may like this functionalit For example, social media sharing with [Twitter Cards][cards] requires the following `meta` link in your site's `` to display Twitter's ["Summary Card with Large Image"][twtsummary]: ``` - + ``` Let's assume you have an `image` field in the front matter of each of your content files: diff --git a/content/functions/relLangURL.md b/content/functions/relLangURL.md index 08f4511fb..2df271746 100644 --- a/content/functions/relLangURL.md +++ b/content/functions/relLangURL.md @@ -20,10 +20,10 @@ aliases: [] `absLangURL` and `relLangURL` functions are similar to their [`absURL`](/functions/absurl/) and [`relURL`](/functions/relurl/) relatives but will add the correct language prefix when the site is configured with more than one language. (See [Configuring Multilingual][multiliconfig].) -So for a site `baseURL` set to `http://example.com/hugo/` and the current language is `en`: +So for a site `baseURL` set to `https://example.com/hugo/` and the current language is `en`: ``` -{{ "blog/" | absLangURL }} → "http://example.com/hugo/en/blog/" +{{ "blog/" | absLangURL }} → "https://example.com/hugo/en/blog/" {{ "blog/" | relLangURL }} → "/hugo/en/blog/" ``` diff --git a/content/functions/relurl.md b/content/functions/relurl.md index 2760d10c8..085c344f5 100644 --- a/content/functions/relurl.md +++ b/content/functions/relurl.md @@ -18,10 +18,10 @@ deprecated: false aliases: [] --- -Both `absURL` and `relURL` consider the configured value of `baseURL` in your site's [`config` file][configuration]. Given a `baseURL` set to `http://example.com/hugo/`: +Both `absURL` and `relURL` consider the configured value of `baseURL` in your site's [`config` file][configuration]. Given a `baseURL` set to `https://example.com/hugo/`: ``` -{{ "mystyle.css" | absURL }} → "http://example.com/hugo/mystyle.css" +{{ "mystyle.css" | absURL }} → "https://example.com/hugo/mystyle.css" {{ "mystyle.css" | relURL }} → "/hugo/mystyle.css" {{ "http://gohugo.io/" | relURL }} → "http://gohugo.io/" {{ "http://gohugo.io/" | absURL }} → "http://gohugo.io/" diff --git a/content/getting-started/quick-start.md b/content/getting-started/quick-start.md index f7413ac3b..5683087d6 100644 --- a/content/getting-started/quick-start.md +++ b/content/getting-started/quick-start.md @@ -118,7 +118,7 @@ Your new site already looks great, but you will want to tweak it a little before Open up `config.toml` in a text editor: ``` -baseURL = "http://example.org/" +baseURL = "https://example.org/" languageCode = "en-us" title = "My New Hugo Site" theme = "ananke" diff --git a/content/templates/output-formats.md b/content/templates/output-formats.md index 66958ff1d..db368cbe4 100644 --- a/content/templates/output-formats.md +++ b/content/templates/output-formats.md @@ -71,7 +71,7 @@ isPlainText = true protocol = "bep://" ``` -The above example is fictional, but if used for the homepage on a site with `baseURL` `http://example.org`, it will produce a plain text homepage with the URL `bep://example.org/myindex.enr`. +The above example is fictional, but if used for the homepage on a site with `baseURL` `https://example.org`, it will produce a plain text homepage with the URL `bep://example.org/myindex.enr`. ### Configure Output Formats diff --git a/content/variables/site.md b/content/variables/site.md index 68b943388..447a21fc3 100644 --- a/content/variables/site.md +++ b/content/variables/site.md @@ -109,7 +109,7 @@ The following is a list of site-level (aka "global") variables. Many of these va The following `config.toml` defines a site-wide param for `description`: ``` -baseURL = "http://yoursite.example.com/" +baseURL = "https://yoursite.example.com/" [params] description = "Tesla's Awesome Hugo Site" From 13a8e0b7703ccfd4c713f44b83283fa2d887cd58 Mon Sep 17 00:00:00 2001 From: Jeremiah Valenzuela Date: Wed, 2 Aug 2017 15:22:01 -0500 Subject: [PATCH 08/11] Add missing closing and opening comment tags The comment tags were split between lines and therefore caused the content within them to render as html. --- content/content-management/organization.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/content-management/organization.md b/content/content-management/organization.md index 1ede7c0e5..95fd3562a 100644 --- a/content/content-management/organization.md +++ b/content/content-management/organization.md @@ -201,9 +201,9 @@ layout: mylayout --- {{< /code >}} - -`path` can be provided in the front matter. This will replace the actual path to the file on disk. Destination will create the destination with the same path, including the section. --> + ### `url` From eee8543b2564bc8b7e4c7ed4bf87213f96dfadd1 Mon Sep 17 00:00:00 2001 From: digitalcraftsman Date: Sat, 5 Aug 2017 18:01:46 +0200 Subject: [PATCH 09/11] Remove comment from variable in front matter example --- content/content-management/front-matter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/content-management/front-matter.md b/content/content-management/front-matter.md index 070328670..22c1eb110 100644 --- a/content/content-management/front-matter.md +++ b/content/content-management/front-matter.md @@ -54,7 +54,7 @@ slug = "spf13-vim-3-0-release-and-new-website" --- title: "spf13-vim 3.0 release and new website" description: "spf13-vim is a cross platform distribution of vim plugins and resources for Vim." -#tags: [ ".vimrc", "plugins", "spf13-vim", "vim" ] +tags: [ ".vimrc", "plugins", "spf13-vim", "vim" ] lastmod: 2015-12-23 date: "2012-04-06" categories: From 85e28c10ea720004ba324a0286682274c79df561 Mon Sep 17 00:00:00 2001 From: digitalcraftsman Date: Sat, 5 Aug 2017 19:28:19 +0200 Subject: [PATCH 10/11] Remove comment from variable in front matter example --- content/variables/page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/variables/page.md b/content/variables/page.md index c8f855d60..58c4d2110 100644 --- a/content/variables/page.md +++ b/content/variables/page.md @@ -179,7 +179,7 @@ Any other value defined in the front matter in a content file, including taxonom title: My First Post date: date: 2017-02-20T15:26:23-06:00 categories: [one] -#tags: [two,three,four] +tags: [two,three,four] ``` With the above front matter, the `tags` and `categories` taxonomies are accessible via the following: From 35abbc869199b852922c024a29e2370272a7c1c8 Mon Sep 17 00:00:00 2001 From: Ron Liskey Date: Sat, 5 Aug 2017 13:03:19 -0700 Subject: [PATCH 11/11] Add example with taxonomy for title template func Example URL with printf. --- content/functions/title.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/functions/title.md b/content/functions/title.md index 3ecf1ac34..d65552178 100644 --- a/content/functions/title.md +++ b/content/functions/title.md @@ -23,3 +23,11 @@ aliases: [] ``` {{title "BatMan"}}` → "Batman" ``` + +Can be combined in pipes. In the following snippet, the link text is cleaned up using `humanize` to remove dashes and `title` to convert the value of `$name` to Intial Caps. + +``` +{{ range $name, $items := .Site.Taxonomies.categories }} +
  • {{ $name | humanize | title }} ({{ len $items }})
  • +{{ end }} +```