From bbdef178e0b57e32cf8492c2fd7499b8b5979bd9 Mon Sep 17 00:00:00 2001 From: skyjake Date: Mon, 1 Apr 2013 10:26:18 +0300 Subject: [PATCH] Amethyst: Added Doomsday Help output style to lib --- doomsday/tools/amethyst/amethyst.pro | 3 +- doomsday/tools/amethyst/lib/amehelp.ame | 77 +++++++++++++++++++++++++ doomsday/tools/amethyst/lib/amestd.ame | 11 +++- 3 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 doomsday/tools/amethyst/lib/amehelp.ame diff --git a/doomsday/tools/amethyst/amethyst.pro b/doomsday/tools/amethyst/amethyst.pro index 0a8607fbfd..c604b67b6a 100644 --- a/doomsday/tools/amethyst/amethyst.pro +++ b/doomsday/tools/amethyst/amethyst.pro @@ -107,7 +107,8 @@ library.files += \ lib/amehtml.ame \ lib/amertf.ame \ lib/ameman.ame \ - lib/amewiki.ame + lib/amewiki.ame \ + lib/amehelp.ame unix { isEmpty(PREFIX) { diff --git a/doomsday/tools/amethyst/lib/amehelp.ame b/doomsday/tools/amethyst/lib/amehelp.ame new file mode 100644 index 0000000000..ac1b7567ed --- /dev/null +++ b/doomsday/tools/amethyst/lib/amehelp.ame @@ -0,0 +1,77 @@ +$ Amethyst Doomsday Help formatting. + +$*** STRUCTURE ***$ +@macro{summary}{desc = @arg @br} +@macro{description}{inf = @arg @br} +@macro{default}{def = @arg @br} +@macro{cvar}{cvar = @arg @br} +@macro{cbr}{@set{spacing 0}{\n}} +@macro{cbreak}{@set{spacing 0}{\b}} + +$*** FORMATTING RULES ***$ +@format{@=} +@format{break}{@n} +@format{br}{@n} + +$ Styles. +$* +@format{order 1 parent try em file pass parent !em}{''@=} +@format{order -1 parent try em file pass parent !em}{@=''} +@format{order 1 parent strong}{'''@=} +@format{order -1 parent strong}{@='''} +@format{parent count 1 opt parent !samp}{[[@=]]} +@format{order 1 parent try opt cmd code pass}{@=} +@format{order -1 parent try opt cmd code pass}{@=} +*$ +@format{order 1 parent email}{<@=} +@format{order -1 parent email}{@=>} +$ @format{pre !control}{@n@= @< @B
 @> 
@b} +$ @format{order 1 parent caption}{@=} +$ @format{order -1 parent caption}{@=} + +$ Indented styles. + +$ Remove all section numbers, they are not needed. +@format{parent child 1 parent try chapter section subsec sub2sec pass}{} + +$ Titles. +@format{child 2 parent chapter}{@< @N#@n#@_ @> @n#} +@format{child 2 parent section}{@< @N[ @> ]} +$* +@format{child 2 parent chapter}{@<==@_@>@_==} +@format{child 2 parent section}{@<===@_@>@_===} +@format{child 2 parent subsec}{@<====@_@>@_====} +@format{child 2 parent sub2sec}{@<=====@_@>@_=====} +@format{child 2 parent sub3sec}{@<======@_@>@_======} +*$ + +$ Lists. +$ @format{parent list}{*@_ @> @n} +$ @format{parent enum list}{#@_} +$ @format{list}{@< } +$ @format{enum list}{@<
    @>
} +$ @format{parent list !note}{
  • @>
  • @n} +$ @format{child 1 parent2 deflist}{@< @n;} +$ @format{child 2 parent2 deflist}{@< @n:} +$ @format{note list}{@<
    '''Note:''' @>
    } + +$ Tables. +$ @format{table}{@< @{|@_align="center"@_class="wikitable"@n @> |@}} +$ @format{!child 1 parent table}{@< |-@n } +$ @format{first !header @ parent2 table}{count 0 parent2 table}{@< |@_valign="top"@_width="@w%"@_| @> @n} +$ @format{first header @ parent2 table}{@< !@_valign="top"@_width="@w%"@_| @> @n} + +$*** LENGTH RULES ***$ + +$ Word spacing. +@length{!text ? !text . !text , !text : !text ; !begins ) !begins ] !email !url}{ + try email url pass order 1}{opt !order 1}{spacing 1} +@length{try text ) text ] pass}{prev try text ( text [ text \n text \b pass}{ + order 1 parent prev try text ( text [ pass}{ + order 1 parent2 try part chapter section subsec sub2sec sub3sec pass}{ + order 1 single}{spacing 0} + +$ Lists. +@length{leftmargin 0} +@length{try table list deflist pre pass}{spacing 0} +@length{section}{spacing 2} diff --git a/doomsday/tools/amethyst/lib/amestd.ame b/doomsday/tools/amethyst/lib/amestd.ame index a530fe0b85..2192e3f2de 100644 --- a/doomsday/tools/amethyst/lib/amestd.ame +++ b/doomsday/tools/amethyst/lib/amestd.ame @@ -3,11 +3,12 @@ $* ------------------------- The following output languages are defined by the library: - - TXT: plain text + - TXT: plain text - HTML: HTML/CSS formatted text - - RTF: rich text format - - MAN: Unix manual page + - RTF: rich text format + - MAN: Unix manual page - WIKI: Mediawiki source + - HELP: Doomsday Help strings Note: For everything to work properly, @begin must be called at the beginning of the document. @@ -22,6 +23,7 @@ $ Format and length rules @ifdef{RTF}{ @require{amertf} } @ifdef{MAN}{ @require{ameman} } @ifdef{WIKI}{ @require{amewiki} } +@ifdef{HELP}{ @require{amehelp} } $*** COMMON MACROS ***$ @@ -157,6 +159,9 @@ $ Document header and any output language specific things. @date @br } } + @ifdef{HELP}{ + $ Doomsday Help does not use a header. + } } $ Specify an author with contact information. (Manual page only.)