Support embedding <script> tags in markdown pages
authorJake Mitchell <jacob.d.mitchell@gmail.com>
Fri, 30 May 2014 03:42:12 +0000 (20:42 -0700)
committerspf13 <steve.francia@gmail.com>
Tue, 3 Jun 2014 19:14:38 +0000 (15:14 -0400)
hugolib/page.go
hugolib/page_test.go

index 94c9b928a0319bec92392af93adba5d325dfbda1..48265ebfc8d282263c1383ecb3076bedfecda8b6 100644 (file)
@@ -652,7 +652,6 @@ func (page *Page) Convert() error {
 
 func markdownRender(content []byte) []byte {
        htmlFlags := 0
-       htmlFlags |= blackfriday.HTML_SKIP_SCRIPT
        htmlFlags |= blackfriday.HTML_USE_XHTML
        htmlFlags |= blackfriday.HTML_USE_SMARTYPANTS
        htmlFlags |= blackfriday.HTML_SMARTYPANTS_FRACTIONS
@@ -672,7 +671,6 @@ func markdownRender(content []byte) []byte {
 
 func markdownRenderWithTOC(content []byte) []byte {
        htmlFlags := 0
-       htmlFlags |= blackfriday.HTML_SKIP_SCRIPT
        htmlFlags |= blackfriday.HTML_TOC
        htmlFlags |= blackfriday.HTML_USE_XHTML
        htmlFlags |= blackfriday.HTML_USE_SMARTYPANTS
index 0ade5c950bb17d9cec383373f65edbc558435cdd..5bd812e6e53972844cc0f6c96b7985c72e6abad5 100644 (file)
@@ -118,6 +118,12 @@ Summary Next Line. {{% img src="/not/real" %}}.
 More text here.
 
 Some more text
+`
+
+       SIMPLE_PAGE_WITH_EMBEDDED_SCRIPT = `---
+title: Simple
+---
+<script type='text/javascript'>alert('the script tags are still there, right?');</script>
 `
 
        SIMPLE_PAGE_WITH_SUMMARY_DELIMITER_SAME_LINE = `---
@@ -340,6 +346,16 @@ func TestPageWithShortCodeInSummary(t *testing.T) {
        checkPageLayout(t, p, "page/single.html", "single.html")
 }
 
+func TestPageWithEmbeddedScriptTag(t *testing.T) {
+       p, _ := NewPage("simple.md")
+       err := p.ReadFrom(strings.NewReader(SIMPLE_PAGE_WITH_EMBEDDED_SCRIPT))
+       p.Convert()
+       if err != nil {
+               t.Fatalf("Unable to create a page with frontmatter and body content: %s", err)
+       }
+       checkPageContent(t, p, "<script type='text/javascript'>alert('the script tags are still there, right?');</script>\n")
+}
+
 func TestTableOfContents(t *testing.T) {
        p, _ := NewPage("tocpage.md")
        err := p.ReadFrom(strings.NewReader(PAGE_WITH_TOC))