aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaio Lente <7017340+clente@users.noreply.github.com>2023-10-17 15:50:58 -0300
committerCaio Lente <7017340+clente@users.noreply.github.com>2023-10-17 15:50:58 -0300
commit26fa3804af6130fca1d3b3e2e8e598c2b89289c9 (patch)
tree538ddff45b5aa4c6c20722d429782f8f767f50c2
parentd796205bf80157a95fe92cb2a4d11b785fd6359f (diff)
parent88edea7e8ab507cb2f48d0a3cb64b6c9fad8409e (diff)
downloadhugo-bearcub-26fa3804af6130fca1d3b3e2e8e598c2b89289c9.tar.gz
hugo-bearcub-26fa3804af6130fca1d3b3e2e8e598c2b89289c9.tar.bz2
Merge remote-tracking branch 'origin/main' into style/herman
-rw-r--r--README.md9
-rw-r--r--exampleSite/config.toml4
-rw-r--r--i18n/en.toml3
-rw-r--r--i18n/pt.toml3
-rw-r--r--layouts/_default/rss.xml42
-rw-r--r--layouts/_default/single.html8
-rw-r--r--layouts/partials/nav.html5
7 files changed, 64 insertions, 10 deletions
diff --git a/README.md b/README.md
index 0427ffc..ef4e9cd 100644
--- a/README.md
+++ b/README.md
@@ -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 }}