aboutsummaryrefslogtreecommitdiffstats
path: root/src/asciideck_to_manpage.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-10-31 19:30:26 +0200
committerLoïc Hoguin <[email protected]>2016-10-31 19:30:26 +0200
commit00a7d8d6e6125c171c46190bdb40ecaa08347cca (patch)
tree02b5d3972170c0923687ec6178df0eef47a0b6cd /src/asciideck_to_manpage.erl
parentc64ba0a7927e5c7706e3874e3acb7a35558ac526 (diff)
downloadasciideck-00a7d8d6e6125c171c46190bdb40ecaa08347cca.tar.gz
asciideck-00a7d8d6e6125c171c46190bdb40ecaa08347cca.tar.bz2
asciideck-00a7d8d6e6125c171c46190bdb40ecaa08347cca.zip
Add a check for mandatory name section for man pages
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]).