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:
parent
dc873a7e70
commit
c5a65b9d45
@ -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}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user