aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/AsciiDoc.hs4
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs19
-rw-r--r--test/command/alerts.md29
3 files changed, 42 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs
index a4f4809e4..6eb095626 100644
--- a/src/Text/Pandoc/Writers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Writers/AsciiDoc.hs
@@ -354,7 +354,9 @@ blockToAsciiDoc opts (Div (ident,classes,_) bs) = do
case bs of
(Div (_,["title"],_) ts : rest) -> (ts, rest)
_ -> ([], bs)
- admonitionTitle <- if null titleBs
+ admonitionTitle <- if null titleBs ||
+ -- If title matches class, omit
+ (T.toLower (T.strip (stringify titleBs))) == l
then return mempty
else ("." <>) <$>
blockListToAsciiDoc opts titleBs
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index cf1b36807..877e54b72 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -370,16 +370,17 @@ blockToMarkdown' :: PandocMonad m
-> MD m (Doc Text)
blockToMarkdown' opts (Div attrs@(_,classes,_) bs)
| isEnabled Ext_alerts opts
- , "alert" `elem` classes
- , (Div ("", ["alert-title"], []) _ : Para ils : bs') <- bs
+ , (cls:_) <- classes
+ , cls `elem` ["note", "tip", "warning", "caution", "important"]
+ , (Div ("", ["title"], []) _ : Para ils : bs') <- bs
= blockToMarkdown' opts $ BlockQuote $
- (Para (RawInline (Format "markdown") (case () of
- _ | "alert-note" `elem` classes -> "[!NOTE]\n"
- _ | "alert-tip" `elem` classes -> "[!TIP]\n"
- _ | "alert-warning" `elem` classes -> "[!WARNING]\n"
- _ | "alert-caution" `elem` classes -> "[!CAUTION]\n"
- _ | "alert-important" `elem` classes -> "[!IMPORTANT]\n"
- | otherwise -> "[!NOTE]\n") : ils)) : bs'
+ (Para (RawInline (Format "markdown") (case cls of
+ "note" -> "[!NOTE]\n"
+ "tip" -> "[!TIP]\n"
+ "warning" -> "[!WARNING]\n"
+ "caution" -> "[!CAUTION]\n"
+ "important" -> "[!IMPORTANT]\n"
+ _ -> "[!NOTE]\n") : ils)) : bs'
| otherwise = do
contents <- blockListToMarkdown opts bs
variant <- asks envVariant
diff --git a/test/command/alerts.md b/test/command/alerts.md
new file mode 100644
index 000000000..fe70e6e4e
--- /dev/null
+++ b/test/command/alerts.md
@@ -0,0 +1,29 @@
+```
+% pandoc -f rst -t gfm
+.. note::
+ This is my note.
+^D
+> [!NOTE]
+> This is my note.
+```
+
+```
+% pandoc -f gfm -t rst
+> [!WARNING]
+> Be careful!
+^D
+.. warning::
+
+ Be careful!
+```
+
+```
+% pandoc -f gfm -t asciidoc
+> [!TIP]
+> A tip.
+^D
+[TIP]
+====
+A tip.
+====
+```