diff options
author | Caio Lente <7017340+clente@users.noreply.github.com> | 2023-10-17 15:50:58 -0300 |
---|---|---|
committer | Caio Lente <7017340+clente@users.noreply.github.com> | 2023-10-17 15:50:58 -0300 |
commit | 26fa3804af6130fca1d3b3e2e8e598c2b89289c9 (patch) | |
tree | 538ddff45b5aa4c6c20722d429782f8f767f50c2 | |
parent | d796205bf80157a95fe92cb2a4d11b785fd6359f (diff) | |
parent | 88edea7e8ab507cb2f48d0a3cb64b6c9fad8409e (diff) | |
download | hugo-bearcub-26fa3804af6130fca1d3b3e2e8e598c2b89289c9.tar.gz hugo-bearcub-26fa3804af6130fca1d3b3e2e8e598c2b89289c9.tar.bz2 |
Merge remote-tracking branch 'origin/main' into style/herman
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | exampleSite/config.toml | 4 | ||||
-rw-r--r-- | i18n/en.toml | 3 | ||||
-rw-r--r-- | i18n/pt.toml | 3 | ||||
-rw-r--r-- | layouts/_default/rss.xml | 42 | ||||
-rw-r--r-- | layouts/_default/single.html | 8 | ||||
-rw-r--r-- | layouts/partials/nav.html | 5 |
7 files changed, 64 insertions, 10 deletions
@@ -100,6 +100,8 @@ Every once in a while, as I keep using **Bear Cub**, I notice that there is some functionality missing. Currently, these are the "advanced features" that I have already implemented: +- Full-text RSS feed: an enhanced RSS feed template that includes the (properly + encoded) full content of your posts in the feed itself. - Static content: you can create empty blog entries that act as links to static files by including `link: "{url}"` in a post's [front matter](https://gohugo.io/content-management/front-matter/). You can also add @@ -110,6 +112,9 @@ already implemented: 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 [@2kool4idkwhat](https://github.com/2kool4idkwhat) for more information). +- Reply by email: if you supply an email address, the theme creates a "Reply to + this post by email" button at the end of every post (see Kev Quirk's [original + implementation](https://kevquirk.com/adding-the-post-title-to-my-reply-by-email-button)). - Single-use CSS (EXPERIMENTAL): you can add some styles to a single page by writing the CSS you need in `assets/{custom_css}.css` and then including `style: "{custom_css}.css"` in the [front @@ -162,7 +167,6 @@ enableRobotsTXT = true LanguageCode = "en-US" contentDir = "content" [languages.en.params] - blogPath = "blog" # Path to your blog section (used by RSS) madeWith = "Made with [Bear Cub](https://github.com/clente/hugo-bearcub)" [languages.pt] title = "Bear Cub" @@ -170,7 +174,6 @@ enableRobotsTXT = true LanguageCode = "pt-BR" contentDir = "content.pt" [languages.pt.params] - blogPath = "blog" # Path to your blog section (used by RSS) madeWith = "Feito com [Bear Cub](https://github.com/clente/hugo-bearcub)" [params] @@ -208,7 +211,7 @@ 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 navbar so readers can reply to posts + email = "me@example.com" # Added to the footer so readers can reply to posts twitter = "example" # Twitter handle (without '@') facebook_admin = "0000000000" # Facebook Page Admin ID ``` diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 3b68b53..b9fc796 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -33,7 +33,6 @@ enableRobotsTXT = true LanguageCode = "en-US" contentDir = "content" [languages.en.params] - blogPath = "blog" # Path to your blog section (used by RSS) madeWith = "Made with [Bear Cub](https://github.com/clente/hugo-bearcub)" [languages.pt] title = "Bear Cub" @@ -41,7 +40,6 @@ enableRobotsTXT = true LanguageCode = "pt-BR" contentDir = "content.pt" [languages.pt.params] - blogPath = "blog" # Path to your blog section (used by RSS) madeWith = "Feito com [Bear Cub](https://github.com/clente/hugo-bearcub)" [params] @@ -79,6 +77,6 @@ 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 navbar so readers can reply to posts + email = "me@example.com" # Added to the footer so readers can reply to posts twitter = "example" # Twitter handle (without '@') facebook_admin = "0000000000" # Facebook Page Admin ID diff --git a/i18n/en.toml b/i18n/en.toml index b7738dd..15a8569 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -7,5 +7,8 @@ [email-subject] other = "Reply to " +[email-reply] + other = "Reply to this post by email" + [skip-link] other = "Skip to main content"
\ No newline at end of file diff --git a/i18n/pt.toml b/i18n/pt.toml index 33fc65f..ad228ab 100644 --- a/i18n/pt.toml +++ b/i18n/pt.toml @@ -7,5 +7,8 @@ [email-subject] other = "Resposta a " +[email-reply] + other = "Responda a este post por email" + [skip-link] other = "Pular para conteúdo principal"
\ No newline at end of file diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..c55e7e4 --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,42 @@ +{{- $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 -}} +{{- 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> + <link>{{ .Permalink }}</link> + <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 }} + <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }} + {{- 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 }} + <guid>{{ .Permalink }}</guid> + <description>{{ .Summary | plainify }}</description> + <content:encoded>{{ `<![CDATA[` | safeHTML }}{{ .Content | safeHTML }}{{ `]]>` | safeHTML }}</content:encoded> + </item> + {{ end }} + </channel> +</rss>
\ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 6c6ee69..aec87f5 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -6,6 +6,7 @@ <time datetime='{{ .Date.Format "2006-01-02" }}' pubdate> {{ .Date.Format (default "2006-01-02" .Site.Params.dateFormat) }} </time> + {{ with .Params.author }}· {{.}}{{ end }} </i> </p> {{ end }} @@ -17,4 +18,11 @@ <a class="blog-tags" href="{{ .Permalink }}">#{{ .LinkTitle }}</a> {{ end }} </p> +{{ with .Site.Social.email }} + <p> + <a href='mailto:{{ . }}?subject={{ i18n "email-subject" }}"{{ default $.Site.Title $.Page.Title }}"'> + {{ i18n "email-reply" }} ↪ + </a> + </p> +{{ end }} {{ end }} diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html index 2cc03a2..5f40267 100644 --- a/layouts/partials/nav.html +++ b/layouts/partials/nav.html @@ -1,10 +1,7 @@ {{ range .Site.Menus.main.ByWeight }} <a href="{{ .URL }}">{{ .Name }}</a> {{ end }} -{{ with .Site.Social.email }} -<a href='mailto:{{ . }}?subject={{ i18n "email-subject" }}"{{ default $.Site.Title $.Page.Title }}"'>Email</a> -{{ end }} -<a href="{{ relLangURL .Site.Params.blogPath }}/index.xml">RSS</a> +<a href='{{ absURL "index.xml" }}'>RSS</a> <!-- Convert this page's translations into a dict --> {{ $translations := dict }} |