Some checks failed
Build and Release / Create Release (push) Successful in 0s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m48s
Build and Release / Lint (push) Failing after 5m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 5m37s
Go's semantic import versioning requires v2+ modules to include the major version in the module path. This enables using proper version tags (v3.x.x) instead of pseudo-versions. Updated module path: code.gitcaddy.com/server/v3
33 lines
882 B
Go
33 lines
882 B
Go
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package markdown
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"code.gitcaddy.com/server/v3/modules/markup"
|
|
"code.gitcaddy.com/server/v3/modules/util"
|
|
|
|
"github.com/yuin/goldmark/ast"
|
|
"github.com/yuin/goldmark/text"
|
|
)
|
|
|
|
func (g *ASTTransformer) transformHeading(_ *markup.RenderContext, v *ast.Heading, reader text.Reader, tocList *[]Header) {
|
|
for _, attr := range v.Attributes() {
|
|
if _, ok := attr.Value.([]byte); !ok {
|
|
v.SetAttribute(attr.Name, fmt.Appendf(nil, "%v", attr.Value))
|
|
}
|
|
}
|
|
txt := v.Text(reader.Source()) //nolint:staticcheck // Text is deprecated
|
|
header := Header{
|
|
Text: util.UnsafeBytesToString(txt),
|
|
Level: v.Level,
|
|
}
|
|
if id, found := v.AttributeString("id"); found {
|
|
header.ID = util.UnsafeBytesToString(id.([]byte))
|
|
}
|
|
*tocList = append(*tocList, header)
|
|
g.applyElementDir(v)
|
|
}
|