1
0
Fork 0
forked from forgejo/forgejo

Add attention blocks within quote blocks for Note and Warning (#21711)

For each quote block, the first `**Note**` or `**Warning**` gets an icon
prepended to it and its text is colored accordingly. GitHub does this
(community/community#16925). [Initially requested on
Discord.](1038816475)

### Before

![image](https://user-images.githubusercontent.com/20454870/200408558-bd318302-6ff9-4d56-996f-9190e89013ec.png)

### After

![image](https://user-images.githubusercontent.com/20454870/200658863-1bac6461-dae7-4bf2-abd2-672d209574e4.png)

Signed-off-by: Yarden Shoham <hrsi88@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
Yarden Shoham 2022-11-09 02:11:26 +02:00 committed by GitHub
parent 2ebab42934
commit cb83288530
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 92 additions and 0 deletions

View file

@ -180,3 +180,37 @@ func IsColorPreview(node ast.Node) bool {
_, ok := node.(*ColorPreview)
return ok
}
const (
AttentionNote string = "Note"
AttentionWarning string = "Warning"
)
// Attention is an inline for a color preview
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,
}
}