annotate README.listtexts @ 919:e371a935a0cd default tip master

Added tag RELEASE_1_3_0 for changeset 570dd6d4942b
author Ben Schmidt
date Thu, 25 May 2017 09:08:47 +1000
parents c3c848693108
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
1 README.listtexts
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
2
900
b68213ccb9d2 Add README.footers and footer-related resources.
Ben Schmidt
parents: 883
diff changeset
3 List texts in Mlmmj
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
4 ===================
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
5
915
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
6 List texts are stored in listdir/text and subdirectories of
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
7 prefix/share/mlmmj/text.skel. They specify the content of various automatic
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
8 emails that Mlmmj sends. They are provided in a number of different languages.
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
9 The language to use for a list is chosen when you run the mlmmj-make-ml script
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
10 and the appropriate files are copied into your listdir/text directory.
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
11
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
12 This file documents the following aspects of list texts:
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
13
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
14 - Naming scheme
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
15 - Supported list texts
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
16 - Format
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
17 - Conditionals
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
18 - Wrapping
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
19 - Formatting and comments
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
20 - Formatted substitutions
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
21 - Unformatted substitutions
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
22 - Escapes
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
23
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
24 Naming scheme
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
25 -------------
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
26
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
27 List texts are named following a scheme of:
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
28
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
29 purpose-action-reason-type
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
30
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
31 Mlmmj will look for the full four-part name first, then for files with shorter
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
32 names obtained by dropping parts off the end, and finally for a file with a
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
33 compatibility filename. It will use the first one it finds. (Note that use of
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
34 the compatibility filename is DEPRECATED and will be removed in a future
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
35 release.)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
36
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
37 So, the complete search order is:
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
38
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
39 - purpose-action-reason-type
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
40 - purpose-action-reason
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
41 - purpose-action
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
42 - purpose
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
43 - compatibility filename (DEPRECATED)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
44
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
45 When using shortened names, the %ifaction%, %ifreason%, %iftype% and related
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
46 conditionals can be used to customise the list text according to the values of
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
47 the missing parts.
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
48
915
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
49 Mlmmj checks these three paths for each candidate filename, and then moves on
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
50 to the next candidate filename:
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
51
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
52 - listdir/text
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
53 - prefix/share/mlmmj/text.skel/default
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
54 - prefix/share/mlmmj/text.skel/en
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
55
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
56 The second path does not exist by default, but can be created by copying or
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
57 symlinking the language of your choice to that path.
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
58
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
59 Note that this search order means that if there is a more specific list text in
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
60 a system directory, it will override a less-specific or compatibility list text
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
61 in the listdir. This may be surprising, and may change in a future version, so
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
62 should not be relied upon. Best practice is to ensure each list has its own
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
63 copy of all textx present in system directories, or none of them.
c3c848693108 Document list text search paths.
Ben Schmidt
parents: 907
diff changeset
64
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
65 Supported list texts
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
66 --------------------
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
67
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
68 The following list texts are supported. The compatibility filename (DEPRECATED)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
69 is given in brackets. Those with asterisks (*) are not yet used.
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
70
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
71 - help (listhelp)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
72 sent in response to an email to listname+help@domain.tld
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
73
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
74 - faq (listfaq)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
75 sent in response to an email to listname+faq@domain.tld
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
76
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
77 - confirm-sub-{request|admin}-normal (sub-confirm)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
78 - confirm-sub-{request|admin}-digest (sub-confirm-digest)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
79 - confirm-sub-{request|admin}-nomail (sub-confirm-nomail)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
80 - confirm-unsub-{request|admin}-normal (unsub-confirm)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
81 - confirm-unsub-{request|admin}-digest (unsub-confirm-digest)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
82 - confirm-unsub-{request|admin}-nomail (unsub-confirm-nomail)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
83 sent to a requester to allow them to confirm a (un-)subscription request
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
84
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
85 - moderate-post-{modnonsubposts|access|moderated} (moderation)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
86 sent to the appropriate moderators when moderation is required because a user
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
87 has submitted a post
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
88
833
a1ba22fc5a36 Include reason and type when generating subscription moderation messages.
Ben Schmidt
parents: 815
diff changeset
89 - gatekeep-sub-{request|admin|confirm}-{normal|digest|nomail} (submod-moderator)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
90 sent to the appropriate gatekeepers when gatekeeping is required because a
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
91 subscription request has been received
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
92
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
93 - wait-post-{modnonsubposts|access|moderated} (moderation-poster)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
94 sent to a person submitting a post when they need to wait for moderation
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
95 before it is released to the list
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
96
833
a1ba22fc5a36 Include reason and type when generating subscription moderation messages.
Ben Schmidt
parents: 815
diff changeset
97 - wait-sub-{request|admin|confirm}-{normal|digest|nomail} (submod-requester)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
98 sent to a person requesting subscription when they need to wait for
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
99 gatekeeping for permission to join
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
100
843
2ea56ea4bd34 Add ability to subscribe to 'both' and avoid a deadlock when switching.
Ben Schmidt
parents: 840
diff changeset
101 - deny-sub-disabled-{digest|both} (sub-deny-digest)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
102 - deny-sub-disabled-nomail (sub-deny-nomail)
843
2ea56ea4bd34 Add ability to subscribe to 'both' and avoid a deadlock when switching.
Ben Schmidt
parents: 840
diff changeset
103 - deny-sub-subbed-{normal|digest|nomail|both} (sub-subscribed)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
104 - deny-sub-closed *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
105 - deny-sub-expired *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
106 - deny-sub-obstruct *
840
0f8242ffa2d0 Changes to how subscription and unsubscribe work.
Ben Schmidt
parents: 837
diff changeset
107 - deny-unsub-unsubbed-{normal|digest|nomail|all} (unsub-notsubscribed)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
108 - deny-post-subonlypost (subonlypost)
907
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
109 - deny-post-modonlypost
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
110 - deny-post-access (access)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
111 - deny-post-maxmailsize (maxmailsize)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
112 - deny-post-tocc (notintocc)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
113 - deny-post-expired *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
114 - deny-post-reject *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
115 - deny-release-notfound *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
116 - deny-release-moderators *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
117 - deny-reject-notfound *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
118 - deny-reject-moderators *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
119 - deny-permit-notfound *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
120 - deny-permit-gatekeepers *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
121 - deny-obstruct-notfound *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
122 - deny-obstruct-gatekeepers *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
123 sent to the requestor when an action is denied or fails for some reason
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
124 ('requestor' here means the person who requested the action, so e.g. for a
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
125 reject action, deny-reject will go to the moderator requesting the rejection
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
126 if the rejection fails; but deny-post-reject will go to the person requesting
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
127 the post if the rejection succeeds, causing the post to fail)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
128
840
0f8242ffa2d0 Changes to how subscription and unsubscribe work.
Ben Schmidt
parents: 837
diff changeset
129 - finish-sub-{request|confirm|admin|permit|switch}-normal (sub-ok)
0f8242ffa2d0 Changes to how subscription and unsubscribe work.
Ben Schmidt
parents: 837
diff changeset
130 - finish-sub-{request|confirm|admin|permit|switch}-digest (sub-ok-digest)
0f8242ffa2d0 Changes to how subscription and unsubscribe work.
Ben Schmidt
parents: 837
diff changeset
131 - finish-sub-{request|confirm|admin|permit|switch}-nomail (sub-ok-nomail)
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
132 - finish-unsub-{request|confirm|admin}-normal (unsub-ok)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
133 - finish-unsub-{request|confirm|admin}-digest (unsub-ok-digest)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
134 - finish-unsub-{request|confirm|admin}-nomail (unsub-ok-nomail)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
135 - finish-post-request *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
136 - finish-post-confirm *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
137 - finish-post-release *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
138 - finish-release *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
139 - finish-reject *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
140 - finish-permit *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
141 - finish-obstruct *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
142 sent to the requestor when an action completes successfully
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
143 ('requestor' here means the person who requested the action, so e.g. for a
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
144 release action, the moderator requesting the release will receive
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
145 finish-release, and the person who submitted the released post will receive
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
146 finish-post-release because the release action caused their post action to
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
147 succeed)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
148
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
149 - notify-sub-{request|confirm|admin|permit}-normal (notifysub)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
150 - notify-sub-{request|confirm|admin|permit}-digest (notifysub-digest)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
151 - notify-sub-{request|confirm|admin|permit}-nomail (notifysub-nomail)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
152 - notify-unsub-{request|confirm|admin|bouncing}-normal (notifyunsub)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
153 - notify-unsub-{request|confirm|admin|bouncing}-digest (notifyunsub-digest)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
154 - notify-unsub-{request|confirm|admin|bouncing}-nomail (notifyunsub-nomail)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
155 sent to the list owner when somebody is (un-)subscribed
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
156
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
157 - digest
804
8d2b8248ac9f Improve documentation about the digest list text.
Ben Schmidt
parents: 801
diff changeset
158 sent at the start of a digest (NOTE: the only header supported in this list
8d2b8248ac9f Improve documentation about the digest list text.
Ben Schmidt
parents: 801
diff changeset
159 text so far is a single-line 'Subject:' header; however, the contents of
8d2b8248ac9f Improve documentation about the digest list text.
Ben Schmidt
parents: 801
diff changeset
160 control/customheaders is included when digests are sent)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
161
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
162 - probe (bounce-probe)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
163 sent to a subscriber after an email to them bounced to inform them of the
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
164 bounce and probe when the address is no longer bouncing
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
165
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
166 - list---all (listsubs)
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
167 - list---normal *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
168 - list---digest *
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
169 - list---nomail *
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
170 sent in response to an email to listname+list@domain.tld from the list owner
814
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
171 (DEPRECATED: if none of %listsubs%, %digestsubs% and %nomailsubs% is
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
172 encountered in the text, then they will be automatically added with some
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
173 default formatting; this functionality is expected to be removed in the
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
174 future)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
175
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
176 * Not yet used.
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
177
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
178 Format
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
179 ------
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
180
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
181 List texts have the following format:
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
182
741
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
183 - Headers
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
184 - Blank line
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
185 - Body
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
186
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
187 They are expected to be in UTF-8 encoding and have Unix line endings.
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
188
741
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
189 The headers should be formatted as they should appear in the mail message. They
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
190 will begin the mail message. Header continuation via lines beginning with
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
191 linear whitespace is supported.
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
192
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
193 Following the headers found in the list text, Mlmmj will output the following
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
194 default headers, unless the same header is already provided in the list text.
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
195
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
196 - From:
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
197 - To:
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
198 - Message-ID:
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
199 - Date:
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
200 - Subject: mlmmj administrivia
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
201 - MIME-Version: 1.0
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
202 - Content-Type: text/plain; charset=utf-8
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
203 - Content-Transfer-Encoding: 8bit
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
204
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
205 The Subject: header is treated specially: it may include UTF-8 characters,
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
206 which will automatically be escaped using the =?utf-8?q?...?= quoting
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
207 mechanism.
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
208
804
8d2b8248ac9f Improve documentation about the digest list text.
Ben Schmidt
parents: 801
diff changeset
209 (NOTE: the 'digest' list text is a bit different. See its description above.)
8d2b8248ac9f Improve documentation about the digest list text.
Ben Schmidt
parents: 801
diff changeset
210
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
211 Both headers and bodies of list texts may include conditionals, formatting
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
212 directives and substitutions. These are explained in the following sections.
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
213
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
214 Conditionals
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
215 ------------
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
216
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
217 Conditionals allow text in list texts to be included or omitted based on
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
218 conditions. The following are available:
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
219
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
220 - %ifaction A ...%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
221 the action is one of those given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
222
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
223 - %ifreason R ...%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
224 the reason is one of those given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
225
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
226 - %iftype T ...%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
227 the type is one of those given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
228
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
229 - %ifcontrol C ...%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
230 one of the given control files exists
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
231
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
232 - %ifnaction A%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
233 the action is not the one given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
234
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
235 - %ifnreason R%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
236 the reason is not the one given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
237
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
238 - %ifntype T%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
239 the type is not the one given
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
240
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
241 - %ifncontrol C ...%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
242 at least one of the given control files does not exist
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
243
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
244 The text after the %if...% directive is only included if the condition is
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
245 satisfied, until an %else% or %endif% is encountered. These behave as you
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
246 would expect. The %else% is optional.
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
247
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
248 If a line with any of these conditional directives (%if...%, %else% or
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
249 %endif%), after processing, contains only whitespace, the line does not appear
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
250 at all in the output (the newline and any whitespace is omitted).
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
251
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
252 Furthermore, if the preceding processed output ends with a blank line, when an
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
253 unsatisfied conditional is encountered which has no %else% part, that
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
254 preceding blank line is removed (unless it is the blank line that ends the
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
255 headers).
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
256
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
257 On the whole, this is what you would want and expect, so you probably don't
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
258 need to worry about it.
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
259
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
260 Note that when multiple parameters can be given for the directives, these have
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
261 'or' behaviour; to get 'and' behaviour, nest conditionals.
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
262
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
263 Wrapping
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
264 --------
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
265
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
266 There are various directives available to assist with wrapping and formatting.
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
267 Wrapping needs to be enabled for each paragraph with:
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
268
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
269 - %wrap%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
270 - %wrap W%
862
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
271 concatenate and rewrap lines until the next empty line, whitespace-only line,
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
272 or %nowrap% directive to a width of W (or 76 if W is omitted); second and
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
273 later lines are preceded with as many spaces as the width preceding the
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
274 directive; the width is reckoned including any text preceding the directive
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
275 and any indentation preserved from a file which included the current one, so
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
276 it is an absolute maximum width
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
277
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
278 To turn off wrapping before the end of a paragraph, use:
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
279
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
280 - %nowrap%
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
281 stop wrapping; usually placed at the end of a line so the following line
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
282 break is honoured but all preceding text is properly wrapped; if you want
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
283 wrapping to continue after the break, you need to use %wrap% to turn it on
e5b80f7085a1 Add %nowrap% to facilitate more complex formatting.
Ben Schmidt
parents: 858
diff changeset
284 again on the following line
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
285
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
286 To cater for various languages, there are a number of different wrapping modes
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
287 that can be set. These can be set either before or after wrapping is specified,
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
288 and can even be changed part way through a paragraph if desired. The following
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
289 directives control them:
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
290
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
291 - %wordwrap%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
292 - %ww%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
293 use word-wrapping (this is the default; good for English, French, Greek and
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
294 other languages that use an alphabet and spaces between words); lines have
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
295 whitespace trimmed from both ends and are joined with a single space; lines
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
296 are broken at spaces or at points marked for breaking with \/, but not at
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
297 spaces escaped with a backslash
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
298
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
299 - %charwrap%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
300 - %cw%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
301 use character-wrapping (good for Chinese, Japanese and Korean which use
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
302 characters without spaces between words); lines have only leading whitespace
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
303 trimmed and are joined without inserting anything at the joint; lines are
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
304 broken at space or any non-ASCII character except where disallowed with \=
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
305
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
306 - %userwrap%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
307 - %uw%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
308 use user-wrapping (for more complex languages or wherever complete manual
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
309 control is desired); lines have only leading whitespace trimmed and are
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
310 joined without inserting anything at the joint; lines are broken only where
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
311 marked for breaking with \/
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
312
855
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
313 - %thin%
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
314 assume non-ASCII characters are thin (equivalent to one unit, the same as
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
315 ASCII characters) when reckoning the width for wrapping (this is the default;
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
316 good for languages like Greek which use a non-Latin alphabet)
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
317
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
318 - %wide%
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
319 assume non-ASCII characters are wide (equivalent to two units, twice as wide
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
320 as ASCII characters) when reckoning the width for wrapping (good for Chinese,
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
321 Japanese, Korean)
085c963b45a9 Add %thin% and %wide% width-reckoning modes.
Ben Schmidt
parents: 852
diff changeset
322
857
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
323 - %zero ABC%
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
324 (ABC represents a sequence of non-ASCII characters)
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
325 treat the listed characters as having zero-width when reckoning the width for
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
326 wrapping (useful for ignoring combining characters such as accents so they
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
327 don't affect the width calculation); usefully, the listed characters can be
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
328 represented as unicode escapes (\uNNNN)
aaedbc351b38 Add %zero ABC% exceptions.
Ben Schmidt
parents: 855
diff changeset
329
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
330 If a line with any of the directives in this section, after processing,
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
331 contains only whitespace, the line does not appear at all in the output (the
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
332 newline and any whitespace is omitted).
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
333
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
334 Formatting and comments
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
335 -----------------------
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
336
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
337 The following directives are available to assist with formatting and
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
338 readability:
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
339
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
340 - %^%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
341 start the line here; anything preceding this directive is ignored (useful for
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
342 using indentation for readability without ruining the formatting of the text
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
343 when it is processed)
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
344
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
345 - %comment%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
346 - %$%
871
12c242c5effe Slight improvement to list text documentation.
Ben Schmidt
parents: 862
diff changeset
347 end the line here; anything following this directive is ignored/a comment
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
348
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
349 If a line with any of these directives, after processing, contains only
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
350 whitespace, the line does not appear at all in the output (the newline and any
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
351 whitespace is omitted).
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
352
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
353 Formatted substitutions
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
354 -----------------------
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
355
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
356 These formatted substitutions work with multiple lines, so are generally not
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
357 appropriate for use in headers. They are:
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
358
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
359 - %text T%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
360 text from the file named T in the listdir/text directory; the name may only
875
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
361 include letters, digits, underscore, dot and hyphen, and may not start with a
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
362 dot; note that there is an unformatted version of this directive
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
363
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
364 - %control C%
810
8ddfc2d59a3f Allow more characters in control and text filenames for substitutions.
Ben Schmidt
parents: 809
diff changeset
365 the contents of the control file named C in listir/control; the name may only
875
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
366 include letters, digits, underscore, dot and hyphen, and may not start with a
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
367 dot; note that there is an unformatted version of this directive
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
368
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
369 - %originalmail%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
370 - %originalmail N%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
371 (available only in moderate-post-*, wait-post-* and
907
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
372 deny-post-{access|maxmailsize|tocc|subonlypost|modonlypost})
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
373 the email message being processed (usually a mail being moderated); N
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
374 represents a number, which is how many lines of the message (including
811
262752ddbbf5 Add %originalmail% and restore backward compatibility of $originalmail$.
Ben Schmidt
parents: 810
diff changeset
375 headers) to include: if omitted, the whole message will be included
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
376
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
377 - %digestthreads%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
378 (available only in digest)
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
379 the list of threads included in the digest
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
380
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
381 - %gatekeepers%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
382 (available only in gatekeep-sub and wait-sub)
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
383 the list of moderators to whom the moderation request has been sent
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
384
814
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
385 - %listsubs%
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
386 (available only in list---*)
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
387 the list of normal subscribers
883
4e97d0735da7 Fix initialisation problems so +list works.
Ben Schmidt
parents: 875
diff changeset
388 DEPRECATED: use %normalsubs%
4e97d0735da7 Fix initialisation problems so +list works.
Ben Schmidt
parents: 875
diff changeset
389
4e97d0735da7 Fix initialisation problems so +list works.
Ben Schmidt
parents: 875
diff changeset
390 - %normalsubs%
4e97d0735da7 Fix initialisation problems so +list works.
Ben Schmidt
parents: 875
diff changeset
391 (available only in list---*)
4e97d0735da7 Fix initialisation problems so +list works.
Ben Schmidt
parents: 875
diff changeset
392 the list of normal subscribers
814
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
393
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
394 - %digestsubs%
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
395 (available only in list---*)
814
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
396 the list of digest subscribers
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
397
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
398 - %nomailsubs%
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
399 (available only in list---*)
757225257ef3 Add formatted substitutions that are lists.
Ben Schmidt
parents: 813
diff changeset
400 the list of nomail subscribers
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
401
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
402 - %moderators%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
403 (available only in moderate-post-* and wait-post-*)
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
404 the list of moderators to whom the moderation request has been sent
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
405
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
406 - %bouncenumbers%
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
407 (available only in probe)
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
408 the list of indexes of messages which may not have been received as they
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
409 bounced
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
410
809
99fb6ba7a76e Add %%, %^%, %comment%, %control C%, %text T% formatting directives.
Ben Schmidt
parents: 804
diff changeset
411 Directives which include a list of items have the behaviour that each item is
99fb6ba7a76e Add %%, %^%, %comment%, %control C%, %text T% formatting directives.
Ben Schmidt
parents: 804
diff changeset
412 preceded and followed by the same text as preceded and followed the directive
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
413 on its line; only one such directive is supported per line. Those which include
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
414 a block of text have the behaviour that second and later lines are preceded
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
415 with as many spaces as there were bytes preceding the directive; any text
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
416 following such directives on the same line is omitted.
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
417
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
418 If a line with any of these directives, after processing, contains only
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
419 whitespace, the line does not appear at all in the output (the newline and any
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
420 whitespace is omitted).
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
421
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
422 Unformatted substitutions
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
423 -------------------------
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
424
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
425 Unformatted substitutions that are available are:
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
426
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
427 - $bouncenumbers$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
428 (available only in probe)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
429 the formatted list of indexes of messages which may not have been received as
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
430 they bounced
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
431 DEPRECATED: use %bouncenumbers%
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
432
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
433 - $confaddr$
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
434 - $confirmaddr$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
435 (available only in confirm-[un]sub-*)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
436 the address to which to send mail to confirm the (un-)subscription in
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
437 question
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
438 NOTE: the short version of this substitution is DEPRECATED
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
439
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
440 - $control C$
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
441 the contents of the control file named C in listdir/control, with its final
810
8ddfc2d59a3f Allow more characters in control and text filenames for substitutions.
Ben Schmidt
parents: 809
diff changeset
442 newline stripped; the name may only include letters, digits, underscore, dot
875
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
443 and hyphen, and may not start with a dot; note that there is a formatted
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
444 version of this directive
754
ecb991e41a4c Add $controlN$ substitution
Ben Schmidt
parents: 749
diff changeset
445
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
446 - $digestfirst$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
447 (available only in digest)
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
448 index of the first message included in a digest
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
449
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
450 - $digestinterval$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
451 (available only in digest)
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
452 indexes of the first and last messages included in a digest (e.g. 1-5), or
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
453 just the index if only a single message is included
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
454
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
455 - $digestissue$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
456 (available only in digest)
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
457 the issue number of the digest
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
458
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
459 - $digestlast$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
460 (available only in digest)
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
461 index of the last message included in a digest
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
462
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
463 - $digestsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
464 listname+subscribe-digest@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
465 DEPRECATED: use $list+$subscribe-digest@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
466
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
467 - $digestthreads$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
468 (available only in digest)
794
6f8df4842d91 Add a space to $controlN$ substitution and improve documentation.
Ben Schmidt
parents: 754
diff changeset
469 the formatted list of threads included in the digest
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
470 DEPRECATED: use %digestthreads%
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
471
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
472 - $digestunsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
473 listname+unsubscribe-digest@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
474 DEPRECATED: use $list+$unsubscribe-digest@$domain$ instead
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
475
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
476 - $domain$
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
477 domain.tld
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
478
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
479 - $faqaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
480 listname+faq@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
481 DEPRECATED: use $list+$faq@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
482
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
483 - $helpaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
484 listname+help@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
485 DEPRECATED: use $list+$help@$domain$ instead
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
486
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
487 - $list$
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
488 listname
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
489
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
490 - $list+$
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
491 listname+
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
492
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
493 - $listaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
494 listname@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
495 DEPRECATED: use $list$@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
496
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
497 - $listgetN$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
498 listname+get-N@domain.tld
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
499 (the N here is nothing special, so this won't actually work, but is used to
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
500 explain to users how to use the +get functionality)
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
501 DEPRECATED: use $list+$get-N@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
502
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
503 - $listowner$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
504 listname+owner@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
505 DEPRECATED: use $list+$owner@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
506
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
507 - $listsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
508 listname+subscribe@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
509 DEPRECATED: use $list+$subscribe@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
510
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
511 - $listunsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
512 listname+unsubscribe@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
513 DEPRECATED: use $list+$unsubscribe@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
514
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
515 - $maxmailsize$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
516 (available only in deny-post-maxmailsize)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
517 the maximum size of mail that Mlmmj will accept
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
518
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
519 - $moderateaddr$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
520 (available only in moderate-post-* and gatekeep-sub)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
521 the address to which to send mail to approve the post or subscription in
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
522 question
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
523 DEPRECATED: use $releaseaddr$ or $permitaddr$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
524
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
525 - $moderators$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
526 (available only in moderate-post-*, wait-post-*, gatekeep-sub and wait-sub)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
527 the formatted list of moderators to whom the moderation request has been sent
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
528 DEPRECATED: use %moderators% or %gatekeepers% instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
529
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
530 - $newsub$
796
9f503b69a55d Update documentation to reflect intended changes to list text naming
Ben Schmidt
parents: 795
diff changeset
531 (available only in notify-sub-*-*)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
532 the address that has been subscribed
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
533 DEPRECATED: use $subaddr$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
534
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
535 - $nomailsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
536 listname+subscribe-nomail@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
537 DEPRECATED: use $list+$subscribe-nomail@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
538
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
539 - $nomailunsubaddr$
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
540 listname+unsubscribe-nomail@domain.tld
795
8c4064ce228e Mark a bunch of stuff as deprecated.
Ben Schmidt
parents: 794
diff changeset
541 DEPRECATED: use $list+$unsubscribe-nomail@$domain$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
542
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
543 - $oldsub$
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
544 (available only in notify-sub-*-*)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
545 the address that has been unsubscribed
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
546 DEPRECATED: use $subaddr$ instead
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
547
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
548 - $originalmail$
811
262752ddbbf5 Add %originalmail% and restore backward compatibility of $originalmail$.
Ben Schmidt
parents: 810
diff changeset
549 the same as %originalmail 100% preceded by a space
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
550 DEPRECATED: use %originalmail%
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
551
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
552 - $permitaddr$
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
553 (available only in gatekeep-sub)
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
554 the address to which to send mail to permit the subscription in question
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
555
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
556 - $posteraddr$
907
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
557 (available only in deny-post-{access|tocc|subonlypost|modonlypost|
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
558 maxmailsize}, moderate-post-* and wait-post-*)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
559 the from address of the message that was received as determined by Mlmmj
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
560
745
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
561 - $random0$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
562 - $random1$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
563 - $random2$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
564 - $random3$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
565 - $random4$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
566 - $random5$
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
567 these are 6 distinct random strings; they allow list texts to be constructed
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
568 that are MIME messages with attachments by creating boundaries that are
745
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
569 unlikely to appear in the attached messages
5edfa9eef6c7 Add $random0$ through $random5$ substitutions
Ben Schmidt
parents: 744
diff changeset
570
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
571 - $releaseaddr$
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
572 (available only in moderate-post-*)
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
573 the address to which to send mail to release the post in question
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
574
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
575 - $subaddr$
813
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
576 (available only in gatekeep-sub, confirm-[un]sub-*, finish-[un]sub-*,
74d5ebb67b34 Rework the internals of list text substitution and add some substitutions.
Ben Schmidt
parents: 811
diff changeset
577 notify-[un]sub-* and deny-[un]sub-*)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
578 the address requested to be (un-)subscribed
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
579
744
926f184eec44 Add a $subject$ substitution for list texts
Ben Schmidt
parents: 742
diff changeset
580 - $subject$
907
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
581 (available only in deny-post-{access|tocc|subonlypost|modonlypost|
16df1cc898d0 Implement modonlypost.
Ben Schmidt
parents: 900
diff changeset
582 maxmailsize}, moderate-post-* and wait-post-*)
744
926f184eec44 Add a $subject$ substitution for list texts
Ben Schmidt
parents: 742
diff changeset
583 the subject line of the message in question
926f184eec44 Add a $subject$ substitution for list texts
Ben Schmidt
parents: 742
diff changeset
584
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
585 - $text T$
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
586 text from the file named T in the listdir/text directory, with its final
810
8ddfc2d59a3f Allow more characters in control and text filenames for substitutions.
Ben Schmidt
parents: 809
diff changeset
587 newline stripped; the name may only include letters, digits, underscore, dot
875
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
588 and hyphen, and may not start with a dot; note that there is a formatted
c5d38273f64c Fix and improve how tokens are recognised for conditionals etc..
Ben Schmidt
parents: 871
diff changeset
589 version of this directive
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
590
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
591 Escapes
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
592 -------
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
593
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
594 These allow you to avoid special meanings of characters used for other purposes
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
595 in list texts, as well as control the construction of the texts at a fairly low
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
596 level.
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
597
801
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
598 - $$
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
599 a single $
25fa51ecd9e3 Update documentation to reflect planned changes to list text directives
Ben Schmidt
parents: 796
diff changeset
600
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
601 - %%
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
602 a single %
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
603
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
604 - \\
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
605 a single \
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
606
741
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
607 - \uNNNN
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
608 (NNNN represents four hex digits)
741
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
609 a Unicode character
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
610 (this is not really appropriate for use in a header, except perhaps the
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
611 Subject: header as Mlmmj does automatic quoting for that header as described
b72bcb7e08a2 Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents: 738
diff changeset
612 above)
738
c910b56dc039 Documented listtexts
Ben Schmidt
parents:
diff changeset
613
837
f51138584096 Improvements to wrapping.
Ben Schmidt
parents: 833
diff changeset
614 - \<space>
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
615 a space, but don't allow the line to be broken here when wrapping
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
616
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
617 - \/
837
f51138584096 Improvements to wrapping.
Ben Schmidt
parents: 833
diff changeset
618 nothing, but allow the line to be broken here when wrapping
f51138584096 Improvements to wrapping.
Ben Schmidt
parents: 833
diff changeset
619
852
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
620 - \=
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
621 nothing, but don't allow the line to be broken here when wrapping
5471407e104d Add wrapping modes to facilitate wrapping non-English texts.
Ben Schmidt
parents: 843
diff changeset
622