mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 08:21:11 +00:00 
			
		
		
		
	This lifts out the GitHub callout transformer from `modules/markup/markdown/goldmark.go` to `callout/github.go`. While there, clean up the transformer code: - Use a map to look up supported callout types, rather than a regexp. - Allow the callout type to be in any case, rather than just uppercase. - Simplified `.Segment.Value()` to `.Text()`. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			837 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			837 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2020 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package callout
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/yuin/goldmark/ast"
 | 
						|
)
 | 
						|
 | 
						|
// Attention is an inline for an attention
 | 
						|
type Attention struct {
 | 
						|
	ast.BaseInline
 | 
						|
	AttentionType string
 | 
						|
}
 | 
						|
 | 
						|
// Dump implements Node.Dump.
 | 
						|
func (n *Attention) Dump(source []byte, level int) {
 | 
						|
	m := map[string]string{}
 | 
						|
	m["AttentionType"] = n.AttentionType
 | 
						|
	ast.DumpHelper(n, source, level, m, nil)
 | 
						|
}
 | 
						|
 | 
						|
// KindAttention is the NodeKind for Attention
 | 
						|
var KindAttention = ast.NewNodeKind("Attention")
 | 
						|
 | 
						|
// Kind implements Node.Kind.
 | 
						|
func (n *Attention) Kind() ast.NodeKind {
 | 
						|
	return KindAttention
 | 
						|
}
 | 
						|
 | 
						|
// NewAttention returns a new Attention node.
 | 
						|
func NewAttention(attentionType string) *Attention {
 | 
						|
	return &Attention{
 | 
						|
		BaseInline:    ast.BaseInline{},
 | 
						|
		AttentionType: attentionType,
 | 
						|
	}
 | 
						|
}
 |