flnews_post_proc 2.08 → 2.09
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/changes.txt +5 -0
- data/doc/fr/html/flnews_post_proc.html +13 -2
- data/doc/fr/man/flnews_post_proc.1.gz +0 -0
- data/doc/fr/pdf/flnews_post_proc.pdf +0 -0
- data/doc/fr/rst/flnews_post_proc.rst +10 -1
- data/doc/html/flnews_post_proc.html +11 -2
- data/doc/man/flnews_post_proc.1 +648 -0
- data/doc/pdf/flnews_post_proc.pdf +0 -0
- data/doc/rst/flnews_post_proc.rst +8 -1
- data/lib/version.rb +1 -1
- data/man/flnews_post_proc.1 +648 -0
- metadata +4 -3
- data/doc/man/flnews_post_proc.1.gz +0 -0
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
.\" Man page generated from reStructuredText
|
|
2
|
+
.\" by the Docutils 0.23 manpage writer.
|
|
3
|
+
.
|
|
4
|
+
.
|
|
5
|
+
.nr rst2man-indent-level 0
|
|
6
|
+
.
|
|
7
|
+
.de1 rstReportMargin
|
|
8
|
+
\\$1 \\n[an-margin]
|
|
9
|
+
level \\n[rst2man-indent-level]
|
|
10
|
+
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
11
|
+
-
|
|
12
|
+
\\n[rst2man-indent0]
|
|
13
|
+
\\n[rst2man-indent1]
|
|
14
|
+
\\n[rst2man-indent2]
|
|
15
|
+
..
|
|
16
|
+
.de1 INDENT
|
|
17
|
+
.\" .rstReportMargin pre:
|
|
18
|
+
. RS \\$1
|
|
19
|
+
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
20
|
+
. nr rst2man-indent-level +1
|
|
21
|
+
.\" .rstReportMargin post:
|
|
22
|
+
..
|
|
23
|
+
.de UNINDENT
|
|
24
|
+
. RE
|
|
25
|
+
.\" indent \\n[an-margin]
|
|
26
|
+
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
27
|
+
.nr rst2man-indent-level -1
|
|
28
|
+
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
29
|
+
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
30
|
+
..
|
|
31
|
+
.TH flnews_post_proc "1" "Tue 22 Sep 2026" "1" "General Commands"
|
|
32
|
+
.SH Name
|
|
33
|
+
flnews_post_proc \- Post-Processor for the flnews Newsreader
|
|
34
|
+
.INDENT 0.0
|
|
35
|
+
.IP \(bu 2
|
|
36
|
+
SYNOPSIS
|
|
37
|
+
.IP \(bu 2
|
|
38
|
+
DESCRIPTION
|
|
39
|
+
.INDENT 2.0
|
|
40
|
+
.IP \(bu 2
|
|
41
|
+
Limitations of Basic Newsreaders
|
|
42
|
+
.IP \(bu 2
|
|
43
|
+
Dialog for Overriding Settings
|
|
44
|
+
.UNINDENT
|
|
45
|
+
.IP \(bu 2
|
|
46
|
+
CONFIGURATION
|
|
47
|
+
.INDENT 2.0
|
|
48
|
+
.IP \(bu 2
|
|
49
|
+
Configuration Options
|
|
50
|
+
.UNINDENT
|
|
51
|
+
.IP \(bu 2
|
|
52
|
+
Other Information
|
|
53
|
+
.INDENT 2.0
|
|
54
|
+
.IP \(bu 2
|
|
55
|
+
Subject changes:
|
|
56
|
+
.IP \(bu 2
|
|
57
|
+
Editing footnotes
|
|
58
|
+
.IP \(bu 2
|
|
59
|
+
Signatures in Supersedes
|
|
60
|
+
.IP \(bu 2
|
|
61
|
+
Testing
|
|
62
|
+
.IP \(bu 2
|
|
63
|
+
Source Code
|
|
64
|
+
.IP \(bu 2
|
|
65
|
+
License
|
|
66
|
+
.IP \(bu 2
|
|
67
|
+
Author
|
|
68
|
+
.IP \(bu 2
|
|
69
|
+
This document
|
|
70
|
+
.UNINDENT
|
|
71
|
+
.UNINDENT
|
|
72
|
+
.SH SYNOPSIS
|
|
73
|
+
.INDENT 0.0
|
|
74
|
+
.INDENT 3.5
|
|
75
|
+
The post\-processor is invoked by piping an article into it. This typically
|
|
76
|
+
occurs automatically when the \(dqpost_proc\(dq variable is set to \fBflnews_post_proc\fP
|
|
77
|
+
in the flnews configuration file.
|
|
78
|
+
.sp
|
|
79
|
+
For testing purposes, you can also pipe locally stored articles into the
|
|
80
|
+
post\-processor using a command like:
|
|
81
|
+
.INDENT 0.0
|
|
82
|
+
.INDENT 3.5
|
|
83
|
+
\fBflnews_post_proc\fP < article
|
|
84
|
+
.UNINDENT
|
|
85
|
+
.UNINDENT
|
|
86
|
+
.sp
|
|
87
|
+
\&.or:
|
|
88
|
+
.INDENT 0.0
|
|
89
|
+
.INDENT 3.5
|
|
90
|
+
cat article.txt | \fBflnews_post_proc\fP
|
|
91
|
+
.UNINDENT
|
|
92
|
+
.UNINDENT
|
|
93
|
+
.UNINDENT
|
|
94
|
+
.UNINDENT
|
|
95
|
+
.SH DESCRIPTION
|
|
96
|
+
.INDENT 0.0
|
|
97
|
+
.INDENT 3.5
|
|
98
|
+
The flnews newsreader fully supports Usenet access, enabling the reception and
|
|
99
|
+
reading of articles from newsgroups, as well as composing and posting them.
|
|
100
|
+
.sp
|
|
101
|
+
When comparing various news clients, differences will often influence your
|
|
102
|
+
choice of preferred client. Flnews distinguishes itself by not only offering
|
|
103
|
+
control over its internal behavior, but also by allowing you to modify outgoing
|
|
104
|
+
posts just before they are sent to the configured NNTP server.
|
|
105
|
+
.sp
|
|
106
|
+
The \fBflnews_post_proc\fP program can be used to modify and enhance a post in ways
|
|
107
|
+
that flnews alone cannot. It is configurable and may meet the needs of some
|
|
108
|
+
Usenet users, though it is primarily intended as a starting point for creating
|
|
109
|
+
your own custom solutions.
|
|
110
|
+
.UNINDENT
|
|
111
|
+
.UNINDENT
|
|
112
|
+
.SS Limitations of Basic Newsreaders
|
|
113
|
+
.INDENT 0.0
|
|
114
|
+
.INDENT 3.5
|
|
115
|
+
While flnews creates posts that are generally complete and ready for
|
|
116
|
+
submission, there are instances where users might find the output
|
|
117
|
+
unsatisfactory for arbitrary reasons:
|
|
118
|
+
.INDENT 0.0
|
|
119
|
+
.IP \(bu 2
|
|
120
|
+
If you\(aqre posting to different newsgroups in multiple languages, the
|
|
121
|
+
introductory line referencing a prior post can only be set once in the flnews
|
|
122
|
+
configuration file. As a result, posts to a French newsgroup, for example,
|
|
123
|
+
may start with an introduction in English. The post\-processor can address
|
|
124
|
+
this by setting specific introductory lines for each newsgroup.
|
|
125
|
+
.IP \(bu 2
|
|
126
|
+
Similar issues arise when you set a standard signature and want it to vary
|
|
127
|
+
based on the newsgroup. The post\-processor allows different signatures to be
|
|
128
|
+
used for different newsgroups, and you can even randomize the selection from
|
|
129
|
+
a list of signatures stored in a file.
|
|
130
|
+
.IP \(bu 2
|
|
131
|
+
Custom headers, such as GnuPG key IDs or your language proficiency, can also
|
|
132
|
+
be added to posts, though signatures may be a better alternative. Custom
|
|
133
|
+
headers can be defined in the configuration file and will be added to
|
|
134
|
+
outgoing posts.
|
|
135
|
+
.IP \(bu 2
|
|
136
|
+
Headers like \(dqArchive\(dq and \(dqX\-No\-Archive\(dq are sometimes set to prevent an
|
|
137
|
+
article from being indexed by search engines (e.g., Google). For example,
|
|
138
|
+
test posts likely don\(aqt need to be included in search results. The
|
|
139
|
+
post\-processor can apply both headers to all posts sent to certain
|
|
140
|
+
newsgroups.
|
|
141
|
+
.UNINDENT
|
|
142
|
+
.sp
|
|
143
|
+
\fBNOTE\fP: As of 2024, the \(dqX\-No\-Archive\(dq header has limited effectiveness,
|
|
144
|
+
and it is up to server operators whether or not to honor it.
|
|
145
|
+
.INDENT 0.0
|
|
146
|
+
.IP \(bu 2
|
|
147
|
+
Posts that include many references to other posts or URLs can become
|
|
148
|
+
cluttered. The post\-processor can convert marked text into footnotes, similar
|
|
149
|
+
to the <ref/> link format used in Wikipedia, with the delimiter configurable
|
|
150
|
+
in the configuration file.
|
|
151
|
+
Example (using %=): \(dqThis is an object %=and this becomes the footnote,
|
|
152
|
+
describing the object further=%\(dq. See also the hints under
|
|
153
|
+
EDITING FOOTNOTES, below.
|
|
154
|
+
.IP \(bu 2
|
|
155
|
+
When you decide to postpone the publication of an article, flnews does
|
|
156
|
+
currently not offer a way to keep draft messages. The post\-processor lets
|
|
157
|
+
you save preliminary versions of your message in a configured directory
|
|
158
|
+
instead of posting them.
|
|
159
|
+
.UNINDENT
|
|
160
|
+
.UNINDENT
|
|
161
|
+
.UNINDENT
|
|
162
|
+
.SS Dialog for Overriding Settings
|
|
163
|
+
.INDENT 0.0
|
|
164
|
+
.INDENT 3.5
|
|
165
|
+
\fBIMPORTANT\fP: As of version 2.01, only the text interface remains to display the dialog.
|
|
166
|
+
XTerm \%<https://\:xterm\:.dev/> must be installed to use the dialog.
|
|
167
|
+
.sp
|
|
168
|
+
Before the post\-processor runs, a dialog can be displayed to allow users to
|
|
169
|
+
\fBdisable\fP certain CONFIGURATION options and – as of version 2.01 – to
|
|
170
|
+
\fBenable\fP others . If XTerm is available, you can choose to disable the
|
|
171
|
+
following options. You \fBcannot\fP enable options that haven\(aqt already been
|
|
172
|
+
set in the configuration. But you can choose to add an option that is not present
|
|
173
|
+
in the configuration file:
|
|
174
|
+
.INDENT 0.0
|
|
175
|
+
.INDENT 3.5
|
|
176
|
+
.INDENT 0.0
|
|
177
|
+
.IP \(bu 2
|
|
178
|
+
Signatures (if set in the CONFIGURATION) can be \fBignored\fP\&. A default signature will be used, or no signature at all.
|
|
179
|
+
.IP \(bu 2
|
|
180
|
+
Custom headers can be \fBomitted\fP\&.
|
|
181
|
+
.IP \(bu 2
|
|
182
|
+
The \(dqArchive\(dq and \(dqX\-No\-Archive\(dq headers can be \fBignored\fP if set for the current newsgroup.
|
|
183
|
+
.IP \(bu 2
|
|
184
|
+
Logging can be \fBdisabled\fP, if enabled.
|
|
185
|
+
.UNINDENT
|
|
186
|
+
.UNINDENT
|
|
187
|
+
.UNINDENT
|
|
188
|
+
.sp
|
|
189
|
+
There is 1 additional option, which is disabled by default, that you can enable only in the dialog and nowhere else:
|
|
190
|
+
.INDENT 0.0
|
|
191
|
+
.INDENT 3.5
|
|
192
|
+
.INDENT 0.0
|
|
193
|
+
.IP \(bu 2
|
|
194
|
+
The current message can be saved as a draft, \fBinstead\fP of being posted to Usenet.
|
|
195
|
+
.UNINDENT
|
|
196
|
+
.UNINDENT
|
|
197
|
+
.UNINDENT
|
|
198
|
+
.sp
|
|
199
|
+
When your configuration contains the path to a directory for these drafts (option DRAFT_DIR), it will be used to store
|
|
200
|
+
these draft messages, otherwise the temporary directory from the environment variable $TEMP.
|
|
201
|
+
.sp
|
|
202
|
+
Pressing Esc or the Cancel button on the dialog will interrupt the process, and
|
|
203
|
+
flnews will not post the article.
|
|
204
|
+
.sp
|
|
205
|
+
To disable the dialog entirely (and apply all configured options without
|
|
206
|
+
further interaction), set the \fBOVERRIDE_CONFIG\fP option.
|
|
207
|
+
.UNINDENT
|
|
208
|
+
.UNINDENT
|
|
209
|
+
.SH CONFIGURATION
|
|
210
|
+
.INDENT 0.0
|
|
211
|
+
.INDENT 3.5
|
|
212
|
+
Upon first execution of the program, a copy of the original configuration file
|
|
213
|
+
is created in \fI/home/[user]/.flnews_post_proc.conf\fP\&. This file is used
|
|
214
|
+
thereafter. Deleting it will cause the file to be recreated, but any custom
|
|
215
|
+
changes will be lost.
|
|
216
|
+
.sp
|
|
217
|
+
The configuration file uses YAML syntax and includes detailed explanations. The
|
|
218
|
+
variables within it fall into two categories:
|
|
219
|
+
.INDENT 0.0
|
|
220
|
+
.IP 1. 3
|
|
221
|
+
Two variables that represent values originally set by flnews, which can be
|
|
222
|
+
used or replaced. These elements are typically captured using regular
|
|
223
|
+
expressions.
|
|
224
|
+
.IP 2. 3
|
|
225
|
+
Most variables define new or modified content.
|
|
226
|
+
.UNINDENT
|
|
227
|
+
.UNINDENT
|
|
228
|
+
.UNINDENT
|
|
229
|
+
.SS Configuration Options
|
|
230
|
+
.\" empty lines in the following definition list are in reality '\ '
|
|
231
|
+
.
|
|
232
|
+
.sp
|
|
233
|
+
\fBFUP_NAME\fP
|
|
234
|
+
.INDENT 0.0
|
|
235
|
+
.INDENT 3.5
|
|
236
|
+
A regular expression that matches the name of the previous poster in a
|
|
237
|
+
quoted post. This string is recognized in the original article and used
|
|
238
|
+
with the matching element from GROUP_INTROS\&.
|
|
239
|
+
.sp
|
|
240
|
+
Leave this field empty to retain the default value from the FLNews
|
|
241
|
+
configuration.
|
|
242
|
+
.sp
|
|
243
|
+
CONTENT: A string representing a regular expression.
|
|
244
|
+
.sp
|
|
245
|
+
DEFAULT: EMPTY
|
|
246
|
+
.sp
|
|
247
|
+
EXAMPLE1: \(dqOn \e\ed+.\e\ed+.\e\ed{2,4} at \e\ed+:\e\ed+ \fB(.*)\fP wrote:\(dq
|
|
248
|
+
.sp
|
|
249
|
+
EXAMPLE2: \(dq\fB(.*)\fP wrote:\(dq
|
|
250
|
+
.UNINDENT
|
|
251
|
+
.UNINDENT
|
|
252
|
+
.sp
|
|
253
|
+
\fBFUP_GROUP\fP
|
|
254
|
+
.INDENT 0.0
|
|
255
|
+
.INDENT 3.5
|
|
256
|
+
A regular expression that matches the newsgroup where the quoted post was
|
|
257
|
+
published.
|
|
258
|
+
.sp
|
|
259
|
+
Leave this field empty to ignore the exact group.
|
|
260
|
+
.sp
|
|
261
|
+
CONTENT: A string representing a regular expression.
|
|
262
|
+
.sp
|
|
263
|
+
DEFAULT: EMPTY
|
|
264
|
+
.sp
|
|
265
|
+
EXAMPLE: \(dqwrote in \fB(.*)\fP:\(dq
|
|
266
|
+
.UNINDENT
|
|
267
|
+
.UNINDENT
|
|
268
|
+
.sp
|
|
269
|
+
\fBGROUP_INTROS\fP
|
|
270
|
+
.INDENT 0.0
|
|
271
|
+
.INDENT 3.5
|
|
272
|
+
Introductory strings referring to the previous poster in a quoted post.
|
|
273
|
+
When the newsgroup matches FUP_GROUP, these variables are used in the
|
|
274
|
+
resulting introduction.
|
|
275
|
+
.sp
|
|
276
|
+
CONTENT: A newsgroup or regular expression per line, followed by a colon,
|
|
277
|
+
space, and string.
|
|
278
|
+
.sp
|
|
279
|
+
DEFAULT: As configured in FLNews.
|
|
280
|
+
.sp
|
|
281
|
+
EXAMPLE: alt.test: \(dqThus spoke %fup_name% on that baleful %fup_date%:\(dq
|
|
282
|
+
.UNINDENT
|
|
283
|
+
.UNINDENT
|
|
284
|
+
.sp
|
|
285
|
+
\fBGROUP_SIGS\fP
|
|
286
|
+
.INDENT 0.0
|
|
287
|
+
.INDENT 3.5
|
|
288
|
+
Signature lines for each newsgroup or a path to a file containing
|
|
289
|
+
signatures, which should be formatted and separated by one empty line. A
|
|
290
|
+
random signature is picked from the file for each newsgroup. You can also
|
|
291
|
+
source another file within the signature file by starting a line with
|
|
292
|
+
\(dq. /path/to/other/file\(dq.
|
|
293
|
+
.sp
|
|
294
|
+
CONTENT: A newsgroup or regular expression per line, followed by a colon,
|
|
295
|
+
space, and string.
|
|
296
|
+
.sp
|
|
297
|
+
DEFAULT: As configured in flnews.
|
|
298
|
+
.sp
|
|
299
|
+
EXAMPLE:
|
|
300
|
+
.INDENT 0.0
|
|
301
|
+
.INDENT 3.5
|
|
302
|
+
.sp
|
|
303
|
+
.EX
|
|
304
|
+
alt.test: \(dqSignature for alt.test\e\er\e\ensecond line\(dq
|
|
305
|
+
comp.*: /home/[user]/.my_sigs
|
|
306
|
+
.EE
|
|
307
|
+
.UNINDENT
|
|
308
|
+
.UNINDENT
|
|
309
|
+
.UNINDENT
|
|
310
|
+
.UNINDENT
|
|
311
|
+
.sp
|
|
312
|
+
\fBCUSTOM_HEADERS\fP
|
|
313
|
+
.INDENT 0.0
|
|
314
|
+
.INDENT 3.5
|
|
315
|
+
Additional custom headers to be added to outgoing articles.
|
|
316
|
+
.sp
|
|
317
|
+
CONTENT: One line per header, starting with a dash and space, followed by
|
|
318
|
+
the header name and value.
|
|
319
|
+
.sp
|
|
320
|
+
DEFAULT: Undefined
|
|
321
|
+
.sp
|
|
322
|
+
EXAMPLE:
|
|
323
|
+
.INDENT 0.0
|
|
324
|
+
.INDENT 3.5
|
|
325
|
+
.sp
|
|
326
|
+
.EX
|
|
327
|
+
\- \(aqX\-My\-Header: nothing fancy\(aq
|
|
328
|
+
\- \(aqX\-Another\-Header: care not!\(aq
|
|
329
|
+
.EE
|
|
330
|
+
.UNINDENT
|
|
331
|
+
.UNINDENT
|
|
332
|
+
.UNINDENT
|
|
333
|
+
.UNINDENT
|
|
334
|
+
.sp
|
|
335
|
+
\fBNAME_POSTPROCESSOR\fP
|
|
336
|
+
.INDENT 0.0
|
|
337
|
+
.INDENT 3.5
|
|
338
|
+
Can be used to set a custom header \(dqX\-Post\-Processor\(dq with the name of
|
|
339
|
+
the program and its current version. Leave empty or set to no or false
|
|
340
|
+
to avoid the creation of this header.
|
|
341
|
+
This setting is independent of the presence or absence of other custom
|
|
342
|
+
headers and cannot be manipulated in the Override Dialog, only in the
|
|
343
|
+
configuration file.
|
|
344
|
+
.sp
|
|
345
|
+
CONTENT: yes, YES, True, no, NO, empty string, False and variations.
|
|
346
|
+
.sp
|
|
347
|
+
DEFAULT: Empty
|
|
348
|
+
.sp
|
|
349
|
+
EXAMPLE: Yes
|
|
350
|
+
.UNINDENT
|
|
351
|
+
.UNINDENT
|
|
352
|
+
.sp
|
|
353
|
+
\fBNO_ARCHIVE_GROUPS\fP
|
|
354
|
+
.INDENT 0.0
|
|
355
|
+
.INDENT 3.5
|
|
356
|
+
Newsgroups where the \(dqArchive: no\(dq and \(dqX\-No\-Archive: YES\(dq headers should
|
|
357
|
+
be set.
|
|
358
|
+
.sp
|
|
359
|
+
CONTENT: A line with a dash and space, followed by the group name or a
|
|
360
|
+
regular expression.
|
|
361
|
+
.sp
|
|
362
|
+
DEFAULT: Empty
|
|
363
|
+
.sp
|
|
364
|
+
EXAMPLE:
|
|
365
|
+
.INDENT 0.0
|
|
366
|
+
.INDENT 3.5
|
|
367
|
+
.sp
|
|
368
|
+
.EX
|
|
369
|
+
\- \(dqalt.test\(dq
|
|
370
|
+
\- \(dq^news.*\(dq
|
|
371
|
+
.EE
|
|
372
|
+
.UNINDENT
|
|
373
|
+
.UNINDENT
|
|
374
|
+
.UNINDENT
|
|
375
|
+
.UNINDENT
|
|
376
|
+
.sp
|
|
377
|
+
\fBDEBUG_LOG\fP
|
|
378
|
+
.INDENT 0.0
|
|
379
|
+
.INDENT 3.5
|
|
380
|
+
The name of the file where debug messages are logged. If specified, logging
|
|
381
|
+
will be enabled. If empty, logging is disabled.
|
|
382
|
+
.sp
|
|
383
|
+
CONTENT: The name of a writable file, which will be created if it doesn\(aqt
|
|
384
|
+
exist and overwritten if necessary.
|
|
385
|
+
.sp
|
|
386
|
+
DEFAULT: Empty
|
|
387
|
+
.sp
|
|
388
|
+
EXAMPLE: \(dq/tmp/a_log\-file.txt\(dq
|
|
389
|
+
.UNINDENT
|
|
390
|
+
.UNINDENT
|
|
391
|
+
.sp
|
|
392
|
+
\fBLOG LEVEL\fP
|
|
393
|
+
.INDENT 0.0
|
|
394
|
+
.INDENT 3.5
|
|
395
|
+
One of: debug, fatal, error, info, warn.
|
|
396
|
+
.UNINDENT
|
|
397
|
+
.UNINDENT
|
|
398
|
+
.sp
|
|
399
|
+
\fBREFERENCES_SEPARATOR\fP
|
|
400
|
+
.INDENT 0.0
|
|
401
|
+
.INDENT 3.5
|
|
402
|
+
A symbol or sequence marking the end of the message body and the beginning
|
|
403
|
+
of a footnote list. If not defined, footnotes are appended directly after
|
|
404
|
+
the message body.
|
|
405
|
+
.sp
|
|
406
|
+
CONTENT: A quoted symbol or sequence.
|
|
407
|
+
.sp
|
|
408
|
+
DEFAULT: Empty
|
|
409
|
+
.sp
|
|
410
|
+
EXAMPLE: \(dq\-\-\-\-\-\-\-\-\-\(dq
|
|
411
|
+
.UNINDENT
|
|
412
|
+
.UNINDENT
|
|
413
|
+
.sp
|
|
414
|
+
\fBREFERENCES_DELIMITER\fP
|
|
415
|
+
.INDENT 0.0
|
|
416
|
+
.INDENT 3.5
|
|
417
|
+
A sequence marking the beginning and end of text to be used as a footnote
|
|
418
|
+
or reference. The reversed sequence is used to mark the end.
|
|
419
|
+
.sp
|
|
420
|
+
CONTENT: A quoted symbol or sequence.
|
|
421
|
+
.sp
|
|
422
|
+
DEFAULT: None (empty)
|
|
423
|
+
.sp
|
|
424
|
+
EXAMPLE: \(dq%?\(dq
|
|
425
|
+
.UNINDENT
|
|
426
|
+
.UNINDENT
|
|
427
|
+
.sp
|
|
428
|
+
\fBREFERENCE_FORMAT\fP
|
|
429
|
+
.INDENT 0.0
|
|
430
|
+
.INDENT 3.5
|
|
431
|
+
A format string using \fI%s\fP for a number to replace the reference text in
|
|
432
|
+
the body.
|
|
433
|
+
.sp
|
|
434
|
+
DEFAULT: \(dq %s)\(dq → becomes 1) ... 2) ... 3)
|
|
435
|
+
.sp
|
|
436
|
+
EXAMPLE: \(dq(%s)\(dq → becomes (1) ... (2) ... (3)
|
|
437
|
+
.UNINDENT
|
|
438
|
+
.UNINDENT
|
|
439
|
+
.sp
|
|
440
|
+
\fBVFY_URLS\fP
|
|
441
|
+
.INDENT 0.0
|
|
442
|
+
.INDENT 3.5
|
|
443
|
+
A boolean constant determining whether URLs should be verified and
|
|
444
|
+
corrected if necessary. URL manipulations include adding angular brackets
|
|
445
|
+
(\(aq<\(aq, \(aq>\(aq) and slashes after \(dqhttp(s):\(dq.
|
|
446
|
+
.sp
|
|
447
|
+
CONTENT: One of YES, yes, NO, no (case insensitive).
|
|
448
|
+
.sp
|
|
449
|
+
DEFAULT: yes
|
|
450
|
+
.sp
|
|
451
|
+
EXAMPLE: ... I leave this to your discretion.
|
|
452
|
+
.UNINDENT
|
|
453
|
+
.UNINDENT
|
|
454
|
+
.sp
|
|
455
|
+
\fBOVERRIDE_CONFIG\fP
|
|
456
|
+
.INDENT 0.0
|
|
457
|
+
.INDENT 3.5
|
|
458
|
+
A boolean constant that controls whether configuration options can be
|
|
459
|
+
overridden before posting.
|
|
460
|
+
.sp
|
|
461
|
+
Set this to \(dqno\(dq to disable the dialog.
|
|
462
|
+
.sp
|
|
463
|
+
DEFAULT: yes
|
|
464
|
+
.sp
|
|
465
|
+
EXAMPLE: No
|
|
466
|
+
.UNINDENT
|
|
467
|
+
.UNINDENT
|
|
468
|
+
.sp
|
|
469
|
+
\fBUSE_OLD\fP
|
|
470
|
+
.INDENT 0.0
|
|
471
|
+
.INDENT 3.5
|
|
472
|
+
A boolean constant that controls whether \fBflnews_post_proc\fP handles subject changes.
|
|
473
|
+
See Subject changes for the details.
|
|
474
|
+
.sp
|
|
475
|
+
Set to \(dqfalse\(dq or leave empty to ignore subject changes.
|
|
476
|
+
.sp
|
|
477
|
+
DEFAULT: false
|
|
478
|
+
.sp
|
|
479
|
+
EXAMPLE: yes
|
|
480
|
+
.UNINDENT
|
|
481
|
+
.UNINDENT
|
|
482
|
+
.sp
|
|
483
|
+
\fBDRAFT_DIR\fP
|
|
484
|
+
.INDENT 0.0
|
|
485
|
+
.INDENT 3.5
|
|
486
|
+
The path to a directory for draft messages. You can activate an option
|
|
487
|
+
DRAFT_ONLY in the Dialog for Overriding Settings\&. The current message will
|
|
488
|
+
then be saved to this directory, \fBinstead\fP of being posted to Usenet.
|
|
489
|
+
If you leave this option empty, a temporary directory ($TEMP) will be used instead.
|
|
490
|
+
The draft files will be named according to this schema:
|
|
491
|
+
.INDENT 0.0
|
|
492
|
+
.INDENT 3.5
|
|
493
|
+
[n][1st_group][++].draft
|
|
494
|
+
.UNINDENT
|
|
495
|
+
.UNINDENT
|
|
496
|
+
.sp
|
|
497
|
+
where \fIn\fP is the number of files in this directory, \fI1st_group\fP the first
|
|
498
|
+
newsgroup that the message was addressed to and \fI++\fP an optional suffix,
|
|
499
|
+
indicating that there are more newsgroups in the list (cross post). The
|
|
500
|
+
content of a draft file is the current body of the message, preceded by the
|
|
501
|
+
list of newsgroups.
|
|
502
|
+
.sp
|
|
503
|
+
DEFAULT: empty
|
|
504
|
+
.sp
|
|
505
|
+
EXAMPLE: ~/.flnews_drafts
|
|
506
|
+
.UNINDENT
|
|
507
|
+
.UNINDENT
|
|
508
|
+
.SH Other Information
|
|
509
|
+
.SS Subject changes:
|
|
510
|
+
.INDENT 0.0
|
|
511
|
+
.INDENT 3.5
|
|
512
|
+
\fBflnews_post_proc\fP can handle subject changes, provided the configuration option \fBUSE_OLD\fP
|
|
513
|
+
is set to \fBtrue\fP\&. In this case, additional prefixes are recognized (flnews
|
|
514
|
+
handles \(dqWas:\(dq on its own). The additional prefixes are case insensitive
|
|
515
|
+
variations of the German \(dq\fIWar:\fP\(dq and a french \(dq\fIÉtait:\fP\(dq, with or without
|
|
516
|
+
Accent. The french prefix can also contain 1 space before the colon.
|
|
517
|
+
.sp
|
|
518
|
+
When you write a follow\-up to an Article with
|
|
519
|
+
\fISubject: This topic (Was: old topic)\fP
|
|
520
|
+
\fBflnews_post_proc\fP will remove the part in parenthesis, also (War: old topic) and
|
|
521
|
+
(était : old topic).
|
|
522
|
+
.sp
|
|
523
|
+
This necessitates that \fByour own subject changes must not use one of those
|
|
524
|
+
prefixes\fP\&. Instead, use \fI(Old: ...)\fP like in
|
|
525
|
+
\fISubject: new topic (Old: previous topic)\fP
|
|
526
|
+
.sp
|
|
527
|
+
\fBflnews_post_proc\fP will replace Old: by Was: in the posted article.
|
|
528
|
+
.sp
|
|
529
|
+
\fBImportant\fP: When \fIUSE_OLD\fP is true, none of the recognized prefixes will
|
|
530
|
+
survive. If you forget to use \fIOld\fP instead, the subject change will not be
|
|
531
|
+
recognizable as such, your article will only carry the new subject.
|
|
532
|
+
.sp
|
|
533
|
+
Leave the option USE_OLD untouched or set it to \fBfalse\fP to ignore subject
|
|
534
|
+
changes.
|
|
535
|
+
.sp
|
|
536
|
+
\fBNOTE\fP that Flnews may continue to remove the part of the subject line that
|
|
537
|
+
is prefixed with \fI(Was:\fP or \fI(was:\fP\&.
|
|
538
|
+
.UNINDENT
|
|
539
|
+
.UNINDENT
|
|
540
|
+
.SS Editing footnotes
|
|
541
|
+
.INDENT 0.0
|
|
542
|
+
.INDENT 3.5
|
|
543
|
+
Writing footnote text (or URL references) inline while composing an article may
|
|
544
|
+
be tempting, but it will likely break your line formatting. It\(aqs difficult to
|
|
545
|
+
predict line lengths after footnotes are automatically moved to the end.
|
|
546
|
+
Instead, write your complete article first, then add footnotes just before
|
|
547
|
+
posting.
|
|
548
|
+
This lets you anticipate how the final article will look after footnote markers
|
|
549
|
+
replace the inline text (see REFERENCE_FORMAT, above).
|
|
550
|
+
.UNINDENT
|
|
551
|
+
.UNINDENT
|
|
552
|
+
.SS Signatures in Supersedes
|
|
553
|
+
.sp
|
|
554
|
+
Since version 2.0, signatures in supersedes are by default not handled
|
|
555
|
+
differently from other articles, and their signature is assigned in the same
|
|
556
|
+
way as to a new original article.
|
|
557
|
+
However, if you want to maintain the signature from the post that you want to
|
|
558
|
+
replace, you can:
|
|
559
|
+
.INDENT 0.0
|
|
560
|
+
.INDENT 3.5
|
|
561
|
+
.INDENT 0.0
|
|
562
|
+
.IP \(bu 2
|
|
563
|
+
select the complete message body of the original article, including the
|
|
564
|
+
signature
|
|
565
|
+
.IP \(bu 2
|
|
566
|
+
Trigger the supersedes in flnews.
|
|
567
|
+
.IP \(bu 2
|
|
568
|
+
Write your new version of the article while leaving the current signature
|
|
569
|
+
intact.
|
|
570
|
+
.IP \(bu 2
|
|
571
|
+
In the Override Dialog (see Dialog for Overriding Settings), clear the
|
|
572
|
+
signature option.
|
|
573
|
+
.IP \(bu 2
|
|
574
|
+
Hit \(aq0\(aq to confirm your options and to make flnews send the article.
|
|
575
|
+
.UNINDENT
|
|
576
|
+
.UNINDENT
|
|
577
|
+
.UNINDENT
|
|
578
|
+
.SS Testing
|
|
579
|
+
.INDENT 0.0
|
|
580
|
+
.INDENT 3.5
|
|
581
|
+
You can verify the post\-processor’s effect by using one of two methods:
|
|
582
|
+
.INDENT 0.0
|
|
583
|
+
.IP 1. 3
|
|
584
|
+
Pipe a saved post into the program:
|
|
585
|
+
.sp
|
|
586
|
+
\fB:~$ /usr/local/bin/[post\-processor] < [test\-article]\fP
|
|
587
|
+
.INDENT 3.0
|
|
588
|
+
.INDENT 3.5
|
|
589
|
+
This will show the modified article, and you can pipe it into another file
|
|
590
|
+
for further testing.
|
|
591
|
+
.UNINDENT
|
|
592
|
+
.UNINDENT
|
|
593
|
+
.IP 2. 3
|
|
594
|
+
Post directly to a test newsgroup (e.g., alt.test). This is essential before posting to real newsgroups,
|
|
595
|
+
especially when the post\-processor will alter the article.
|
|
596
|
+
.UNINDENT
|
|
597
|
+
.UNINDENT
|
|
598
|
+
.UNINDENT
|
|
599
|
+
.SS Source Code
|
|
600
|
+
.INDENT 0.0
|
|
601
|
+
.INDENT 3.5
|
|
602
|
+
The gem file for the program, available via the gem utility or rubygems.org \%<https://\:rubygems\:.org/\:gems/\:flnews_post_proc>,
|
|
603
|
+
contains all the source code and documentation (this page included). To extract
|
|
604
|
+
it, do the following:
|
|
605
|
+
.INDENT 0.0
|
|
606
|
+
.IP 1. 3
|
|
607
|
+
Extract the gem file: \fItar \-xf flnews_post_proc\-0.1.gem\fP
|
|
608
|
+
.IP 2. 3
|
|
609
|
+
Uncompress the data archive: \fIgunzip data.gz\fP
|
|
610
|
+
.IP 3. 3
|
|
611
|
+
Extract the data archive: \fItar \-xf data.tar\fP
|
|
612
|
+
.UNINDENT
|
|
613
|
+
.sp
|
|
614
|
+
This will create the directories \fIbin\fP, \fIdoc\fP, and \fIlib\fP\&.
|
|
615
|
+
.UNINDENT
|
|
616
|
+
.UNINDENT
|
|
617
|
+
.SS License
|
|
618
|
+
.INDENT 0.0
|
|
619
|
+
.INDENT 3.5
|
|
620
|
+
The \fBflnews_post_proc\fP is distributed under the WTFPL\-2.0 \%<https://\:www\:.wtfpl\:.net/\:about/> or later License. For
|
|
621
|
+
the complete license text, visit \%<http://\:www\:.wtfpl\:.net/\:txt/\:copying/> or refer to
|
|
622
|
+
the license file in the documentation directory of the gem.
|
|
623
|
+
.UNINDENT
|
|
624
|
+
.UNINDENT
|
|
625
|
+
.SS Author
|
|
626
|
+
.INDENT 0.0
|
|
627
|
+
.INDENT 3.5
|
|
628
|
+
\fBflnews_post_proc\fP has been developed by Michael Uplawski <\%<michael\:.uplawski@\:uplawski\:.eu>>
|
|
629
|
+
.UNINDENT
|
|
630
|
+
.UNINDENT
|
|
631
|
+
.SS This document
|
|
632
|
+
.INDENT 0.0
|
|
633
|
+
.INDENT 3.5
|
|
634
|
+
©Michael Uplawski <\%<michael\:.uplawski@\:uplawski\:.eu>>
|
|
635
|
+
.sp
|
|
636
|
+
License: CC BY\-ND 4.0 \%<https://\:creativecommons\:.org/\:licenses/\:by-nd/\:4\:.0/>
|
|
637
|
+
.sp
|
|
638
|
+
Date: 2026\-09\-22
|
|
639
|
+
.UNINDENT
|
|
640
|
+
.UNINDENT
|
|
641
|
+
.sp
|
|
642
|
+
The man page can be accessed in the ordinary way, by executing \fIman\fP
|
|
643
|
+
\fBflnews_post_proc\fP, \fBif\fP the manpages \%<https://\:rubygems\:.org/\:gems/\:manpages> gem is installed. Initially, executing \fIgem
|
|
644
|
+
manpages \-\-update\-all\fP will ensure that the man pages for all packages which
|
|
645
|
+
provide such documentation are copied to the default locations for man pages.
|
|
646
|
+
.sp
|
|
647
|
+
\fBΩ\fP
|
|
648
|
+
.\" End of generated man page.
|
|
Binary file
|
|
@@ -11,7 +11,7 @@ flnews_post_proc
|
|
|
11
11
|
.. _rubygems.org: https://rubygems.org/gems/flnews_post_proc
|
|
12
12
|
.. _en Français: https://www.uplawski.eu/div/flnews/gem_doc/fr
|
|
13
13
|
.. _XTerm: https://xterm.dev/
|
|
14
|
-
|
|
14
|
+
.. _manpages: https://rubygems.org/gems/manpages
|
|
15
15
|
|
|
16
16
|
------------------------------------------
|
|
17
17
|
Post-Processor for the flnews_ Newsreader
|
|
@@ -504,6 +504,13 @@ This document
|
|
|
504
504
|
License: `CC BY-ND 4.0`_
|
|
505
505
|
|
|
506
506
|
Date: |date|
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
The man page can be accessed in the ordinary way, by executing *man*
|
|
510
|
+
|program|, **if** the `manpages`_ gem is installed. Initially, executing *gem
|
|
511
|
+
manpages --update-all* will ensure that the man pages for all packages which
|
|
512
|
+
provide such documentation are copied to the default locations for man pages.
|
|
513
|
+
|
|
507
514
|
|
|
508
515
|
**Ω**
|
|
509
516
|
|