summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/russross/blackfriday
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/russross/blackfriday')
-rw-r--r--vendor/github.com/russross/blackfriday/.travis.yml1
-rw-r--r--vendor/github.com/russross/blackfriday/LICENSE.txt53
-rw-r--r--vendor/github.com/russross/blackfriday/README.md95
-rw-r--r--vendor/github.com/russross/blackfriday/block.go24
-rw-r--r--vendor/github.com/russross/blackfriday/go.mod2
-rw-r--r--vendor/github.com/russross/blackfriday/html.go7
-rw-r--r--vendor/github.com/russross/blackfriday/inline.go2
-rw-r--r--vendor/github.com/russross/blackfriday/markdown.go2
8 files changed, 99 insertions, 87 deletions
diff --git a/vendor/github.com/russross/blackfriday/.travis.yml b/vendor/github.com/russross/blackfriday/.travis.yml
index 2f3351d7..a49fff15 100644
--- a/vendor/github.com/russross/blackfriday/.travis.yml
+++ b/vendor/github.com/russross/blackfriday/.travis.yml
@@ -3,6 +3,7 @@ language: go
go:
- "1.9.x"
- "1.10.x"
+ - "1.11.x"
- tip
matrix:
fast_finish: true
diff --git a/vendor/github.com/russross/blackfriday/LICENSE.txt b/vendor/github.com/russross/blackfriday/LICENSE.txt
index 2885af36..7fbb253a 100644
--- a/vendor/github.com/russross/blackfriday/LICENSE.txt
+++ b/vendor/github.com/russross/blackfriday/LICENSE.txt
@@ -1,29 +1,28 @@
Blackfriday is distributed under the Simplified BSD License:
-> Copyright © 2011 Russ Ross
-> All rights reserved.
->
-> Redistribution and use in source and binary forms, with or without
-> modification, are permitted provided that the following conditions
-> are met:
->
-> 1. Redistributions of source code must retain the above copyright
-> notice, this list of conditions and the following disclaimer.
->
-> 2. Redistributions in binary form must reproduce the above
-> copyright notice, this list of conditions and the following
-> disclaimer in the documentation and/or other materials provided with
-> the distribution.
->
-> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-> FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-> COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-> INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-> LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-> ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-> POSSIBILITY OF SUCH DAMAGE.
+Copyright © 2011 Russ Ross
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided with
+ the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/russross/blackfriday/README.md b/vendor/github.com/russross/blackfriday/README.md
index 3c62e137..997ef5d4 100644
--- a/vendor/github.com/russross/blackfriday/README.md
+++ b/vendor/github.com/russross/blackfriday/README.md
@@ -1,6 +1,6 @@
Blackfriday
-[![Build Status][BuildSVG]][BuildURL]
-[![Godoc][GodocV2SVG]][GodocV2URL]
+[![Build Status][BuildV2SVG]][BuildV2URL]
+[![PkgGoDev][PkgGoDevV2SVG]][PkgGoDevV2URL]
===========
Blackfriday is a [Markdown][1] processor implemented in [Go][2]. It
@@ -18,12 +18,21 @@ It started as a translation from C of [Sundown][3].
Installation
------------
-Blackfriday is compatible with any modern Go release. With Go and git installed:
+Blackfriday is compatible with modern Go releases in module mode.
+With Go installed:
- go get -u gopkg.in/russross/blackfriday.v2
+ go get github.com/russross/blackfriday
-will download, compile, and install the package into your `$GOPATH` directory
-hierarchy.
+will resolve and add the package to the current development module,
+then build and install it. Alternatively, you can achieve the same
+if you import it in a package:
+
+ import "github.com/russross/blackfriday"
+
+and `go get` without parameters.
+
+Old versions of Go and legacy GOPATH mode might work,
+but no effort is made to keep them working.
Versions
@@ -32,13 +41,9 @@ Versions
Currently maintained and recommended version of Blackfriday is `v2`. It's being
developed on its own branch: https://github.com/russross/blackfriday/tree/v2 and the
documentation is available at
-https://godoc.org/gopkg.in/russross/blackfriday.v2.
+https://pkg.go.dev/github.com/russross/blackfriday/v2.
-It is `go get`-able via [gopkg.in][6] at `gopkg.in/russross/blackfriday.v2`,
-but we highly recommend using package management tool like [dep][7] or
-[Glide][8] and make use of semantic versioning. With package management you
-should import `github.com/russross/blackfriday` and specify that you're using
-version 2.0.0.
+It is `go get`-able in module mode at `github.com/russross/blackfriday/v2`.
Version 2 offers a number of improvements over v1:
@@ -60,22 +65,7 @@ Potential drawbacks:
If you are still interested in the legacy `v1`, you can import it from
`github.com/russross/blackfriday`. Documentation for the legacy v1 can be found
-here: https://godoc.org/github.com/russross/blackfriday
-
-### Known issue with `dep`
-
-There is a known problem with using Blackfriday v1 _transitively_ and `dep`.
-Currently `dep` prioritizes semver versions over anything else, and picks the
-latest one, plus it does not apply a `[[constraint]]` specifier to transitively
-pulled in packages. So if you're using something that uses Blackfriday v1, but
-that something does not use `dep` yet, you will get Blackfriday v2 pulled in and
-your first dependency will fail to build.
-
-There are couple of fixes for it, documented here:
-https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i-constrain-a-transitive-dependencys-version
-
-Meanwhile, `dep` team is working on a more general solution to the constraints
-on transitive dependencies problem: https://github.com/golang/dep/issues/1124.
+here: https://pkg.go.dev/github.com/russross/blackfriday.
Usage
@@ -86,12 +76,16 @@ Usage
For basic usage, it is as simple as getting your input into a byte
slice and calling:
- output := blackfriday.MarkdownBasic(input)
+```go
+output := blackfriday.MarkdownBasic(input)
+```
This renders it with no extensions enabled. To get a more useful
feature set, use this instead:
- output := blackfriday.MarkdownCommon(input)
+```go
+output := blackfriday.MarkdownCommon(input)
+```
### v2
@@ -121,7 +115,7 @@ Here's an example of simple usage of Blackfriday together with Bluemonday:
```go
import (
"github.com/microcosm-cc/bluemonday"
- "gopkg.in/russross/blackfriday.v2"
+ "github.com/russross/blackfriday"
)
// ...
@@ -154,7 +148,7 @@ markdown file using a standalone program. You can also browse the
source directly on github if you are just looking for some example
code:
-* <http://github.com/russross/blackfriday-tool>
+* <https://github.com/russross/blackfriday-tool>
Note that if you have not already done so, installing
`blackfriday-tool` will be sufficient to download and install
@@ -171,12 +165,12 @@ anchors for headings when `EXTENSION_AUTO_HEADER_IDS` is enabled. The
algorithm has a specification, so that other packages can create
compatible anchor names and links to those anchors.
-The specification is located at https://godoc.org/github.com/russross/blackfriday#hdr-Sanitized_Anchor_Names.
+The specification is located at https://pkg.go.dev/github.com/russross/blackfriday#hdr-Sanitized_Anchor_Names.
-[`SanitizedAnchorName`](https://godoc.org/github.com/russross/blackfriday#SanitizedAnchorName) exposes this functionality, and can be used to
+[`SanitizedAnchorName`](https://pkg.go.dev/github.com/russross/blackfriday#SanitizedAnchorName) exposes this functionality, and can be used to
create compatible links to the anchor names generated by blackfriday.
This algorithm is also implemented in a small standalone package at
-[`github.com/shurcooL/sanitized_anchor_name`](https://godoc.org/github.com/shurcooL/sanitized_anchor_name). It can be useful for clients
+[`github.com/shurcooL/sanitized_anchor_name`](https://pkg.go.dev/github.com/shurcooL/sanitized_anchor_name). It can be useful for clients
that want a small package and don't need full functionality of blackfriday.
@@ -246,7 +240,7 @@ implements the following extensions:
and supply a language (to make syntax highlighting simple). Just
mark it like this:
- ``` go
+ ```go
func getTrue() bool {
return true
}
@@ -258,7 +252,7 @@ implements the following extensions:
To preserve classes of fenced code blocks while using the bluemonday
HTML sanitizer, use the following policy:
- ``` go
+ ```go
p := bluemonday.UGCPolicy()
p.AllowAttrs("class").Matching(regexp.MustCompile("^language-[a-zA-Z0-9]+$")).OnElements("code")
html := p.SanitizeBytes(unsafe)
@@ -269,7 +263,7 @@ implements the following extensions:
Cat
: Fluffy animal everyone likes
-
+
Internet
: Vector of transmission for pictures of cats
@@ -280,7 +274,7 @@ implements the following extensions:
end of the document. A footnote looks like this:
This is a footnote.[^1]
-
+
[^1]: the footnote text.
* **Autolinking**. Blackfriday can find URLs that have not been
@@ -317,7 +311,7 @@ Other renderers
Blackfriday is structured to allow alternative rendering engines. Here
are a few of note:
-* [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown):
+* [github_flavored_markdown](https://pkg.go.dev/github.com/shurcooL/github_flavored_markdown):
provides a GitHub Flavored Markdown renderer with fenced code block
highlighting, clickable heading anchor links.
@@ -328,7 +322,7 @@ are a few of note:
* [markdownfmt](https://github.com/shurcooL/markdownfmt): like gofmt,
but for markdown.
-* [LaTeX output](https://bitbucket.org/ambrevar/blackfriday-latex):
+* [LaTeX output](https://gitlab.com/ambrevar/blackfriday-latex):
renders output as LaTeX.
* [bfchroma](https://github.com/Depado/bfchroma/): provides convenience
@@ -337,6 +331,10 @@ are a few of note:
provides a drop-in renderer ready to use with Blackfriday, as well as
options and means for further customization.
+* [Blackfriday-Confluence](https://github.com/kentaro-m/blackfriday-confluence): provides a [Confluence Wiki Markup](https://confluence.atlassian.com/doc/confluence-wiki-markup-251003035.html) renderer.
+
+* [Blackfriday-Slack](https://github.com/karriereat/blackfriday-slack): converts markdown to slack message style
+
TODO
----
@@ -357,13 +355,10 @@ License
[1]: https://daringfireball.net/projects/markdown/ "Markdown"
[2]: https://golang.org/ "Go Language"
[3]: https://github.com/vmg/sundown "Sundown"
- [4]: https://godoc.org/gopkg.in/russross/blackfriday.v2#Parse "Parse func"
+ [4]: https://pkg.go.dev/github.com/russross/blackfriday/v2#Parse "Parse func"
[5]: https://github.com/microcosm-cc/bluemonday "Bluemonday"
- [6]: https://labix.org/gopkg.in "gopkg.in"
- [7]: https://github.com/golang/dep/ "dep"
- [8]: https://github.com/Masterminds/glide "Glide"
-
- [BuildSVG]: https://travis-ci.org/russross/blackfriday.svg?branch=master
- [BuildURL]: https://travis-ci.org/russross/blackfriday
- [GodocV2SVG]: https://godoc.org/gopkg.in/russross/blackfriday.v2?status.svg
- [GodocV2URL]: https://godoc.org/gopkg.in/russross/blackfriday.v2
+
+ [BuildV2SVG]: https://travis-ci.org/russross/blackfriday.svg?branch=v2
+ [BuildV2URL]: https://travis-ci.org/russross/blackfriday
+ [PkgGoDevV2SVG]: https://pkg.go.dev/badge/github.com/russross/blackfriday/v2
+ [PkgGoDevV2URL]: https://pkg.go.dev/github.com/russross/blackfriday/v2
diff --git a/vendor/github.com/russross/blackfriday/block.go b/vendor/github.com/russross/blackfriday/block.go
index 45c21a6c..563cb290 100644
--- a/vendor/github.com/russross/blackfriday/block.go
+++ b/vendor/github.com/russross/blackfriday/block.go
@@ -649,14 +649,17 @@ func isFenceLine(data []byte, info *string, oldmarker string, newlineOptional bo
}
i = skipChar(data, i, ' ')
- if i >= len(data) || data[i] != '\n' {
- if newlineOptional && i == len(data) {
+ if i >= len(data) {
+ if newlineOptional {
return i, marker
}
return 0, ""
}
+ if data[i] == '\n' {
+ i++ // Take newline into account
+ }
- return i + 1, marker // Take newline into account.
+ return i, marker
}
// fencedCodeBlock returns the end index if data contains a fenced code block at the beginning,
@@ -1133,6 +1136,15 @@ func (p *parser) listItem(out *bytes.Buffer, data []byte, flags *int) int {
i++
}
+ // process the following lines
+ containsBlankLine := false
+ sublist := 0
+ codeBlockMarker := ""
+ if p.flags&EXTENSION_FENCED_CODE != 0 && i > line {
+ // determine if codeblock starts on the first line
+ _, codeBlockMarker = isFenceLine(data[line:i], nil, "", false)
+ }
+
// get working buffer
var raw bytes.Buffer
@@ -1140,11 +1152,6 @@ func (p *parser) listItem(out *bytes.Buffer, data []byte, flags *int) int {
raw.Write(data[line:i])
line = i
- // process the following lines
- containsBlankLine := false
- sublist := 0
- codeBlockMarker := ""
-
gatherlines:
for line < len(data) {
i++
@@ -1153,7 +1160,6 @@ gatherlines:
for data[i-1] != '\n' {
i++
}
-
// if it is an empty line, guess that it is part of this item
// and move on to the next line
if p.isEmpty(data[line:i]) > 0 {
diff --git a/vendor/github.com/russross/blackfriday/go.mod b/vendor/github.com/russross/blackfriday/go.mod
index b05561a0..d0f058ae 100644
--- a/vendor/github.com/russross/blackfriday/go.mod
+++ b/vendor/github.com/russross/blackfriday/go.mod
@@ -1 +1,3 @@
module github.com/russross/blackfriday
+
+go 1.13
diff --git a/vendor/github.com/russross/blackfriday/html.go b/vendor/github.com/russross/blackfriday/html.go
index e0a6c69c..fa044ca2 100644
--- a/vendor/github.com/russross/blackfriday/html.go
+++ b/vendor/github.com/russross/blackfriday/html.go
@@ -32,6 +32,7 @@ const (
HTML_SAFELINK // only link to trusted protocols
HTML_NOFOLLOW_LINKS // only link with rel="nofollow"
HTML_NOREFERRER_LINKS // only link with rel="noreferrer"
+ HTML_NOOPENER_LINKS // only link with rel="noopener"
HTML_HREF_TARGET_BLANK // add a blank target
HTML_TOC // generate a table of contents
HTML_OMIT_CONTENTS // skip the main contents (for a standalone table of contents)
@@ -445,6 +446,9 @@ func (options *Html) AutoLink(out *bytes.Buffer, link []byte, kind int) {
if options.flags&HTML_NOREFERRER_LINKS != 0 && !isRelativeLink(link) {
relAttrs = append(relAttrs, "noreferrer")
}
+ if options.flags&HTML_NOOPENER_LINKS != 0 && !isRelativeLink(link) {
+ relAttrs = append(relAttrs, "noopener")
+ }
if len(relAttrs) > 0 {
out.WriteString(fmt.Sprintf("\" rel=\"%s", strings.Join(relAttrs, " ")))
}
@@ -559,6 +563,9 @@ func (options *Html) Link(out *bytes.Buffer, link []byte, title []byte, content
if options.flags&HTML_NOREFERRER_LINKS != 0 && !isRelativeLink(link) {
relAttrs = append(relAttrs, "noreferrer")
}
+ if options.flags&HTML_NOOPENER_LINKS != 0 && !isRelativeLink(link) {
+ relAttrs = append(relAttrs, "noopener")
+ }
if len(relAttrs) > 0 {
out.WriteString(fmt.Sprintf("\" rel=\"%s", strings.Join(relAttrs, " ")))
}
diff --git a/vendor/github.com/russross/blackfriday/inline.go b/vendor/github.com/russross/blackfriday/inline.go
index 4483b8f1..27056ebc 100644
--- a/vendor/github.com/russross/blackfriday/inline.go
+++ b/vendor/github.com/russross/blackfriday/inline.go
@@ -252,7 +252,7 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int {
case data[i] == '\n':
textHasNl = true
- case data[i-1] == '\\':
+ case isBackslashEscaped(data, i):
continue
case data[i] == '[':
diff --git a/vendor/github.com/russross/blackfriday/markdown.go b/vendor/github.com/russross/blackfriday/markdown.go
index 41595d62..a0349caf 100644
--- a/vendor/github.com/russross/blackfriday/markdown.go
+++ b/vendor/github.com/russross/blackfriday/markdown.go
@@ -132,6 +132,7 @@ var blockTags = map[string]struct{}{
"article": {},
"aside": {},
"canvas": {},
+ "details": {},
"figcaption": {},
"figure": {},
"footer": {},
@@ -142,6 +143,7 @@ var blockTags = map[string]struct{}{
"output": {},
"progress": {},
"section": {},
+ "summary": {},
"video": {},
}