diff --git a/md.bqn b/md.bqn
index 12606caa..c84fa394 100644
--- a/md.bqn
+++ b/md.bqn
@@ -382,6 +382,9 @@ Markdown ← {filename𝕊𝕩:
(1¨ <⊸∾ codeMask⊸GetMultiHighlights)⊸Modify 𝕩
}⟜JoinLines
ProcHtmlBlock ← extensions◶JoinLines‿(<⟜2◶ProcComment‿ProcHtml)
+
+ # Thematic Breaks
+ ProcBreak ← ∾("
"∾lf)¨
dig ← '0'+↕10
[lineChars,lineClas,procFns] ← ⍉[
@@ -392,6 +395,7 @@ Markdown ← {filename𝕊𝕩:
"-+*" ‿ LenBullet ‿ ProcBullet
# dig ‿ LenListNum ‿ ProcListNum
"<" ‿ IsHtmlBlock ‿ ProcHtmlBlock
+ "" ‿ 0 ‿ ProcBreak
]
######
@@ -541,6 +545,10 @@ Markdown ← {filename𝕊𝕩:
# part of a code block, it will be included in a paragraph.
lineType -↩ codeMask ∧ 1 = lineType
+ # Lines that are thematic breaks
+ breakMask ← nonEmptyMask ∧ (blanks ≤ 3) ∧ {(3≤+´⊏0∾˜˘⌾⍉bw/nw)∧∨´bw←∧´˘(𝕩∊" ")⊸∨˘nw←"*-_"=⌜𝕩}¨𝕩
+ lineType 6¨⌾(breakMask⊸/)↩
+
# Tables are made up of rows that would otherwise be paragraph rows.
# They are indicated by the delimiter row, consisting of only a few
# allowed characters, preceded (!) by a header row with the same
diff --git a/test/markdown.bqn b/test/markdown.bqn
index e87b3f30..013b214d 100755
--- a/test/markdown.bqn
+++ b/test/markdown.bqn
@@ -15,7 +15,7 @@ UnEscape ← {
}
RunTest ← {
in‿exp ← UnEscape∘(1↓¯1↓⊢)¨2↑𝕩
- out ← 0 Markdown (@+10) ((⊢-˜¬×+`)∘=⊔⊢) in
+ out ← 0 Markdown⎊("Runtime Error:"∾•Fmt∘⊢) (@+10) ((⊢-˜¬×+`)∘=⊔⊢) in
⟨exp≡out,in,exp,out,2⊑𝕩⟩
}