Skip to content

Commit 3f93b32

Browse files
committed
all: Upgrade go dependencies
Upgrade go dependencies with go get -u ./... go mod tidy go get -C learn -u ./... go mod -C learn tidy In rsc.io/markdown we found some incompatible changes when upgrading: - rsc.io/markdown v0.0.0-20240306144322-0bf8f97ee8ef + rsc.io/markdown v0.0.0-20240717201619-868a055c40ae Some were minor incompatibilities due renames or removals. The removal of the PrintText method from the markdown.Inline interface had to be re-implemented in pkg/md/undecorate.go as `md.Undecorate` function.
1 parent e45ae07 commit 3f93b32

File tree

13 files changed

+185
-47
lines changed

13 files changed

+185
-47
lines changed

build-tools/md/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ func removeTOC(doc *markdown.Document) {
186186
var blocks []markdown.Block
187187
for i, b := range doc.Blocks {
188188
if h, ok := b.(*markdown.Heading); ok {
189-
htext := strings.ToLower(strings.TrimSpace(markdown.ToMarkdown(h.Text)))
189+
htext := strings.ToLower(strings.TrimSpace(markdown.Format(h.Text)))
190190
inTOC = htext == "table of contents"
191191
}
192192
if !inTOC {
@@ -266,7 +266,7 @@ func extractTitle(doc *markdown.Document) string {
266266
func inlineText(inlines []markdown.Inline) string {
267267
buf := &bytes.Buffer{}
268268
for _, inline := range inlines {
269-
inline.PrintText(buf)
269+
buf.WriteString(md.Undecorate(inline))
270270
}
271271
return buf.String()
272272
}

go.mod

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
module evylang.dev/evy
22

3-
go 1.22
3+
go 1.22.0
4+
5+
toolchain go1.22.6
46

57
require (
68
github.com/alecthomas/kong v0.9.0
7-
golang.org/x/tools v0.6.0
8-
rsc.io/markdown v0.0.0-20240306144322-0bf8f97ee8ef
9+
golang.org/x/tools v0.24.0
10+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae
911
)
1012

11-
require golang.org/x/text v0.15.0 // indirect
13+
require golang.org/x/text v0.17.0 // indirect

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq
88
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
99
github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68=
1010
github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
11-
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
12-
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
13-
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
14-
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
15-
rsc.io/markdown v0.0.0-20240306144322-0bf8f97ee8ef h1:mqLYrXCXYEZOop9/Dbo6RPX11539nwiCNBb1icVPmw8=
16-
rsc.io/markdown v0.0.0-20240306144322-0bf8f97ee8ef/go.mod h1:8xcPgWmwlZONN1D9bjxtHEjrUtSEa3fakVF8iaewYKQ=
11+
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
12+
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
13+
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
14+
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
15+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae h1:HcQakZADzQk1CHAKfBN7dNxRr/41J+CEEyUyFzbUa88=
16+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae/go.mod h1:dTYI7HoCsVAs6SKPMgkC2TV2xRFJB9WqcVydnnZby2Y=

learn/go.mod

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
module evylang.dev/evy/learn
22

3-
go 1.22
3+
go 1.22.0
4+
5+
toolchain go1.22.6
46

57
require (
6-
evylang.dev/evy v0.1.130
8+
evylang.dev/evy v0.1.160
79
github.com/alecthomas/kong v0.9.0
8-
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d
10+
golang.org/x/tools v0.24.0
911
gopkg.in/yaml.v3 v3.0.1
10-
rsc.io/markdown v0.0.0-20240603215554-74725d8a840a
12+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae
1113
)
1214

13-
require golang.org/x/text v0.16.0 // indirect
15+
require golang.org/x/text v0.17.0 // indirect
1416

1517
replace evylang.dev/evy => ..

learn/go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq
88
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
99
github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68=
1010
github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
11-
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
12-
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
13-
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
14-
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
11+
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
12+
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
13+
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
14+
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
1515
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
1616
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
1717
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
1818
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
19-
rsc.io/markdown v0.0.0-20240603215554-74725d8a840a h1:0ylZ/EkURbWbHm3vaTZpwqSj6L2jQJHdgg6wQy27a1I=
20-
rsc.io/markdown v0.0.0-20240603215554-74725d8a840a/go.mod h1:8xcPgWmwlZONN1D9bjxtHEjrUtSEa3fakVF8iaewYKQ=
19+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae h1:HcQakZADzQk1CHAKfBN7dNxRr/41J+CEEyUyFzbUa88=
20+
rsc.io/markdown v0.0.0-20240717201619-868a055c40ae/go.mod h1:dTYI7HoCsVAs6SKPMgkC2TV2xRFJB9WqcVydnnZby2Y=

learn/pkg/learn/course.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func (m *CourseModel) printUnitBadgesHTML(buf *bytes.Buffer) error {
8686
if !ok {
8787
buf.WriteString("Unit:" + unit.Filename() + "\n")
8888
} else {
89-
h.Text.PrintHTML(buf)
89+
buf.WriteString(markdown.ToHTML(h.Text))
9090
}
9191
buf.WriteString("</h2>\n")
9292
if err := unit.printBadgesHTML(buf, courseDir); err != nil {

learn/pkg/learn/markdown.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func format(frontmatter any, doc *markdown.Document) ([]byte, error) {
2626
buf.WriteString("---\n")
2727
buf.Write(b)
2828
buf.WriteString("---\n\n")
29-
buf.WriteString(markdown.ToMarkdown(doc))
29+
buf.WriteString(markdown.Format(doc))
3030
return buf.Bytes(), nil
3131
}
3232

@@ -52,7 +52,7 @@ func readSplitMDFile(filename string) (string, string, error) {
5252
}
5353

5454
func parseMD(rawMD string) *markdown.Document {
55-
parser := markdown.Parser{AutoLinkText: true, TaskListItems: true}
55+
parser := markdown.Parser{AutoLinkText: true, TaskList: true}
5656
return parser.Parse(rawMD)
5757
}
5858

@@ -85,7 +85,7 @@ func extractName(doc *markdown.Document) (string, error) {
8585
}
8686
buf := &bytes.Buffer{}
8787
for _, inline := range heading.Text.Inline {
88-
inline.PrintText(buf)
88+
buf.WriteString(md.Undecorate(inline))
8989
}
9090
return buf.String(), nil
9191
}
@@ -111,7 +111,7 @@ func printHTML(block markdown.Block, buf *bytes.Buffer) {
111111
if alertType, ok := alertBlock(block); ok {
112112
printAlert(block.(*markdown.Quote), buf, alertType)
113113
} else {
114-
block.PrintHTML(buf)
114+
buf.WriteString(markdown.ToHTML(block))
115115
}
116116
}
117117

@@ -155,7 +155,7 @@ func printAlert(quote *markdown.Quote, buf *bytes.Buffer, alertType string) {
155155
buf.WriteString(strings.Title(alertType)) //nolint: staticcheck // we can savely use it here as we know all strings we want to use and have no punctuation.
156156
buf.WriteString(`</p>`)
157157
for _, block := range quote.Blocks {
158-
block.PrintHTML(buf)
158+
buf.WriteString(markdown.ToHTML(block))
159159
}
160160
buf.WriteString(`</div>`)
161161
}

learn/pkg/learn/question.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ func (m *QuestionModel) parseFrontmatterMD() error {
652652
if answerType != "single-choice" && answerType != "multiple-choice" && answerType != "text" {
653653
return fmt.Errorf("%w: unimplemented answerType %q", ErrInvalidFrontmatter, answerType)
654654
}
655-
parser := markdown.Parser{AutoLinkText: true, TaskListItems: true}
655+
parser := markdown.Parser{AutoLinkText: true, TaskList: true}
656656
m.Doc = parser.Parse(m.rawMD)
657657
return nil
658658
}

learn/pkg/learn/renderer.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"evylang.dev/evy/pkg/cli"
1313
"evylang.dev/evy/pkg/evaluator"
14+
"evylang.dev/evy/pkg/md"
1415
"evylang.dev/evy/pkg/parser"
1516
"golang.org/x/tools/txtar"
1617
"rsc.io/markdown"
@@ -82,18 +83,18 @@ func rendererFromInline(inline markdown.Inline, field fieldType, filename string
8283
mdImg, ok := inline.(*markdown.Image)
8384
if ok && strings.HasSuffix(mdImg.URL, ".evy.svg") {
8485
if err := ensureField(mdImg.Inner, field); err != nil {
85-
return nil, fmt.Errorf("%w (image: %s)", err, inlineToString(mdImg))
86+
return nil, fmt.Errorf("%w (image: %s)", err, md.Undecorate(mdImg))
8687
}
8788
return newSVGContentFromFile(filepath.Join(filepath.Dir(filename), mdImg.URL))
8889
}
8990
link, ok := inline.(*markdown.Link)
9091
if ok && strings.HasPrefix(link.Title, "evy:") {
9192
if err := ensureField(link.Inner, field); err != nil {
92-
return nil, fmt.Errorf("%w (link: %s)", err, inlineToString(link))
93+
return nil, fmt.Errorf("%w (link: %s)", err, md.Undecorate(link))
9394
}
9495
ResultType, err := getResultTypeFromLink(link)
9596
if err != nil {
96-
return nil, fmt.Errorf("%w (link: %s)", err, inlineToString(link))
97+
return nil, fmt.Errorf("%w (link: %s)", err, md.Undecorate(link))
9798
}
9899
targetFilename := filepath.Join(filepath.Dir(filename), link.URL)
99100
return newRendererFromEvyFile(targetFilename, ResultType)
@@ -109,20 +110,14 @@ func ensureField(inner []markdown.Inline, field fieldType) error {
109110
if len(inner) != 1 {
110111
return fmt.Errorf("%w: found %d inner elements, expected 1", ErrBadMarkdownStructure, len(inner))
111112
}
112-
got := inlineToString(inner[0])
113+
got := md.Undecorate(inner[0])
113114
want := fieldTypeToString[field]
114115
if got != want {
115116
return fmt.Errorf("%w: expected %q text, found %q", ErrBadMarkdownStructure, want, got)
116117
}
117118
return nil
118119
}
119120

120-
func inlineToString(inline markdown.Inline) string {
121-
b := &bytes.Buffer{}
122-
inline.PrintText(b)
123-
return b.String()
124-
}
125-
126121
// SVGContent represents SVG image content.
127122
type SVGContent string
128123

learn/pkg/learn/unit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (m *UnitModel) Document() *markdown.Document {
6262
func (m *UnitModel) ToHTML(_ bool) (string, error) {
6363
md.Walk(m.Doc, md.RewriteLink)
6464
buf := &bytes.Buffer{}
65-
m.Doc.Blocks[0].PrintHTML(buf)
65+
buf.WriteString(markdown.ToHTML(m.Doc.Blocks[0]))
6666
unitDir := filepath.Dir(m.Filename())
6767
buf.WriteString(`<div class="badges">` + "\n")
6868
if err := m.printBadgesHTML(buf, unitDir); err != nil {

0 commit comments

Comments
 (0)