From d256564c435c5cef02262fb64fb2bddcd38c05a1 Mon Sep 17 00:00:00 2001
From: Adam Mathes <adam@trenchant.org>
Date: Tue, 21 Nov 2017 15:13:15 -0700
Subject: add full view toggle kb shortcut

---
 models/item/item.go | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

(limited to 'models')

diff --git a/models/item/item.go b/models/item/item.go
index 48d76bf..ebc1214 100644
--- a/models/item/item.go
+++ b/models/item/item.go
@@ -70,16 +70,33 @@ func (i *Item) FullSave() {
 func (i *Item) GetFullContent() {
 	g := goose.New()
 	article, err := g.ExtractFromURL(i.Url)
+	if err != nil {
+		log.Println(err)
+		return
+	}
+
+	if article.TopNode == nil {
+		return
+	}
+
 	var md, img string
 	md = ""
 	img = ""
+	md = string(blackfriday.MarkdownCommon([]byte(article.CleanedText)))
+
+	ht, err := article.TopNode.Html()
 	if err != nil {
-		log.Println(err)
-	} else {
-		md = string(blackfriday.MarkdownCommon([]byte(article.CleanedText)))
-		img = article.TopImage
+		return
 	}
 
+	p := bluemonday.NewPolicy()
+	p.AllowElements("blockquote", "a", "img", "p", "h1", "h2", "h3", "h4", "b", "i", "em", "strong")
+	p.AllowAttrs("href").OnElements("a")
+	p.AllowAttrs("src", "alt").OnElements("img")
+	md = p.Sanitize(ht)
+
+	img = article.TopImage
+
 	_, err = models.DB.Exec(`UPDATE item
                               SET full_content=?, header_image=?
                               WHERE id=?`, md, img, i.Id)
-- 
cgit v1.2.3