diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs
index 2629f89..0b3e6cb 100644
--- a/src/MdToHTML.hs
+++ b/src/MdToHTML.hs
@@ -88,9 +88,9 @@ leftmostLongestParse parser input =
Nothing -> (mempty, mempty)
Just x -> x
-specialChars = "\\#*_[\n`"
+specialChars = "\n\\`*_{}[]()<>#+|"
-escapableChars = '~' : specialChars
+escapableChars = "-~!." ++ specialChars
-- Makes a parser greedy. Instead of returning all possible parses, only the longest one is returned.
greedyParse :: ReadP a -> ReadP [a]