diff --git a/go.mod b/go.mod index 48f30fb..28220e1 100644 --- a/go.mod +++ b/go.mod @@ -1,16 +1,16 @@ module github.com/kjanat/articulate-parser -go 1.24.0 +go 1.25.0 toolchain go1.25.5 require ( github.com/fumiama/go-docx v0.0.0-20250506085032-0c30fd09304b golang.org/x/net v0.49.0 - golang.org/x/text v0.33.0 + golang.org/x/text v0.35.0 ) require ( github.com/fumiama/imgsz v0.0.4 // indirect - golang.org/x/image v0.34.0 // indirect + golang.org/x/image v0.38.0 // indirect ) diff --git a/go.sum b/go.sum index d8e2d12..c2e6902 100644 --- a/go.sum +++ b/go.sum @@ -2,9 +2,9 @@ github.com/fumiama/go-docx v0.0.0-20250506085032-0c30fd09304b h1:/mxSugRc4SgN7Xg github.com/fumiama/go-docx v0.0.0-20250506085032-0c30fd09304b/go.mod h1:ssRF0IaB1hCcKIObp3FkZOsjTcAHpgii70JelNb4H8M= github.com/fumiama/imgsz v0.0.4 h1:Lsasu2hdSSFS+vnD+nvR1UkiRMK7hcpyYCC0FzgSMFI= github.com/fumiama/imgsz v0.0.4/go.mod h1:bISOQVTlw9sRytPwe8ir7tAaEmyz9hSNj9n8mXMBG0E= -golang.org/x/image v0.34.0 h1:33gCkyw9hmwbZJeZkct8XyR11yH889EQt/QH4VmXMn8= -golang.org/x/image v0.34.0/go.mod h1:2RNFBZRB+vnwwFil8GkMdRvrJOFd1AzdZI6vOY+eJVU= +golang.org/x/image v0.38.0 h1:5l+q+Y9JDC7mBOMjo4/aPhMDcxEptsX+Tt3GgRQRPuE= +golang.org/x/image v0.38.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= -golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= +golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= diff --git a/internal/exporters/markdown.go b/internal/exporters/markdown.go index d66a849..ad342ed 100644 --- a/internal/exporters/markdown.go +++ b/internal/exporters/markdown.go @@ -40,19 +40,19 @@ func (e *MarkdownExporter) Export(course *models.Course, outputPath string) erro var buf bytes.Buffer // Write course header - buf.WriteString(fmt.Sprintf("# %s\n\n", course.Course.Title)) + fmt.Fprintf(&buf, "# %s\n\n", course.Course.Title) if course.Course.Description != "" { - buf.WriteString(fmt.Sprintf("%s\n\n", e.htmlCleaner.CleanHTML(course.Course.Description))) + fmt.Fprintf(&buf, "%s\n\n", e.htmlCleaner.CleanHTML(course.Course.Description)) } // Add metadata buf.WriteString("## Course Information\n\n") - buf.WriteString(fmt.Sprintf("- **Course ID**: %s\n", course.Course.ID)) - buf.WriteString(fmt.Sprintf("- **Share ID**: %s\n", course.ShareID)) - buf.WriteString(fmt.Sprintf("- **Navigation Mode**: %s\n", course.Course.NavigationMode)) + fmt.Fprintf(&buf, "- **Course ID**: %s\n", course.Course.ID) + fmt.Fprintf(&buf, "- **Share ID**: %s\n", course.ShareID) + fmt.Fprintf(&buf, "- **Navigation Mode**: %s\n", course.Course.NavigationMode) if course.Course.ExportSettings != nil { - buf.WriteString(fmt.Sprintf("- **Export Format**: %s\n", course.Course.ExportSettings.Format)) + fmt.Fprintf(&buf, "- **Export Format**: %s\n", course.Course.ExportSettings.Format) } buf.WriteString("\n---\n\n") @@ -60,15 +60,15 @@ func (e *MarkdownExporter) Export(course *models.Course, outputPath string) erro lessonCounter := 0 for _, lesson := range course.Course.Lessons { if lesson.Type == "section" { - buf.WriteString(fmt.Sprintf("# %s\n\n", lesson.Title)) + fmt.Fprintf(&buf, "# %s\n\n", lesson.Title) continue } lessonCounter++ - buf.WriteString(fmt.Sprintf("## Lesson %d: %s\n\n", lessonCounter, lesson.Title)) + fmt.Fprintf(&buf, "## Lesson %d: %s\n\n", lessonCounter, lesson.Title) if lesson.Description != "" { - buf.WriteString(fmt.Sprintf("%s\n\n", e.htmlCleaner.CleanHTML(lesson.Description))) + fmt.Fprintf(&buf, "%s\n\n", e.htmlCleaner.CleanHTML(lesson.Description)) } // Process lesson items