0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-01-28 04:02:42 +01:00

refactor: remove deprecated SidebarTocNode and clean up sidebar TOC rendering

- Eliminate the deprecated SidebarTocNode from RenderContext and related functions.
- Update sidebar TOC rendering logic to exclusively use SidebarTocHeaders for improved clarity and maintainability.
- Remove fallback logic for legacy TOC rendering to streamline the codebase.
This commit is contained in:
hamki 2026-01-18 14:58:37 +08:00
parent dc873a7e70
commit c5a65b9d45
No known key found for this signature in database
GPG Key ID: 092D4EC7F4DECB68
4 changed files with 2 additions and 24 deletions

View File

@ -86,9 +86,6 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
tocNode := createTOCNode(tocList, rc.Lang, nil)
node.InsertBefore(node, firstChild, tocNode)
} else {
tocNode := createTOCNode(tocList, rc.Lang, map[string]string{"open": "open"})
ctx.SidebarTocNode = tocNode
// Also set the generic SidebarTocHeaders for the new abstraction
ctx.SidebarTocHeaders = make([]markup.Header, len(tocList))
for i, h := range tocList {
ctx.SidebarTocHeaders[i] = markup.Header{Level: h.Level, Text: h.Text, ID: h.ID}

View File

@ -18,7 +18,6 @@ import (
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
"github.com/yuin/goldmark/ast"
"golang.org/x/sync/errgroup"
)
@ -70,7 +69,6 @@ type RenderContext struct {
// the context might be used by the "render" function, but it might also be used by "postProcess" function
usedByRender bool
SidebarTocNode ast.Node // Deprecated: use SidebarTocHeaders instead, keep for compatibility
SidebarTocHeaders []Header // Headers for generating sidebar TOC
RenderHelper RenderHelper

View File

@ -35,7 +35,6 @@ import (
"code.gitea.io/gitea/modules/lfs"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/markup/markdown"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/templates"
@ -181,20 +180,10 @@ func markupRender(ctx *context.Context, renderCtx *markup.RenderContext, input i
}
func renderSidebarTocHTML(rctx *markup.RenderContext, lang string) template.HTML {
// Prefer the new generic SidebarTocHeaders
if len(rctx.SidebarTocHeaders) > 0 {
return markup.RenderSidebarTocHTML(rctx.SidebarTocHeaders, lang)
}
// Fallback to legacy SidebarTocNode for backward compatibility
if rctx.SidebarTocNode == nil {
return ""
}
sb := &strings.Builder{}
if err := markdown.SpecializedMarkdown(rctx).Renderer().Render(sb, nil, rctx.SidebarTocNode); err != nil {
log.Error("Failed to render sidebar TOC: %v", err)
return ""
}
return templates.SanitizeHTML(sb.String())
return ""
}
func checkHomeCodeViewable(ctx *context.Context) {

View File

@ -277,15 +277,9 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
return nil, nil
}
// Render sidebar TOC - prefer generic headers, fallback to legacy node
// Render sidebar TOC
if len(rctx.SidebarTocHeaders) > 0 {
ctx.Data["WikiSidebarTocHTML"] = markup.RenderSidebarTocHTML(rctx.SidebarTocHeaders, ctx.Locale.Language())
} else if rctx.SidebarTocNode != nil {
sb := strings.Builder{}
if err = markdown.SpecializedMarkdown(rctx).Renderer().Render(&sb, nil, rctx.SidebarTocNode); err != nil {
log.Error("Failed to render wiki sidebar TOC: %v", err)
}
ctx.Data["WikiSidebarTocHTML"] = templates.SanitizeHTML(sb.String())
}
if !isSideBar {