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.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/asciideck_to_manpage.erl b/src/asciideck_to_manpage.erl
index 47eb932..fffd250 100644
--- a/src/asciideck_to_manpage.erl
+++ b/src/asciideck_to_manpage.erl
@@ -33,6 +33,7 @@ translate(AST, Opts) ->
end.
translate_man([{title, #{level := 0}, Title0, _Ann}|AST], Opts) ->
+ ensure_name_section(AST),
[Title, << Section:1/binary, _/bits >>] = binary:split(Title0, <<"(">>),
Extra1 = maps:get(extra1, Opts, today()),
Extra2 = maps:get(extra2, Opts, ""),
@@ -44,6 +45,14 @@ translate_man([{title, #{level := 0}, Title0, _Ann}|AST], Opts) ->
man(AST, [])
]}.
+ensure_name_section([{title, #{level := 1}, Title, _}|_]) ->
+ case string:to_lower(string:strip(binary_to_list(Title))) of
+ "name" -> ok;
+ _ -> error(badarg)
+ end;
+ensure_name_section(_) ->
+ error(badarg).
+
today() ->
{{Y, M, D}, _} = calendar:universal_time(),
io_lib:format("~b-~2.10.0b-~2.10.0b", [Y, M, D]).