diff --git a/reader/rewrite/rewriter.go b/reader/rewrite/rewriter.go index ad1b9a32..c6b796a7 100644 --- a/reader/rewrite/rewriter.go +++ b/reader/rewrite/rewriter.go @@ -35,6 +35,10 @@ func Rewriter(entryURL, entryContent, customRewriteRules string) string { entryContent = addYoutubeVideo(entryURL, entryContent) case "add_pdf_download_link": entryContent = addPDFLink(entryURL, entryContent) + case "nl2br": + entryContent = replaceLineFeeds(entryContent) + case "convert_text_link": + entryContent = replaceTextLinks(entryContent) } } diff --git a/reader/rewrite/rewriter_test.go b/reader/rewrite/rewriter_test.go index 0fd49ba5..27cf4257 100644 --- a/reader/rewrite/rewriter_test.go +++ b/reader/rewrite/rewriter_test.go @@ -156,3 +156,23 @@ func TestRewriteWithUnknownLazyNoScriptImage(t *testing.T) { t.Errorf(`Not expected output: got "%s" instead of "%s"`, output, expected) } } + +func TestNewLineRewriteRule(t *testing.T) { + description := "A\nB\nC" + output := Rewriter("https://example.org/article", description, "nl2br") + expected := `A
B
C` + + if expected != output { + t.Errorf(`Not expected output: got %q instead of %q`, output, expected) + } +} + +func TestConvertTextLinkRewriteRule(t *testing.T) { + description := "Test: http://example.org/a/b" + output := Rewriter("https://example.org/article", description, "convert_text_link") + expected := `Test: http://example.org/a/b` + + if expected != output { + t.Errorf(`Not expected output: got %q instead of %q`, output, expected) + } +} diff --git a/reader/rewrite/rules.go b/reader/rewrite/rules.go index 62df1ed7..c5d92fa4 100644 --- a/reader/rewrite/rules.go +++ b/reader/rewrite/rules.go @@ -28,4 +28,5 @@ var predefinedRules = map[string]string{ "treelobsters.com": "add_image_title", "youtube.com": "add_youtube_video", "xkcd.com": "add_image_title", + "framatube.org": "nl2br,convert_text_link", }