diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index c382846..a5a46c8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -5,7 +5,7 @@ jobs: strategy: fail-fast: false matrix: - go-version: [1.19.x, 1.20.x] + go-version: [1.21.x, 1.22.x] platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} steps: @@ -16,16 +16,18 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - name: Run lints - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v6 with: version: latest if: "matrix.platform == 'ubuntu-latest'" # gofmt linter fails on Windows for CRLF problems - name: Run tests + env: + GOLDMARK_TEST_TIMEOUT_MULTIPLIER: 5 run: go test -v ./... -covermode=count -coverprofile=coverage.out -coverpkg=./... + - name: Install goveralls + run: go install github.com/mattn/goveralls@latest - name: Send coverage if: "matrix.platform == 'ubuntu-latest'" env: COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - GO111MODULE=off go get github.com/mattn/goveralls - $(go env GOPATH)/bin/goveralls -coverprofile=coverage.out -service=github + run: goveralls -coverprofile=covprofile -service=github diff --git a/extension/_test/strikethrough.txt b/extension/_test/strikethrough.txt index e74f58d..5f37627 100644 --- a/extension/_test/strikethrough.txt +++ b/extension/_test/strikethrough.txt @@ -5,8 +5,6 @@
Hi Hello, world!
new paragraph~~.
//= = = = = = = = = = = = = = = = = = = = = = = =// - - 3 //- - - - - - - - -// ~Hi~ Hello, world! //- - - - - - - - -//Hi Hello, world!
This will ~~~not~~~ strike.
+//= = = = = = = = = = = = = = = = = = = = = = = =// + +5: Leading three or more tildes do not create a strikethrough, create a code block +//- - - - - - - - -// +~~~Hi~~~ Hello, world! +//- - - - - - - - -// +
+//= = = = = = = = = = = = = = = = = = = = = = = =//
+
+
diff --git a/extension/strikethrough.go b/extension/strikethrough.go
index fbb099f..9fc0bec 100644
--- a/extension/strikethrough.go
+++ b/extension/strikethrough.go
@@ -47,9 +47,10 @@ func (s *strikethroughParser) Parse(parent gast.Node, block text.Reader, pc pars
before := block.PrecendingCharacter()
line, segment := block.PeekLine()
node := parser.ScanDelimiter(line, before, 1, defaultStrikethroughDelimiterProcessor)
- if node == nil {
+ if node == nil || node.OriginalLength > 2 || before == '~' {
return nil
}
+
node.Segment = segment.WithStop(segment.Start + node.OriginalLength)
block.Advance(node.OriginalLength)
pc.PushDelimiter(node)
diff --git a/extension/table.go b/extension/table.go
index 2fe7a51..617c7a3 100644
--- a/extension/table.go
+++ b/extension/table.go
@@ -492,7 +492,7 @@ func (r *TableHTMLRenderer) renderTableCell(
tag = "th"
}
if entering {
- fmt.Fprintf(w, "<%s", tag)
+ _, _ = fmt.Fprintf(w, "<%s", tag)
if n.Alignment != ast.AlignNone {
amethod := r.TableConfig.TableCellAlignMethod
if amethod == TableCellAlignDefault {
@@ -505,7 +505,7 @@ func (r *TableHTMLRenderer) renderTableCell(
switch amethod {
case TableCellAlignAttribute:
if _, ok := n.AttributeString("align"); !ok { // Skip align render if overridden
- fmt.Fprintf(w, ` align="%s"`, n.Alignment.String())
+ _, _ = fmt.Fprintf(w, ` align="%s"`, n.Alignment.String())
}
case TableCellAlignStyle:
v, ok := n.AttributeString("style")
@@ -528,7 +528,7 @@ func (r *TableHTMLRenderer) renderTableCell(
}
_ = w.WriteByte('>')
} else {
- fmt.Fprintf(w, "%s>\n", tag)
+ _, _ = fmt.Fprintf(w, "%s>\n", tag)
}
return gast.WalkContinue, nil
}
diff --git a/renderer/html/html.go b/renderer/html/html.go
index 75ac6db..b1da368 100644
--- a/renderer/html/html.go
+++ b/renderer/html/html.go
@@ -445,7 +445,7 @@ func (r *Renderer) renderList(w util.BufWriter, source []byte, node ast.Node, en
_ = w.WriteByte('<')
_, _ = w.WriteString(tag)
if n.IsOrdered() && n.Start != 1 {
- fmt.Fprintf(w, " start=\"%d\"", n.Start)
+ _, _ = fmt.Fprintf(w, " start=\"%d\"", n.Start)
}
if n.Attributes() != nil {
RenderAttributes(w, n, ListAttributeFilter)