From 67002b01b615af4456e1bb362d11002a57e32c1f Mon Sep 17 00:00:00 2001 From: tummychow Date: Wed, 27 Aug 2014 23:26:20 -0400 Subject: [PATCH] Use HTML5 recommended style of language on code blocks For code blocks that contain a certain language of code, the recommended attribute structure is
. This also
corresponds to the behavior expected by various JS syntax highlighters.

The GitHub code block implementation was obsolete, and identical to the
normal implementation except for its attribute structure, so it was
removed.

Closes #108.
---
 html.go | 54 +-----------------------------------------------------
 1 file changed, 1 insertion(+), 53 deletions(-)

diff --git a/html.go b/html.go
index 982131c..666c9e2 100644
--- a/html.go
+++ b/html.go
@@ -36,7 +36,6 @@ const (
 	HTML_TOC                                  // generate a table of contents
 	HTML_OMIT_CONTENTS                        // skip the main contents (for a standalone table of contents)
 	HTML_COMPLETE_PAGE                        // generate a complete HTML page
-	HTML_GITHUB_BLOCKCODE                     // use github fenced code rendering rules
 	HTML_USE_XHTML                            // generate XHTML output instead of HTML
 	HTML_USE_SMARTYPANTS                      // enable smart punctuation substitutions
 	HTML_SMARTYPANTS_FRACTIONS                // enable smart fractions (with HTML_USE_SMARTYPANTS)
@@ -232,14 +231,6 @@ func (options *Html) HRule(out *bytes.Buffer) {
 }
 
 func (options *Html) BlockCode(out *bytes.Buffer, text []byte, lang string) {
-	if options.flags&HTML_GITHUB_BLOCKCODE != 0 {
-		options.BlockCodeGithub(out, text, lang)
-	} else {
-		options.BlockCodeNormal(out, text, lang)
-	}
-}
-
-func (options *Html) BlockCodeNormal(out *bytes.Buffer, text []byte, lang string) {
 	doubleSpace(out)
 
 	// parse out the language names/classes
@@ -252,7 +243,7 @@ func (options *Html) BlockCodeNormal(out *bytes.Buffer, text []byte, lang string
 			continue
 		}
 		if count == 0 {
-			out.WriteString("
\n") } -// GitHub style code block: -// -//

-//              ...
-//              
-// -// Unlike other parsers, we store the language identifier in the
,
-// and don't let the user generate custom classes.
-//
-// The language identifier in the 
 block gets postprocessed and all
-// the code inside gets syntax highlighted with Pygments. This is much safer
-// than letting the user specify a CSS class for highlighting.
-//
-// Note that we only generate HTML for the first specifier.
-// E.g.
-//              ~~~~ {.python .numbered}        =>      

-func (options *Html) BlockCodeGithub(out *bytes.Buffer, text []byte, lang string) {
-	doubleSpace(out)
-
-	// parse out the language name
-	count := 0
-	for _, elt := range strings.Fields(lang) {
-		if elt[0] == '.' {
-			elt = elt[1:]
-		}
-		if len(elt) == 0 {
-			continue
-		}
-		out.WriteString("
")
-		count++
-		break
-	}
-
-	if count == 0 {
-		out.WriteString("
")
-	}
-
-	attrEscape(out, text)
-	out.WriteString("
\n") -} - func (options *Html) BlockQuote(out *bytes.Buffer, text []byte) { doubleSpace(out) out.WriteString("
\n")