diff options
author | Caio Lente <7017340+clente@users.noreply.github.com> | 2024-01-04 19:37:50 -0300 |
---|---|---|
committer | Caio Lente <7017340+clente@users.noreply.github.com> | 2024-01-04 19:37:50 -0300 |
commit | f0643ea03875393d30f44fba235de145eb71bbdb (patch) | |
tree | 0b1cc22eac9fc688a7a4e5861c5a1998a3d5cede | |
parent | 488fcc401fa605a5d79fbf98754556de2cf09d18 (diff) | |
parent | bd5d81f18c0fdb9be3506af5a984cac64fae81f2 (diff) | |
download | hugo-bearcub-f0643ea03875393d30f44fba235de145eb71bbdb.tar.gz hugo-bearcub-f0643ea03875393d30f44fba235de145eb71bbdb.tar.bz2 |
Merge branch 'main' into style/herman
-rw-r--r-- | README.md | 16 | ||||
-rw-r--r-- | exampleSite/config.toml | 14 | ||||
-rw-r--r-- | layouts/_default/rss.xml | 84 | ||||
-rw-r--r-- | layouts/_default/single.html | 2 | ||||
-rw-r--r-- | layouts/partials/social_card.html | 46 |
5 files changed, 111 insertions, 51 deletions
@@ -107,7 +107,7 @@ already implemented: matter](https://gohugo.io/content-management/front-matter/). You can also add `render: false` to your [build options](https://gohugo.io/content-management/build-options/#readout) to avoid - rendering a blank post. + rendering blank posts. - Skip link: a "skip to main content" link that is temporarily invisible, but can be focused by people who need a keyboard to navigate the web (see [PR #5](https://github.com/clente/hugo-bearcub/pull/5) by @@ -145,11 +145,6 @@ defaultContentLanguage = "en" # Generate a nice robots.txt for SEO enableRobotsTXT = true -# Your name. For more information on why this must be a list, see -# https://discourse.gohugo.io/t/site-author-usage/31459/8 -[author] - name = "John Doe" - # Setup syntax highlighting without inline styles. For more information about # why you'd want to avoid inline styles, see # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src#unsafe_inline_styles @@ -214,10 +209,15 @@ enableRobotsTXT = true # Social media. Delete any item you aren't using to make sure it won't show up # in your website's metadata. - [social] - email = "me@example.com" # Added to the footer so readers can reply to posts + [params.social] twitter = "example" # Twitter handle (without '@') facebook_admin = "0000000000" # Facebook Page Admin ID + + # Author metadata. This is mostly used for the RSS feed of your site, but the + # email is also added to the footer of each post + [params.author] + name = "John Doe" # Your name as shown in the RSS feed metadata + email = "me@example.com" # Added to the footer so readers can reply to posts ``` ## Contributing diff --git a/exampleSite/config.toml b/exampleSite/config.toml index d5eff2b..6fe641f 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -7,11 +7,6 @@ defaultContentLanguage = "en" # Generate a nice robots.txt for SEO enableRobotsTXT = true -# Your name. For more information on why this must be a list, see -# https://discourse.gohugo.io/t/site-author-usage/31459/8 -[author] - name = "John Doe" - # Setup syntax highlighting without inline styles. For more information about # why you'd want to avoid inline styles, see # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src#unsafe_inline_styles @@ -76,7 +71,12 @@ enableRobotsTXT = true # Social media. Delete any item you aren't using to make sure it won't show up # in your website's metadata. - [social] - email = "me@example.com" # Added to the footer so readers can reply to posts + [params.social] twitter = "example" # Twitter handle (without '@') facebook_admin = "0000000000" # Facebook Page Admin ID + + # Author metadata. This is mostly used for the RSS feed of your site, but the + # email is also added to the footer of each post + [params.author] + name = "John Doe" # Your name as shown in the RSS feed metadata + email = "me@example.com" # Added to the footer so readers can reply to posts diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index c55e7e4..70d1193 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -1,42 +1,72 @@ -{{- $pctx := . -}} -{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} -{{- $pages := slice -}} -{{- if $.IsHome -}} -{{- $pages = where $pctx.AllPages "Kind" "page" -}} -{{ else if $.IsSection }} -{{- $pages = $pctx.RegularPages -}} -{{- else -}} -{{- $pages = $pctx.Pages -}} -{{- end -}} -{{- $limit := .Site.Config.Services.RSS.Limit -}} -{{- if ge $limit 1 -}} -{{- $pages = $pages | first $limit -}} -{{- end -}} +{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}} +{{- $authorEmail := "" }} +{{- with site.Params.author }} + {{- if reflect.IsMap . }} + {{- with .email }} + {{- $authorEmail = . }} + {{- end }} + {{- end }} +{{- else }} + {{- with site.Author.email }} + {{- $authorEmail = . }} + {{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }} + {{- end }} +{{- end }} + +{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}} +{{- $authorName := "" }} +{{- with site.Params.author }} + {{- if reflect.IsMap . }} + {{- with .name }} + {{- $authorName = . }} + {{- end }} + {{- else }} + {{- $authorName = . }} + {{- end }} +{{- else }} + {{- with site.Author.name }} + {{- $authorName = . }} + {{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }} + {{- end }} +{{- end }} + +{{- $pctx := . }} +{{- if .IsHome }}{{ $pctx = .Site }}{{ end }} +{{- $pages := slice }} +{{- if or $.IsHome $.IsSection }} +{{- $pages = $pctx.RegularPages }} +{{- else }} +{{- $pages = $pctx.Pages }} +{{- end }} +{{- $limit := .Site.Config.Services.RSS.Limit }} +{{- if ge $limit 1 }} +{{- $pages = $pages | first $limit }} +{{- end }} {{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }} <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> - <title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title> + <title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}</title> <link>{{ .Permalink }}</link> - <description>Recent content {{ if not .IsHome }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description> + <description>Recent content {{ if not .IsHome }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}</description> <generator>Hugo -- gohugo.io</generator> - <language>{{ site.Language.LanguageCode }}</language>{{ with .Site.Author.email }} - <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }} - <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }} - <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }} + <language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }} + <managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }} + <webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with .Site.Copyright }} + <copyright>{{ . }}</copyright>{{ end }}{{ if not .Date.IsZero }} <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }} - {{- with .OutputFormats.Get "RSS" -}} + {{- with .OutputFormats.Get "RSS" }} {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }} - {{- end -}} - {{ range $pages }} + {{- end }} + {{- range $pages }} <item> <title>{{ .Title }}</title> <link>{{ .Permalink }}</link> <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> - {{ with .Params.author }}<author>{{.}}</author>{{ end }} + {{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }} <guid>{{ .Permalink }}</guid> - <description>{{ .Summary | plainify }}</description> + <description>{{ .Summary | transform.XMLEscape | safeHTML }}</description> <content:encoded>{{ `<![CDATA[` | safeHTML }}{{ .Content | safeHTML }}{{ `]]>` | safeHTML }}</content:encoded> </item> - {{ end }} + {{- end }} </channel> -</rss>
\ No newline at end of file +</rss> diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 1dbc8da..133ae69 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -16,7 +16,7 @@ <a class="blog-tags" href="{{ .Permalink }}">#{{ .LinkTitle }}</a> {{ end }} </p> -{{ with .Site.Social.email }} +{{ with .Site.Params.social.email }} <p> <a href='mailto:{{ . }}?subject={{ i18n "email-subject" }}"{{ default $.Site.Title $.Page.Title }}"'> {{ i18n "email-reply" }} ↪ diff --git a/layouts/partials/social_card.html b/layouts/partials/social_card.html index 75c3c9a..6faacc0 100644 --- a/layouts/partials/social_card.html +++ b/layouts/partials/social_card.html @@ -13,7 +13,7 @@ )) }} {{ $date := .Date.Format (default "2006-01-02" .Site.Params.dateFormat) }} -{{ $author := (default $.Site.Author.name ($.Param "author") ) }} +{{ $author := (default $.Site.Params.author.name ($.Param "author") ) }} {{ $byline := (printf "%s | %s" $author $date) }} {{ $fg = $fg.Filter (images.Text $byline (dict @@ -29,7 +29,7 @@ {{ $card := $card.Resize "900x webp q100" }} <!-- Open Graph / Facebook --> -<!-- Source: https://raw.githubusercontent.com/gohugoio/hugo/master/tpl/tplimpl/embedded/templates/opengraph.html --> +<!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/opengraph.html --> <meta property="og:title" content="{{ .Title }}" /> <meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" /> <meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" /> @@ -63,22 +63,52 @@ {{ end }}{{ end }} {{- end }} +{{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}} +{{- $facebookAdmin := "" }} +{{- with site.Params.social }} + {{- if reflect.IsMap . }} + {{- $facebookAdmin = .facebook_admin }} + {{- end }} +{{- else }} + {{- with site.Social.facebook_admin }} + {{- $facebookAdmin = . }} + {{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }} + {{- end }} +{{- end }} + {{- /* Facebook Page Admin ID for Domain Insights */}} -{{- with .Site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} +{{ with $facebookAdmin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} <!-- Twitter --> <!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/twitter_cards.html --> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:image" content="{{ $card.Permalink | absURL }}"/> - <meta name="twitter:title" content="{{ .Title }}"/> <meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/> -{{ with .Site.Social.twitter -}} -<meta name="twitter:site" content="@{{ . }}"/> -{{ end -}} + +{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}} +{{- $twitterSite := "" }} +{{- with site.Params.social }} + {{- if reflect.IsMap . }} + {{- $twitterSite = .twitter }} + {{- end }} +{{- else }} + {{- with site.Social.twitter }} + {{- $twitterSite = . }} + {{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }} + {{- end }} +{{- end }} + +{{- with $twitterSite }} + {{- $content := . }} + {{- if not (strings.HasPrefix . "@") }} + {{- $content = printf "@%v" $twitterSite }} + {{- end }} +<meta name="twitter:site" content="{{ $content }}"/> +{{- end }} <!-- Microdata --> -<!-- Source: https://raw.githubusercontent.com/gohugoio/hugo/master/tpl/tplimpl/embedded/templates/schema.html --> +<!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/schema.html --> <meta itemprop="name" content="{{ .Title }}"> <meta itemprop="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}"> |