aboutsummaryrefslogtreecommitdiffstats
path: root/src/asciideck_to_manpage.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/asciideck_to_manpage.erl')
-rw-r--r--src/asciideck_to_manpage.erl7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/asciideck_to_manpage.erl b/src/asciideck_to_manpage.erl
index 23b110c..7f6cbaf 100644
--- a/src/asciideck_to_manpage.erl
+++ b/src/asciideck_to_manpage.erl
@@ -118,7 +118,7 @@ listing_block({listing_block, Attrs, Listing, _}) ->
".RS 4\n"
".\\}\n"
".nf\n",
- Listing,
+ escape(Listing),
"\n"
".fi\n"
".if n \\{\\\n"
@@ -208,7 +208,7 @@ comment_line({comment_line, _, Text, _}) ->
%% Inline formatting.
inline(Text) when is_binary(Text) ->
- Text;
+ escape(Text);
%% When the link is the text we only print it once.
inline({link, #{target := Link}, Link, _}) ->
Link;
@@ -231,3 +231,6 @@ inline({line_break, _, _, _}) ->
"\n.br\n";
inline(Text) when is_list(Text) ->
[inline(T) || T <- Text].
+
+escape(Text) ->
+ binary:replace(iolist_to_binary(Text), <<$\\>>, <<$\\, $\\>>, [global]).