mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			515 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			515 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2024 The Forgejo Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: GPL-3.0-or-later
 | 
						|
 | 
						|
package util
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
 | 
						|
	"github.com/yuin/goldmark/ast"
 | 
						|
)
 | 
						|
 | 
						|
func textOfChildren(n ast.Node, src []byte, b *bytes.Buffer) {
 | 
						|
	for c := n.FirstChild(); c != nil; c = c.NextSibling() {
 | 
						|
		if t, ok := c.(*ast.Text); ok {
 | 
						|
			b.Write(t.Value(src))
 | 
						|
		} else {
 | 
						|
			textOfChildren(c, src, b)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func Text(n ast.Node, src []byte) []byte {
 | 
						|
	var b bytes.Buffer
 | 
						|
	textOfChildren(n, src, &b)
 | 
						|
	return b.Bytes()
 | 
						|
}
 |