Page MenuHomeMusing Studio

No OneTemporary

diff --git a/posts/render.go b/posts/render.go
index 90099dd..157bed2 100644
--- a/posts/render.go
+++ b/posts/render.go
@@ -1,37 +1,63 @@
package posts
import (
"github.com/microcosm-cc/bluemonday"
"github.com/writeas/saturday"
"regexp"
+ "strings"
+ "unicode"
)
var (
blockReg = regexp.MustCompile("<(ul|ol|blockquote)>\n")
endBlockReg = regexp.MustCompile("</([a-z]+)>\n</(ul|ol|blockquote)>")
+
+ markeddownReg = regexp.MustCompile("<p>(.+)</p>")
)
func ApplyMarkdown(data []byte) string {
mdExtensions := 0 |
blackfriday.EXTENSION_TABLES |
blackfriday.EXTENSION_FENCED_CODE |
blackfriday.EXTENSION_AUTOLINK |
blackfriday.EXTENSION_STRIKETHROUGH |
blackfriday.EXTENSION_SPACE_HEADERS |
blackfriday.EXTENSION_HEADER_IDS
htmlFlags := 0 |
blackfriday.HTML_USE_SMARTYPANTS |
blackfriday.HTML_SMARTYPANTS_DASHES
// Generate Markdown
md := blackfriday.Markdown([]byte(data), blackfriday.HtmlRenderer(htmlFlags, "", ""), mdExtensions)
// Strip out bad HTML
policy := bluemonday.UGCPolicy()
policy.AllowAttrs("class", "id").Globally()
outHTML := string(policy.SanitizeBytes(md))
// Strip newlines on certain block elements that render with them
outHTML = blockReg.ReplaceAllString(outHTML, "<$1>")
outHTML = endBlockReg.ReplaceAllString(outHTML, "</$1></$2>")
return outHTML
}
+
+func ApplyBasicMarkdown(data []byte) string {
+ mdExtensions := 0 |
+ blackfriday.EXTENSION_STRIKETHROUGH |
+ blackfriday.EXTENSION_SPACE_HEADERS |
+ blackfriday.EXTENSION_HEADER_IDS
+ htmlFlags := 0 |
+ blackfriday.HTML_SKIP_HTML |
+ blackfriday.HTML_USE_SMARTYPANTS |
+ blackfriday.HTML_SMARTYPANTS_DASHES
+
+ // Generate Markdown
+ md := blackfriday.Markdown([]byte(data), blackfriday.HtmlRenderer(htmlFlags, "", ""), mdExtensions)
+ // Strip out bad HTML
+ policy := bluemonday.UGCPolicy()
+ policy.AllowAttrs("class", "id").Globally()
+ outHTML := string(policy.SanitizeBytes(md))
+ outHTML = markeddownReg.ReplaceAllString(outHTML, "$1")
+ outHTML = strings.TrimRightFunc(outHTML, unicode.IsSpace)
+
+ return outHTML
+}

File Metadata

Mime Type
text/x-diff
Expires
Wed, Jul 8, 4:22 PM (9 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3775209

Event Timeline