mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 02:46:04 +01:00 
			
		
		
		
	Refactor markup render system (#32533)
Remove unmaintainable sanitizer rules. No need to add special "class" regexp rules anymore, use RenderInternal.SafeAttr instead, more details (and examples) are in the tests
This commit is contained in:
		| @@ -4,17 +4,21 @@ | ||||
| package math | ||||
|  | ||||
| import ( | ||||
| 	"code.gitea.io/gitea/modules/markup/internal" | ||||
|  | ||||
| 	gast "github.com/yuin/goldmark/ast" | ||||
| 	"github.com/yuin/goldmark/renderer" | ||||
| 	"github.com/yuin/goldmark/util" | ||||
| ) | ||||
|  | ||||
| // BlockRenderer represents a renderer for math Blocks | ||||
| type BlockRenderer struct{} | ||||
| type BlockRenderer struct { | ||||
| 	renderInternal *internal.RenderInternal | ||||
| } | ||||
|  | ||||
| // NewBlockRenderer creates a new renderer for math Blocks | ||||
| func NewBlockRenderer() renderer.NodeRenderer { | ||||
| 	return &BlockRenderer{} | ||||
| func NewBlockRenderer(renderInternal *internal.RenderInternal) renderer.NodeRenderer { | ||||
| 	return &BlockRenderer{renderInternal: renderInternal} | ||||
| } | ||||
|  | ||||
| // RegisterFuncs registers the renderer for math Blocks | ||||
| @@ -33,7 +37,7 @@ func (r *BlockRenderer) writeLines(w util.BufWriter, source []byte, n gast.Node) | ||||
| func (r *BlockRenderer) renderBlock(w util.BufWriter, source []byte, node gast.Node, entering bool) (gast.WalkStatus, error) { | ||||
| 	n := node.(*Block) | ||||
| 	if entering { | ||||
| 		_, _ = w.WriteString(`<pre class="code-block is-loading"><code class="chroma language-math display">`) | ||||
| 		_ = r.renderInternal.FormatWithSafeAttrs(w, `<pre class="code-block is-loading"><code class="chroma language-math display">`) | ||||
| 		r.writeLines(w, source, n) | ||||
| 	} else { | ||||
| 		_, _ = w.WriteString(`</code></pre>` + "\n") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user