summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/content/en/readfiles/bfconfig.md5
-rw-r--r--helpers/content.go6
-rw-r--r--helpers/content_test.go2
3 files changed, 13 insertions, 0 deletions
diff --git a/docs/content/en/readfiles/bfconfig.md b/docs/content/en/readfiles/bfconfig.md
index 2d62c310d..a7e74566a 100644
--- a/docs/content/en/readfiles/bfconfig.md
+++ b/docs/content/en/readfiles/bfconfig.md
@@ -43,6 +43,11 @@
Blackfriday flag: **`HTML_HREF_TARGET_BLANK`** <br>
Purpose: `true` opens <s>external links</s> **absolute** links in a new window or tab. While the `target="_blank"` attribute is typically used for external links, Blackfriday does that for _all_ absolute links ([ref](https://discourse.gohugo.io/t/internal-links-in-same-tab-external-links-in-new-tab/11048/8)). One needs to make note of this if they use absolute links throughout, for internal links too (for example, by setting `canonifyURLs` to `true` or via `absURL`).
+`nofollowLinks`
+: default: **`false`** <br>
+ Blackfriday flag: **`HTML_NOFOLLOW_LINKS`** <br>
+ Purpose: `true` creates <s>external links</s> **absolute** links with `nofollow` being added to their `rel` attribute. Thereby crawlers are advised to not follow the link. While the `rel="nofollow"` attribute is typically used for external links, Blackfriday does that for _all_ absolute links. One needs to make note of this if they use absolute links throughout, for internal links too (for example, by setting `canonifyURLs` to `true` or via `absURL`).
+
`plainIDAnchors`
: default **`true`** <br>
Blackfriday flag: **`FootnoteAnchorPrefix` and `HeaderIDSuffix`** <br>
diff --git a/helpers/content.go b/helpers/content.go
index d42995519..4a46ecb77 100644
--- a/helpers/content.go
+++ b/helpers/content.go
@@ -108,6 +108,7 @@ type BlackFriday struct {
AngledQuotes bool
Fractions bool
HrefTargetBlank bool
+ NofollowLinks bool
SmartDashes bool
LatexDashes bool
TaskLists bool
@@ -124,6 +125,7 @@ func newBlackfriday(config map[string]interface{}) *BlackFriday {
"smartypantsQuotesNBSP": false,
"fractions": true,
"hrefTargetBlank": false,
+ "nofollowLinks": false,
"smartDashes": true,
"latexDashes": true,
"plainIDAnchors": true,
@@ -277,6 +279,10 @@ func (c *ContentSpec) getHTMLRenderer(defaultFlags int, ctx *RenderingContext) b
htmlFlags |= blackfriday.HTML_HREF_TARGET_BLANK
}
+ if ctx.Config.NofollowLinks {
+ htmlFlags |= blackfriday.HTML_NOFOLLOW_LINKS
+ }
+
if ctx.Config.SmartDashes {
htmlFlags |= blackfriday.HTML_SMARTYPANTS_DASHES
}
diff --git a/helpers/content_test.go b/helpers/content_test.go
index 2f8884c55..fe670bd74 100644
--- a/helpers/content_test.go
+++ b/helpers/content_test.go
@@ -204,6 +204,7 @@ func TestGetHTMLRendererAllFlags(t *testing.T) {
{blackfriday.HTML_SMARTYPANTS_ANGLED_QUOTES},
{blackfriday.HTML_SMARTYPANTS_FRACTIONS},
{blackfriday.HTML_HREF_TARGET_BLANK},
+ {blackfriday.HTML_NOFOLLOW_LINKS},
{blackfriday.HTML_SMARTYPANTS_DASHES},
{blackfriday.HTML_SMARTYPANTS_LATEX_DASHES},
}
@@ -212,6 +213,7 @@ func TestGetHTMLRendererAllFlags(t *testing.T) {
ctx.Config.AngledQuotes = true
ctx.Config.Fractions = true
ctx.Config.HrefTargetBlank = true
+ ctx.Config.NofollowLinks = true
ctx.Config.LatexDashes = true
ctx.Config.PlainIDAnchors = true
ctx.Config.SmartDashes = true