Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • oss/utilities/documentation-manager
1 result
Select Git revision
Show changes
Commits on Source (2)
...@@ -14,11 +14,13 @@ import ( ...@@ -14,11 +14,13 @@ import (
"github.com/gomarkdown/markdown/ast" "github.com/gomarkdown/markdown/ast"
markdownHTML "github.com/gomarkdown/markdown/html" markdownHTML "github.com/gomarkdown/markdown/html"
"github.com/gomarkdown/markdown/parser" "github.com/gomarkdown/markdown/parser"
"github.com/gosimple/slug"
"github.com/mattn/go-shellwords" "github.com/mattn/go-shellwords"
"github.com/tdewolff/minify/v2" "github.com/tdewolff/minify/v2"
minHTML "github.com/tdewolff/minify/v2/html" minHTML "github.com/tdewolff/minify/v2/html"
"github.com/yuin/goldmark" "github.com/yuin/goldmark"
"github.com/yuin/goldmark/extension" "github.com/yuin/goldmark/extension"
goldmarkParser "github.com/yuin/goldmark/parser"
goldmarkHTML "github.com/yuin/goldmark/renderer/html" goldmarkHTML "github.com/yuin/goldmark/renderer/html"
"gitlab.schukai.com/oss/utilities/documentation-manager/environment" "gitlab.schukai.com/oss/utilities/documentation-manager/environment"
"gitlab.schukai.com/oss/utilities/documentation-manager/translations" "gitlab.schukai.com/oss/utilities/documentation-manager/translations"
...@@ -223,7 +225,7 @@ func buildTree(body string) *Tree[DocumentNode] { ...@@ -223,7 +225,7 @@ func buildTree(body string) *Tree[DocumentNode] {
obj := newTree[DocumentNode]() obj := newTree[DocumentNode]()
ptr := obj ptr := obj
doc.Find("h1,h2,h3,h4").Each(func(k int, s *goquery.Selection) { doc.Find("h1,h2,h3,h4,h5,h6").Each(func(k int, s *goquery.Selection) {
e := s.Get(0) e := s.Get(0)
t := []rune(e.DataAtom.String()) t := []rune(e.DataAtom.String())
l := t[1:len(t)] l := t[1:len(t)]
...@@ -234,7 +236,15 @@ func buildTree(body string) *Tree[DocumentNode] { ...@@ -234,7 +236,15 @@ func buildTree(body string) *Tree[DocumentNode] {
aID, found := s.Attr("id") aID, found := s.Attr("id")
if !found { if !found {
aID = "rel-" + e.DataAtom.String()
if title, err := s.Html(); err == nil {
aID = slug.Make(title)
} else {
aID = "" + e.DataAtom.String() + "-" + randomID()
}
s.SetAttr("id", aID)
} }
payload := DocumentNode{ payload := DocumentNode{
...@@ -589,8 +599,21 @@ func renderHook(w io.Writer, node ast.Node, entering bool) (ast.WalkStatus, bool ...@@ -589,8 +599,21 @@ func renderHook(w io.Writer, node ast.Node, entering bool) (ast.WalkStatus, bool
func createHtmlFromMarkdown(text string) string { func createHtmlFromMarkdown(text string) string {
md := goldmark.New( md := goldmark.New(
goldmark.WithExtensions(extension.GFM), goldmark.WithExtensions(
goldmark.WithParserOptions(), extension.GFM,
extension.DefinitionList,
extension.Footnote,
extension.Typographer,
extension.Linkify,
extension.Table,
extension.Strikethrough,
extension.TaskList),
goldmark.WithParserOptions(
goldmarkParser.WithAutoHeadingID(),
goldmarkParser.WithAttribute(),
goldmarkParser.WithHeadingAttribute(),
),
goldmark.WithRendererOptions( goldmark.WithRendererOptions(
goldmarkHTML.WithUnsafe(), goldmarkHTML.WithUnsafe(),
), ),
......
...@@ -24,6 +24,8 @@ require ( ...@@ -24,6 +24,8 @@ require (
github.com/go-chi/chi/v5 v5.0.7 // indirect github.com/go-chi/chi/v5 v5.0.7 // indirect
github.com/go-chi/docgen v1.2.0 // indirect github.com/go-chi/docgen v1.2.0 // indirect
github.com/go-chi/httprate v0.5.3 // indirect github.com/go-chi/httprate v0.5.3 // indirect
github.com/gosimple/slug v1.13.1 // indirect
github.com/gosimple/unidecode v1.0.1 // indirect
github.com/tdewolff/parse/v2 v2.6.5 // indirect github.com/tdewolff/parse/v2 v2.6.5 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.uber.org/atomic v1.9.0 // indirect go.uber.org/atomic v1.9.0 // indirect
......
...@@ -29,6 +29,10 @@ github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ= ...@@ -29,6 +29,10 @@ github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ=
github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM= github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM=
github.com/gookit/color v1.5.2 h1:uLnfXcaFjlrDnQDT+NCBcfhrXqYTx/rcCa6xn01Y8yI= github.com/gookit/color v1.5.2 h1:uLnfXcaFjlrDnQDT+NCBcfhrXqYTx/rcCa6xn01Y8yI=
github.com/gookit/color v1.5.2/go.mod h1:w8h4bGiHeeBpvQVePTutdbERIUf3oJE5lZ8HM0UgXyg= github.com/gookit/color v1.5.2/go.mod h1:w8h4bGiHeeBpvQVePTutdbERIUf3oJE5lZ8HM0UgXyg=
github.com/gosimple/slug v1.13.1 h1:bQ+kpX9Qa6tHRaK+fZR0A0M2Kd7Pa5eHPPsb1JpHD+Q=
github.com/gosimple/slug v1.13.1/go.mod h1:UiRaFH+GEilHstLUmcBgWcI42viBN7mAb818JrYOeFQ=
github.com/gosimple/unidecode v1.0.1 h1:hZzFTMMqSswvf0LBJZCZgThIZrpDHFXux9KeGmn6T/o=
github.com/gosimple/unidecode v1.0.1/go.mod h1:CP0Cr1Y1kogOtx0bJblKzsVWrqYaqfNOnHzpgWw4Awc=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8=
......
{ {
"version": "1.1.5" "version": "1.1.6"
} }
\ No newline at end of file