Utility module for {{London Gazette}}

interaction between |supp= and |display-supp=
row |display-supp= |supp= condition displayed result url comment
1 <no supplement display> /page/ most common non-supplement form
2 y Supplement /supplement/ unnumbered supplement
3 ## {{{supp}}}<suffix> supplement /supplement/ specific numbered supplement
4 <text> invalid |supp= /page/ invalid or out of range
5 none y <no supplement display> /supplement/ when page not at /page/ url
6 y Supplement /supplement/ when unnumbered supplement not at /supplement/ url
7 ## {{{display-supp}}}<suffix> supplement /page/ when supplement not at /supplement/ url
8 ## y {{{display-supp}}}<suffix> supplement /supplement/ specific numbered supplement (similar to 3)
9 ## ## {{{supp}}} == {{{display-supp}}} {{{display-supp}}}<suffix> supplement /supplement/ |supp= and |display-supp= must agree
10 ## ## {{{supp}}} != {{{display-supp}}} invalid |supp= /supplement/ ambiguous; which supplement number is correct?
11 <text> {{{display-supp}}} /page/ user specified text; not at /supplement/ url
12 <text> y {{{display-supp}}} /supplement/ user specified text
13 <text> ## {{{display-supp}}} /supplement/ user specified text
14 <text> <text> invalid |supp= /supplement/ |supp= invalid or out of range
key
parameter is empty or missing; a condition does not apply
## a number greater than zero and less than 100
<suffix> the appropriate ordinal suffix: 1st, 2nd, 3rd, 4th, ...
<text> any characters that are not ## or the letter y (or, for |disp-supp=, not the keyword none)
== logical equality; the statement A == B is true when A and B hold the same value
!= logical inequality; the statement A != B is true when A and B hold different values