| // Copyright 2021 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package markdown |
| |
| import "strings" |
| |
| // htmlTags lists the known HTML tags for HTML blocks. |
| var htmlTags = []string{ |
| "address", |
| "article", |
| "aside", |
| "base", |
| "basefont", |
| "blockquote", |
| "body", |
| "caption", |
| "center", |
| "col", |
| "colgroup", |
| "dd", |
| "details", |
| "dialog", |
| "dir", |
| "div", |
| "dl", |
| "dt", |
| "fieldset", |
| "figcaption", |
| "figure", |
| "footer", |
| "form", |
| "frame", |
| "frameset", |
| "h1", |
| "h2", |
| "h3", |
| "h4", |
| "h5", |
| "h6", |
| "head", |
| "header", |
| "hr", |
| "html", |
| "iframe", |
| "legend", |
| "li", |
| "link", |
| "main", |
| "menu", |
| "menuitem", |
| "nav", |
| "noframes", |
| "ol", |
| "optgroup", |
| "option", |
| "p", |
| "param", |
| "section", |
| "source", |
| "summary", |
| "table", |
| "tbody", |
| "td", |
| "tfoot", |
| "th", |
| "thead", |
| "title", |
| "tr", |
| "track", |
| "ul", |
| } |
| |
| var htmlEscaper = strings.NewReplacer( |
| "\"", """, |
| "&", "&", |
| "<", "<", |
| ">", ">", |
| ) |
| |
| var htmlQuoteEscaper = strings.NewReplacer( |
| "\"", """, |
| "&", "&", |
| "<", "<", |
| ">", ">", |
| ) |
| |
| var htmlLinkEscaper = strings.NewReplacer( |
| "\"", "%22", |
| "&", "&", |
| "<", "%3C", |
| ">", "%3E", |
| "\\", "%5C", |
| " ", "%20", |
| "`", "%60", |
| "[", "%5B", |
| "]", "%5D", |
| "^", "%5E", |
| "{", "%7B", |
| "}", "%7D", |
| "\x00", "%00", |
| "\x01", "%01", |
| "\x02", "%02", |
| "\x03", "%03", |
| "\x04", "%04", |
| "\x05", "%05", |
| "\x06", "%06", |
| "\x07", "%07", |
| "\x08", "%08", |
| // "\x09", "%09", |
| // "\x0A", "%0A", |
| "\x0B", "%0B", |
| "\x0C", "%0C", |
| // "\x0D", "%0D", |
| "\x0E", "%0E", |
| "\x0F", "%0F", |
| "\x10", "%10", |
| "\x11", "%11", |
| "\x12", "%12", |
| "\x13", "%13", |
| "\x14", "%14", |
| "\x15", "%15", |
| "\x16", "%16", |
| "\x17", "%17", |
| "\x18", "%18", |
| "\x19", "%19", |
| "\x1A", "%1A", |
| "\x1B", "%1B", |
| "\x1C", "%1C", |
| "\x1D", "%1D", |
| "\x1E", "%1E", |
| "\x1F", "%1F", |
| "\x7F", "%7F", |
| "\x80", "%80", |
| "\x81", "%81", |
| "\x82", "%82", |
| "\x83", "%83", |
| "\x84", "%84", |
| "\x85", "%85", |
| "\x86", "%86", |
| "\x87", "%87", |
| "\x88", "%88", |
| "\x89", "%89", |
| "\x8A", "%8A", |
| "\x8B", "%8B", |
| "\x8C", "%8C", |
| "\x8D", "%8D", |
| "\x8E", "%8E", |
| "\x8F", "%8F", |
| "\x90", "%90", |
| "\x91", "%91", |
| "\x92", "%92", |
| "\x93", "%93", |
| "\x94", "%94", |
| "\x95", "%95", |
| "\x96", "%96", |
| "\x97", "%97", |
| "\x98", "%98", |
| "\x99", "%99", |
| "\x9A", "%9A", |
| "\x9B", "%9B", |
| "\x9C", "%9C", |
| "\x9D", "%9D", |
| "\x9E", "%9E", |
| "\x9F", "%9F", |
| "\xA0", "%A0", |
| "\xA1", "%A1", |
| "\xA2", "%A2", |
| "\xA3", "%A3", |
| "\xA4", "%A4", |
| "\xA5", "%A5", |
| "\xA6", "%A6", |
| "\xA7", "%A7", |
| "\xA8", "%A8", |
| "\xA9", "%A9", |
| "\xAA", "%AA", |
| "\xAB", "%AB", |
| "\xAC", "%AC", |
| "\xAD", "%AD", |
| "\xAE", "%AE", |
| "\xAF", "%AF", |
| "\xB0", "%B0", |
| "\xB1", "%B1", |
| "\xB2", "%B2", |
| "\xB3", "%B3", |
| "\xB4", "%B4", |
| "\xB5", "%B5", |
| "\xB6", "%B6", |
| "\xB7", "%B7", |
| "\xB8", "%B8", |
| "\xB9", "%B9", |
| "\xBA", "%BA", |
| "\xBB", "%BB", |
| "\xBC", "%BC", |
| "\xBD", "%BD", |
| "\xBE", "%BE", |
| "\xBF", "%BF", |
| "\xC0", "%C0", |
| "\xC1", "%C1", |
| "\xC2", "%C2", |
| "\xC3", "%C3", |
| "\xC4", "%C4", |
| "\xC5", "%C5", |
| "\xC6", "%C6", |
| "\xC7", "%C7", |
| "\xC8", "%C8", |
| "\xC9", "%C9", |
| "\xCA", "%CA", |
| "\xCB", "%CB", |
| "\xCC", "%CC", |
| "\xCD", "%CD", |
| "\xCE", "%CE", |
| "\xCF", "%CF", |
| "\xD0", "%D0", |
| "\xD1", "%D1", |
| "\xD2", "%D2", |
| "\xD3", "%D3", |
| "\xD4", "%D4", |
| "\xD5", "%D5", |
| "\xD6", "%D6", |
| "\xD7", "%D7", |
| "\xD8", "%D8", |
| "\xD9", "%D9", |
| "\xDA", "%DA", |
| "\xDB", "%DB", |
| "\xDC", "%DC", |
| "\xDD", "%DD", |
| "\xDE", "%DE", |
| "\xDF", "%DF", |
| "\xE0", "%E0", |
| "\xE1", "%E1", |
| "\xE2", "%E2", |
| "\xE3", "%E3", |
| "\xE4", "%E4", |
| "\xE5", "%E5", |
| "\xE6", "%E6", |
| "\xE7", "%E7", |
| "\xE8", "%E8", |
| "\xE9", "%E9", |
| "\xEA", "%EA", |
| "\xEB", "%EB", |
| "\xEC", "%EC", |
| "\xED", "%ED", |
| "\xEE", "%EE", |
| "\xEF", "%EF", |
| "\xF0", "%F0", |
| "\xF1", "%F1", |
| "\xF2", "%F2", |
| "\xF3", "%F3", |
| "\xF4", "%F4", |
| "\xF5", "%F5", |
| "\xF6", "%F6", |
| "\xF7", "%F7", |
| "\xF8", "%F8", |
| "\xF9", "%F9", |
| "\xFA", "%FA", |
| "\xFB", "%FB", |
| "\xFC", "%FC", |
| "\xFD", "%FD", |
| "\xFE", "%FE", |
| "\xFF", "%FF", |
| ) |