aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2025-10-01 15:12:36 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2025-10-01 15:12:36 +0200
commit1ce93d83321c751265e4207ebf6dc73a280482c6 (patch)
tree6cc523fc280f503019822ac31b5d0d6c89e9c5dc
parent511ad88f6bf7b0ec971df407469c494d9dcb139e (diff)
feat(markdown): remove source block in quote if empty
-rw-r--r--mardown/ast_quote.go5
-rw-r--r--mardown/ast_test.go2
2 files changed, 6 insertions, 1 deletions
diff --git a/mardown/ast_quote.go b/mardown/ast_quote.go
index 5ed1208..d673f61 100644
--- a/mardown/ast_quote.go
+++ b/mardown/ast_quote.go
@@ -30,7 +30,10 @@ func (a *astQuote) Eval() (template.HTML, error) {
source += ct
}
source = template.HTML(strings.TrimSpace(string(source)))
- return template.HTML(fmt.Sprintf(`<div class="quote">%s<p>%s</p></div>`, quote, source)), nil
+ if len(source) > 0 {
+ return template.HTML(fmt.Sprintf(`<div class="quote">%s<p>%s</p></div>`, quote, source)), nil
+ }
+ return template.HTML(fmt.Sprintf(`<div class="quote">%s</div>`, quote)), nil
}
func quote(lxs *lexers) (*astQuote, error) {
diff --git a/mardown/ast_test.go b/mardown/ast_test.go
index c0860f4..811d222 100644
--- a/mardown/ast_test.go
+++ b/mardown/ast_test.go
@@ -16,6 +16,7 @@ en *italique* et les **_deux en même temps_** !
> Je suis une magnifique citation
> sur plusieurs lignes
avec une source
+> qui recommence après !
`
var parsed = `
@@ -23,6 +24,7 @@ var parsed = `
<p>Avec une description classique, sur plusieurs lignes !</p>
<p>Et je peux mettre du texte en <b>gras</b>, en <em>italique</em> et les <b><em>deux en même temps</em></b> !</p>
<div class="quote"><blockquote>Je suis une magnifique citation sur plusieurs lignes</blockquote><p>avec une source</p></div>
+<div class="quote"><blockquote>qui recommence après !</blockquote></div>
`
func TestAst(t *testing.T) {