mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-25 03:22:36 +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,
 | |
| 	}
 | |
| }
 |