Skip to content

Commit 642b21a

Browse files
committed
ignore admonition blocks
1 parent f5743ed commit 642b21a

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/NarrativeTest.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,8 @@ isfence(line) =
521521
startswith(line.val, "```") || startswith(line.val, "~~~")
522522
isindent(line) =
523523
startswith(line.val, " "^4)
524+
isadmonition(line) =
525+
startswith(line.val, "!!!")
524526

525527
function unindent(line)
526528
val = line.val[5:end]
@@ -558,6 +560,11 @@ function parsemd!(stack::Vector{TextBlock})
558560
end
559561
reverse!(jlstack)
560562
append!(suite, parsejl!(jlstack))
563+
elseif isadmonition(line)
564+
# Skip an indented admonition block.
565+
while !isempty(stack) && (isindent(stack[end]) || isblank(stack[end]))
566+
pop!(stack)
567+
end
561568
end
562569
end
563570
return suite

test/index.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,18 @@ A fenced code block with an explicit language indicator is ignored.
254254
"""))
255255
#-> NarrativeTest.AbstractTestCase[]
256256

257+
An indented admonition block will be ignored.
258+
259+
parsemd(
260+
@__FILE__,
261+
IOBuffer("""
262+
!!! warning
263+
264+
This is an admonition block,
265+
not a Julia code.
266+
"""))
267+
#-> NarrativeTest.AbstractTestCase[]
268+
257269
It is an error if a fenced code block is not closed.
258270

259271
suite = parsemd(

0 commit comments

Comments
 (0)