flnews_post_proc 1.94 → 1.97
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/doc/fr/html/flnews_post_proc.html +137 -79
- 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 +75 -13
- data/doc/html/flnews_post_proc.html +394 -304
- data/doc/man/flnews_post_proc.1.gz +0 -0
- data/doc/pdf/flnews_post_proc.pdf +0 -0
- data/doc/rst/flnews_post_proc.rst +289 -237
- data/lib/bak_basic_logging.rb +202 -0
- data/lib/basic_logging.rb +62 -14
- data/lib/body.rb +1 -0
- data/lib/color_output.rb +41 -4
- data/lib/configuration.rb +1 -0
- data/lib/flnews_post_proc.conf +15 -1
- data/lib/headers.rb +80 -5
- data/lib/version.rb +2 -2
- metadata +5 -4
|
@@ -1,67 +1,28 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
2
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
3
3
|
<head>
|
|
4
|
-
<meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.
|
|
4
|
+
<meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.9.20
|
|
5
5
|
"/>
|
|
6
|
-
|
|
7
|
-
<
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<link rel="preload" as="font" crossorigin="" href=
|
|
8
|
+
"https://www.uplawski.eu/fonts/Classica/Classica-Book.ttf" type=
|
|
9
|
+
"font/ttf" />
|
|
10
|
+
<link rel="preload" as="font" crossorigin="" href=
|
|
11
|
+
"https://www.uplawski.eu/fonts/Classica/Classica-Bold.ttf" type=
|
|
12
|
+
"font/ttf" />
|
|
13
|
+
<link rel="preload" as="font" crossorigin="" href=
|
|
14
|
+
"https://www.uplawski.eu/fonts/Classica/Classica-BookOblique.ttf"
|
|
15
|
+
type="font/ttf" />
|
|
16
|
+
<link rel="preload" as="font" crossorigin="" href=
|
|
17
|
+
"https://www.uplawski.eu/fonts/Fertigo_PRO.otf" type=
|
|
18
|
+
"font/otf" />
|
|
19
|
+
<link rel="icon" type="/image/x-icon" href=
|
|
20
|
+
"images/favicon_Schreibfeder.ico" />
|
|
21
|
+
<meta name="viewport" content=
|
|
8
22
|
"width=device-width, initial-scale=1" />
|
|
9
23
|
<title>Flnews_post_proc</title>
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
:Author: Michael Uplawski
|
|
15
|
-
:Contact: michael.uplawski@uplawski.eu
|
|
16
|
-
:License: WTFPL 2.0, see http://www.wtfpl.net/about/
|
|
17
|
-
|
|
18
|
-
Stylesheet for use with Docutils.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
body {
|
|
22
|
-
background-color:#e0f0c0;
|
|
23
|
-
font-family: Verdana,Helvetica,Univers;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
p {width: 80%;}
|
|
27
|
-
|
|
28
|
-
h1.title {color:#800080;font-size:2em;}
|
|
29
|
-
h2 {color:darkblue;font-size:1.5em;}
|
|
30
|
-
h3 {color:#3030f0;font-size:1em;}
|
|
31
|
-
|
|
32
|
-
nav:before {
|
|
33
|
-
content:'Contents';
|
|
34
|
-
font-weight:bold;
|
|
35
|
-
color:darkblue;
|
|
36
|
-
font-size:1.5em;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
p, ul.simple, ol.simple, dt {margin-left:2em;}
|
|
40
|
-
dd {margin-left:4em;}
|
|
41
|
-
|
|
42
|
-
/* correct left margin of nested block tags*/
|
|
43
|
-
dd p, li p {margin-left:0;}
|
|
44
|
-
dd * ul {margin-left:0 ! important; }
|
|
45
|
-
dd ul {margin-left:0 ! important; }
|
|
46
|
-
dd dl dt, dd dl dd {margin-left:0 ! important;}
|
|
47
|
-
|
|
48
|
-
em {color:#000080;
|
|
49
|
-
background-color:#ffffa0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
pre.literal-block {
|
|
53
|
-
margin-left:2em;
|
|
54
|
-
font-family:Verdana,Helvetica,Univers;
|
|
55
|
-
}8
|
|
56
|
-
blockquote {background-color:#ffc090;
|
|
57
|
-
padding:0.5em;
|
|
58
|
-
width:80%;
|
|
59
|
-
border-radius:0.5em;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
/*]]>*/
|
|
64
|
-
</style>
|
|
24
|
+
<link rel="stylesheet" href="flnews_post_proc.css" type=
|
|
25
|
+
"text/css" />
|
|
65
26
|
</head>
|
|
66
27
|
<body class="with-toc">
|
|
67
28
|
<main id="flnews-post-proc">
|
|
@@ -70,7 +31,7 @@
|
|
|
70
31
|
<p class="subtitle" id=
|
|
71
32
|
"post-processor-for-the-flnews-newsreader">Post-Processor for
|
|
72
33
|
the <a class="reference external" href=
|
|
73
|
-
"https://micha.freeshell.org/flnews
|
|
34
|
+
"https://micha.freeshell.org/flnews">flnews</a> Newsreader</p>
|
|
74
35
|
|
|
75
36
|
<nav class="contents local" id="contents" role="doc-toc">
|
|
76
37
|
<ul class="simple">
|
|
@@ -126,7 +87,14 @@
|
|
|
126
87
|
<ul>
|
|
127
88
|
<li>
|
|
128
89
|
<p><a class="reference internal" href=
|
|
129
|
-
"#
|
|
90
|
+
"#subject-changes-1" id="toc-entry-8">Subject
|
|
91
|
+
changes:</a>
|
|
92
|
+
</p>
|
|
93
|
+
</li>
|
|
94
|
+
|
|
95
|
+
<li>
|
|
96
|
+
<p><a class="reference internal" href=
|
|
97
|
+
"#editing-footnotes-1" id="toc-entry-9">Editing
|
|
130
98
|
footnotes</a>
|
|
131
99
|
</p>
|
|
132
100
|
</li>
|
|
@@ -134,31 +102,37 @@
|
|
|
134
102
|
<li>
|
|
135
103
|
<p><a class="reference internal" href=
|
|
136
104
|
"#signatures-in-supersedes-1" id=
|
|
137
|
-
"toc-entry-
|
|
105
|
+
"toc-entry-10">Signatures in Supersedes</a>
|
|
138
106
|
</p>
|
|
139
107
|
</li>
|
|
140
108
|
|
|
141
109
|
<li>
|
|
142
110
|
<p><a class="reference internal" href="#testing-1"
|
|
143
|
-
id="toc-entry-
|
|
111
|
+
id="toc-entry-11">Testing</a>
|
|
144
112
|
</p>
|
|
145
113
|
</li>
|
|
146
114
|
|
|
147
115
|
<li>
|
|
148
116
|
<p><a class="reference internal" href=
|
|
149
|
-
"#source-code-1" id="toc-entry-
|
|
117
|
+
"#source-code-1" id="toc-entry-12">Source Code</a>
|
|
150
118
|
</p>
|
|
151
119
|
</li>
|
|
152
120
|
|
|
153
121
|
<li>
|
|
154
122
|
<p><a class="reference internal" href="#license-1"
|
|
155
|
-
id="toc-entry-
|
|
123
|
+
id="toc-entry-13">License</a>
|
|
156
124
|
</p>
|
|
157
125
|
</li>
|
|
158
126
|
|
|
159
127
|
<li>
|
|
160
128
|
<p><a class="reference internal" href="#author-1" id=
|
|
161
|
-
"toc-entry-
|
|
129
|
+
"toc-entry-14">Author</a>
|
|
130
|
+
</p>
|
|
131
|
+
</li>
|
|
132
|
+
|
|
133
|
+
<li>
|
|
134
|
+
<p><a class="reference internal" href=
|
|
135
|
+
"#this-document" id="toc-entry-15">This document</a>
|
|
162
136
|
</p>
|
|
163
137
|
</li>
|
|
164
138
|
</ul>
|
|
@@ -170,22 +144,26 @@
|
|
|
170
144
|
<span id="synopsis"></span>
|
|
171
145
|
<h2>SYNOPSIS</h2>
|
|
172
146
|
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
147
|
+
<blockquote>
|
|
148
|
+
<p>The post-processor is invoked by piping an article into
|
|
149
|
+
it. This typically occurs automatically when the
|
|
150
|
+
"post_proc" variable is set to
|
|
151
|
+
<strong>flnews_post_proc</strong> in the flnews
|
|
152
|
+
configuration file.</p>
|
|
177
153
|
|
|
178
|
-
|
|
179
|
-
|
|
154
|
+
<p>For testing purposes, you can also pipe locally stored
|
|
155
|
+
articles into the post-processor using a command like:</p>
|
|
180
156
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
157
|
+
<blockquote>
|
|
158
|
+
<p><strong>flnews_post_proc</strong> < article</p>
|
|
159
|
+
</blockquote>
|
|
184
160
|
|
|
185
|
-
|
|
161
|
+
<p>.or:</p>
|
|
186
162
|
|
|
187
|
-
|
|
188
|
-
|
|
163
|
+
<blockquote>
|
|
164
|
+
<p>cat article.txt |
|
|
165
|
+
<strong>flnews_post_proc</strong></p>
|
|
166
|
+
</blockquote>
|
|
189
167
|
</blockquote>
|
|
190
168
|
</section>
|
|
191
169
|
|
|
@@ -193,138 +171,149 @@
|
|
|
193
171
|
<span id="description"></span>
|
|
194
172
|
<h2>DESCRIPTION</h2>
|
|
195
173
|
|
|
196
|
-
<
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
174
|
+
<blockquote>
|
|
175
|
+
<p>The flnews newsreader fully supports Usenet access,
|
|
176
|
+
enabling the reception and reading of articles from
|
|
177
|
+
newsgroups, as well as composing and posting them.</p>
|
|
178
|
+
|
|
179
|
+
<p>When comparing various news clients, differences will
|
|
180
|
+
often influence your choice of preferred client. Flnews
|
|
181
|
+
distinguishes itself by not only offering control over its
|
|
182
|
+
internal behavior, but also by allowing you to modify
|
|
183
|
+
outgoing posts just before they are sent to the configured
|
|
184
|
+
NNTP server.</p>
|
|
185
|
+
|
|
186
|
+
<p>The <strong>flnews_post_proc</strong> program can be
|
|
187
|
+
used to modify and enhance a post in ways that flnews alone
|
|
188
|
+
cannot. It is configurable and may meet the needs of some
|
|
189
|
+
Usenet users, though it is primarily intended as a starting
|
|
190
|
+
point for creating your own custom solutions.</p>
|
|
191
|
+
</blockquote>
|
|
212
192
|
|
|
213
193
|
<section id="limitations-of-basic-newsreaders-1">
|
|
214
194
|
<span id="limitations-of-basic-newsreaders"></span>
|
|
215
195
|
<h3>Limitations of Basic Newsreaders</h3>
|
|
216
196
|
|
|
217
|
-
<
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
197
|
+
<blockquote>
|
|
198
|
+
<p>While flnews creates posts that are generally complete
|
|
199
|
+
and ready for submission, there are instances where users
|
|
200
|
+
might find the output unsatisfactory for arbitrary
|
|
201
|
+
reasons:</p>
|
|
221
202
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
203
|
+
<ul class="simple">
|
|
204
|
+
<li>
|
|
205
|
+
<p>If you're posting to different newsgroups in
|
|
206
|
+
multiple languages, the introductory line referencing
|
|
207
|
+
a prior post can only be set once in the flnews
|
|
208
|
+
configuration file. As a result, posts to a French
|
|
209
|
+
newsgroup, for example, may start with an
|
|
210
|
+
introduction in English. The post-processor can
|
|
211
|
+
address this by setting specific introductory lines
|
|
212
|
+
for each newsgroup.</p>
|
|
213
|
+
</li>
|
|
233
214
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
215
|
+
<li>
|
|
216
|
+
<p>Similar issues arise when you set a standard
|
|
217
|
+
signature and want it to vary based on the newsgroup.
|
|
218
|
+
The post-processor allows different signatures to be
|
|
219
|
+
used for different newsgroups, and you can even
|
|
220
|
+
randomize the selection from a list of signatures
|
|
221
|
+
stored in a file.</p>
|
|
222
|
+
</li>
|
|
242
223
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
224
|
+
<li>
|
|
225
|
+
<p>Custom headers, such as GnuPG key IDs or your
|
|
226
|
+
language proficiency, can also be added to posts,
|
|
227
|
+
though signatures may be a better alternative. Custom
|
|
228
|
+
headers can be defined in the configuration file and
|
|
229
|
+
will be added to outgoing posts.</p>
|
|
230
|
+
</li>
|
|
250
231
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
"X-No-Archive" header has limited effectiveness, and it
|
|
261
|
-
is up to server operators whether or not to honor
|
|
262
|
-
it.</p>
|
|
263
|
-
</li>
|
|
232
|
+
<li>
|
|
233
|
+
<p>Headers like "Archive" and "X-No-Archive" are
|
|
234
|
+
sometimes set to prevent an article from being
|
|
235
|
+
indexed by search engines (e.g., Google). For
|
|
236
|
+
example, test posts likely don't need to be included
|
|
237
|
+
in search results. The post-processor can apply both
|
|
238
|
+
headers to all posts sent to certain newsgroups.</p>
|
|
239
|
+
</li>
|
|
240
|
+
</ul>
|
|
264
241
|
|
|
265
|
-
<
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
242
|
+
<p><strong>NOTE</strong>: As of 2024, the "X-No-Archive"
|
|
243
|
+
header has limited effectiveness, and it is up to server
|
|
244
|
+
operators whether or not to honor it.</p>
|
|
245
|
+
|
|
246
|
+
<ul class="simple">
|
|
247
|
+
<li>
|
|
248
|
+
<p>Posts that include many references to other posts
|
|
249
|
+
or URLs can become cluttered. The post-processor can
|
|
250
|
+
convert marked text into footnotes, similar to the
|
|
251
|
+
<ref/> link format used in Wikipedia, with the
|
|
252
|
+
delimiter configurable in the configuration file.
|
|
253
|
+
Example (using %=): "This is an object %=and this
|
|
254
|
+
becomes the footnote, describing the object
|
|
255
|
+
further=%". See also the hints under <a class=
|
|
256
|
+
"reference internal" href=
|
|
257
|
+
"#editing-footnotes">EDITING FOOTNOTES</a>,
|
|
258
|
+
below.</p>
|
|
259
|
+
</li>
|
|
260
|
+
</ul>
|
|
261
|
+
</blockquote>
|
|
278
262
|
</section>
|
|
279
263
|
|
|
280
264
|
<section id="dialog-for-overriding-settings-1">
|
|
281
265
|
<span id="dialog-for-overriding-settings"></span>
|
|
282
266
|
<h3>Dialog for Overriding Settings</h3>
|
|
283
267
|
|
|
284
|
-
<
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
<
|
|
298
|
-
<
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
268
|
+
<blockquote>
|
|
269
|
+
<p><strong>IMPORTANT</strong>: As of version 1.72, YAD or
|
|
270
|
+
Zenity cannot be used for the dialog interface.</p>
|
|
271
|
+
|
|
272
|
+
<p>Before the post-processor runs, a dialog can be
|
|
273
|
+
displayed to allow users to <strong>disable</strong>
|
|
274
|
+
certain <a class="reference internal" href=
|
|
275
|
+
"#configuration">CONFIGURATION</a> options. If Whiptail
|
|
276
|
+
or xterm are available, you can choose to disable the
|
|
277
|
+
following options. You <strong>cannot</strong> enable
|
|
278
|
+
options that haven't already been set in the
|
|
279
|
+
configuration.</p>
|
|
280
|
+
|
|
281
|
+
<blockquote>
|
|
282
|
+
<ul class="simple">
|
|
283
|
+
<li>
|
|
284
|
+
<p>Signatures (if set in the <a class=
|
|
285
|
+
"reference internal" href=
|
|
286
|
+
"#configuration">CONFIGURATION</a>) can be
|
|
287
|
+
<strong>ignored</strong>. A default signature will
|
|
288
|
+
be used, or no signature at all.</p>
|
|
289
|
+
</li>
|
|
290
|
+
|
|
291
|
+
<li>
|
|
292
|
+
<p>Custom headers can be
|
|
293
|
+
<strong>omitted</strong>.</p>
|
|
294
|
+
</li>
|
|
295
|
+
|
|
296
|
+
<li>
|
|
297
|
+
<p>The "Archive" and "X-No-Archive" headers can be
|
|
298
|
+
<strong>ignored</strong> if set for the current
|
|
299
|
+
newsgroup.</p>
|
|
300
|
+
</li>
|
|
301
|
+
|
|
302
|
+
<li>
|
|
303
|
+
<p>Logging can be <strong>disabled</strong>, if
|
|
304
|
+
enabled.</p>
|
|
305
|
+
</li>
|
|
306
|
+
</ul>
|
|
307
|
+
</blockquote>
|
|
308
|
+
|
|
309
|
+
<p>Pressing Esc or the Cancel button on the dialog will
|
|
310
|
+
interrupt the process, and flnews will not post the
|
|
311
|
+
article.</p>
|
|
312
|
+
|
|
313
|
+
<p>To disable the dialog entirely (and apply all
|
|
314
|
+
configured options without further interaction), set the
|
|
315
|
+
<strong>OVERRIDE_CONFIG</strong> option.</p>
|
|
316
|
+
</blockquote>
|
|
328
317
|
</section>
|
|
329
318
|
</section>
|
|
330
319
|
|
|
@@ -332,27 +321,29 @@
|
|
|
332
321
|
<span id="configuration"></span>
|
|
333
322
|
<h2>CONFIGURATION</h2>
|
|
334
323
|
|
|
335
|
-
<
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
324
|
+
<blockquote>
|
|
325
|
+
<p>Upon first execution of the program, a copy of the
|
|
326
|
+
original configuration file is created in
|
|
327
|
+
<em>/home/[user]/.flnews_post_proc.conf</em>. This file is
|
|
328
|
+
used thereafter. Deleting it will cause the file to be
|
|
329
|
+
recreated, but any custom changes will be lost.</p>
|
|
340
330
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
331
|
+
<p>The configuration file uses YAML syntax and includes
|
|
332
|
+
detailed explanations. The variables within it fall into
|
|
333
|
+
two categories:</p>
|
|
344
334
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
335
|
+
<ol class="arabic simple">
|
|
336
|
+
<li>
|
|
337
|
+
<p>Variables that represent values originally set by
|
|
338
|
+
flnews, which can be used or replaced. These elements
|
|
339
|
+
are typically captured using regular expressions.</p>
|
|
340
|
+
</li>
|
|
351
341
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
342
|
+
<li>
|
|
343
|
+
<p>Variables that define new or modified content.</p>
|
|
344
|
+
</li>
|
|
345
|
+
</ol>
|
|
346
|
+
</blockquote>
|
|
356
347
|
|
|
357
348
|
<section id="configuration-options">
|
|
358
349
|
<h3>Configuration Options</h3>
|
|
@@ -491,7 +482,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
491
482
|
|
|
492
483
|
<p>DEFAULT: Empty</p>
|
|
493
484
|
|
|
494
|
-
<p>EXAMPLE:
|
|
485
|
+
<p>EXAMPLE: "/tmp/a_log-file.txt"</p>
|
|
495
486
|
</blockquote>
|
|
496
487
|
|
|
497
488
|
<p><strong>LOG LEVEL</strong>
|
|
@@ -514,7 +505,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
514
505
|
|
|
515
506
|
<p>DEFAULT: Empty</p>
|
|
516
507
|
|
|
517
|
-
<p>EXAMPLE:
|
|
508
|
+
<p>EXAMPLE: "---------"</p>
|
|
518
509
|
</blockquote>
|
|
519
510
|
|
|
520
511
|
<p><strong>REFERENCES_DELIMITER</strong>
|
|
@@ -529,7 +520,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
529
520
|
|
|
530
521
|
<p>DEFAULT: None (empty)</p>
|
|
531
522
|
|
|
532
|
-
<p>EXAMPLE:
|
|
523
|
+
<p>EXAMPLE: "%?"</p>
|
|
533
524
|
</blockquote>
|
|
534
525
|
|
|
535
526
|
<p id="reference-format"><strong>REFERENCE_FORMAT</strong>
|
|
@@ -574,6 +565,24 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
574
565
|
|
|
575
566
|
<p>EXAMPLE: No</p>
|
|
576
567
|
</blockquote>
|
|
568
|
+
|
|
569
|
+
<p><strong>USE_OLD</strong>
|
|
570
|
+
</p>
|
|
571
|
+
|
|
572
|
+
<blockquote>
|
|
573
|
+
<p>A boolean constant that controls whether
|
|
574
|
+
<strong>flnews_post_proc</strong> handles subject
|
|
575
|
+
changes. See <a class="reference internal" href=
|
|
576
|
+
"#subject-changes">Subject changes</a> for the
|
|
577
|
+
details.</p>
|
|
578
|
+
|
|
579
|
+
<p>Set to "false" or leave empty to ignore subject
|
|
580
|
+
changes.</p>
|
|
581
|
+
|
|
582
|
+
<p>DEFAULT: false</p>
|
|
583
|
+
|
|
584
|
+
<p>EXAMPLE: yes</p>
|
|
585
|
+
</blockquote>
|
|
577
586
|
</section>
|
|
578
587
|
</section>
|
|
579
588
|
|
|
@@ -581,146 +590,227 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
581
590
|
<span id="other-information"></span>
|
|
582
591
|
<h2>Other Information</h2>
|
|
583
592
|
|
|
593
|
+
<section id="subject-changes-1">
|
|
594
|
+
<span id="subject-changes"></span>
|
|
595
|
+
<h3>Subject changes:</h3>
|
|
596
|
+
|
|
597
|
+
<blockquote>
|
|
598
|
+
<p><strong>flnews_post_proc</strong> can handle subject
|
|
599
|
+
changes, provided the configuration option
|
|
600
|
+
<strong>USE_OLD</strong> is set to <strong>true</strong>.
|
|
601
|
+
In this case, additional prefixes are recognized (flnews
|
|
602
|
+
handles "Was:" on its own). The additional prefixes are
|
|
603
|
+
case insensitive variations of the German "<em>War:</em>"
|
|
604
|
+
and a french "<em>Était:</em>", with or without Accent.
|
|
605
|
+
The french prefix can also contain 1 space before the
|
|
606
|
+
colon.</p>
|
|
607
|
+
|
|
608
|
+
<p>When you write a follow-up to an Article with
|
|
609
|
+
<em>Subject: This topic (Was: old topic)</em>
|
|
610
|
+
<strong>flnews_post_proc</strong> will remove the part in
|
|
611
|
+
parenthesis, also (War: old topic) and (était : old
|
|
612
|
+
topic).</p>
|
|
613
|
+
|
|
614
|
+
<p>This necessitates that <strong>your own subject
|
|
615
|
+
changes must not use one of those prefixes</strong>.
|
|
616
|
+
Instead, use <em>(Old: ...)</em> like in <em>Subject: new
|
|
617
|
+
topic (Old: previous topic)</em></p>
|
|
618
|
+
|
|
619
|
+
<p><strong>flnews_post_proc</strong> will replace Old: by
|
|
620
|
+
Was: in the posted article.</p>
|
|
621
|
+
|
|
622
|
+
<p><strong>Important</strong>: When <em>USE_OLD</em> is
|
|
623
|
+
true, none of the recognized prefixes will survive. If
|
|
624
|
+
you forget to use <em>Old</em> instead, the subject
|
|
625
|
+
change will not be recognizable as such, your article
|
|
626
|
+
will only carry the new subject.</p>
|
|
627
|
+
|
|
628
|
+
<p>Leave the option USE_OLD untouched or set it to
|
|
629
|
+
<strong>false</strong> to ignore subject changes.</p>
|
|
630
|
+
|
|
631
|
+
<p><strong>NOTE</strong> that Flnews may continue to
|
|
632
|
+
remove the part of the subject line that is prefixed with
|
|
633
|
+
<em>(Was:</em> or <em>(was:</em>.</p>
|
|
634
|
+
</blockquote>
|
|
635
|
+
</section>
|
|
636
|
+
|
|
584
637
|
<section id="editing-footnotes-1">
|
|
585
638
|
<span id="editing-footnotes"></span>
|
|
586
639
|
<h3>Editing footnotes</h3>
|
|
587
640
|
|
|
588
|
-
<
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
"reference internal" href=
|
|
601
|
-
"#reference-format">REFERENCE_FORMAT</a>, above).</p>
|
|
641
|
+
<blockquote>
|
|
642
|
+
<p>Writing footnote text (or URL references) inline while
|
|
643
|
+
composing an article may be tempting, but it will likely
|
|
644
|
+
break your line formatting. It's difficult to predict
|
|
645
|
+
line lengths after footnotes are automatically moved to
|
|
646
|
+
the end. Instead, write your complete article first, then
|
|
647
|
+
add footnotes just before posting. This lets you
|
|
648
|
+
anticipate how the final article will look after footnote
|
|
649
|
+
markers replace the inline text (see <a class=
|
|
650
|
+
"reference internal" href=
|
|
651
|
+
"#reference-format">REFERENCE_FORMAT</a>, above).</p>
|
|
652
|
+
</blockquote>
|
|
602
653
|
</section>
|
|
603
654
|
|
|
604
655
|
<section id="signatures-in-supersedes-1">
|
|
605
656
|
<span id="signatures-in-supersedes"></span>
|
|
606
657
|
<h3>Signatures in Supersedes</h3>
|
|
607
658
|
|
|
608
|
-
<
|
|
609
|
-
|
|
610
|
-
|
|
659
|
+
<blockquote>
|
|
660
|
+
<p>When superseding an existing post, the post-processor
|
|
661
|
+
will NOT automatically add a signature. This preserves
|
|
662
|
+
the original post content as much as possible.</p>
|
|
611
663
|
|
|
612
|
-
|
|
664
|
+
<p>To retain the signature from the original post:</p>
|
|
613
665
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
666
|
+
<ol class="arabic simple">
|
|
667
|
+
<li>
|
|
668
|
+
<p>In flnews, select the entire article body with the
|
|
669
|
+
mouse—from the first line (including any
|
|
670
|
+
introductions) down to the last line of the
|
|
671
|
+
signature.</p>
|
|
672
|
+
</li>
|
|
620
673
|
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
674
|
+
<li>
|
|
675
|
+
<p>From the Article menu, select
|
|
676
|
+
<strong>Supersede</strong>.</p>
|
|
677
|
+
</li>
|
|
625
678
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
679
|
+
<li>
|
|
680
|
+
<p>Edit the article text as needed. The signature
|
|
681
|
+
will be included in te editable text (normally,
|
|
682
|
+
flnews strips signatures before opening the
|
|
683
|
+
editor).</p>
|
|
684
|
+
</li>
|
|
631
685
|
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
686
|
+
<li>
|
|
687
|
+
<p>Send the article.</p>
|
|
688
|
+
</li>
|
|
689
|
+
</ol>
|
|
636
690
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
691
|
+
<p><strong>Note:</strong> The <a class=
|
|
692
|
+
"reference internal" href="#override-dialog">override
|
|
693
|
+
dialog</a> (see above) does not affect signatures in
|
|
694
|
+
superseding posts.</p>
|
|
695
|
+
</blockquote>
|
|
640
696
|
</section>
|
|
641
697
|
|
|
642
698
|
<section id="testing-1">
|
|
643
699
|
<span id="testing"></span>
|
|
644
700
|
<h3>Testing</h3>
|
|
645
701
|
|
|
646
|
-
<
|
|
647
|
-
|
|
702
|
+
<blockquote>
|
|
703
|
+
<p>You can verify the post-processor’s effect by using
|
|
704
|
+
one of two methods:</p>
|
|
648
705
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
706
|
+
<ol class="arabic">
|
|
707
|
+
<li>
|
|
708
|
+
<p>Pipe a saved post into the program:</p>
|
|
652
709
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
710
|
+
<p><strong>:~$ /usr/local/bin/[post-processor] <
|
|
711
|
+
[test-article]</strong>
|
|
712
|
+
</p>
|
|
713
|
+
</li>
|
|
714
|
+
</ol>
|
|
656
715
|
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
</li>
|
|
716
|
+
<p>This will show the modified article, and you can pipe
|
|
717
|
+
it into another file for further testing.</p>
|
|
660
718
|
|
|
661
|
-
<
|
|
662
|
-
<
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
719
|
+
<ol class="arabic simple" start="2">
|
|
720
|
+
<li>
|
|
721
|
+
<p>Post directly to a test newsgroup (e.g.,
|
|
722
|
+
alt.test). This is essential before posting to real
|
|
723
|
+
newsgroups, especially when the post-processor will
|
|
724
|
+
alter the article.</p>
|
|
725
|
+
</li>
|
|
726
|
+
</ol>
|
|
727
|
+
</blockquote>
|
|
668
728
|
</section>
|
|
669
729
|
|
|
670
730
|
<section id="source-code-1">
|
|
671
731
|
<span id="source-code"></span>
|
|
672
732
|
<h3>Source Code</h3>
|
|
673
733
|
|
|
674
|
-
<
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
734
|
+
<blockquote>
|
|
735
|
+
<p>The gem file for the program, available via the gem
|
|
736
|
+
utility or <a class="reference external" href=
|
|
737
|
+
"https://rubygems.org/gems/flnews_post_proc">rubygems.org</a>,
|
|
738
|
+
contains all the source code and documentation (this page
|
|
739
|
+
included). To extract it, do the following:</p>
|
|
679
740
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
741
|
+
<ol class="arabic simple">
|
|
742
|
+
<li>
|
|
743
|
+
<p>Extract the gem file: <cite>tar -xf
|
|
744
|
+
flnews_post_proc-0.1.gem</cite></p>
|
|
745
|
+
</li>
|
|
685
746
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
747
|
+
<li>
|
|
748
|
+
<p>Uncompress the data archive: <cite>gunzip
|
|
749
|
+
data.gz</cite></p>
|
|
750
|
+
</li>
|
|
690
751
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
752
|
+
<li>
|
|
753
|
+
<p>Extract the data archive: <cite>tar -xf
|
|
754
|
+
data.tar</cite></p>
|
|
755
|
+
</li>
|
|
756
|
+
</ol>
|
|
696
757
|
|
|
697
|
-
|
|
698
|
-
|
|
758
|
+
<p>This will create the directories <cite>bin</cite>,
|
|
759
|
+
<cite>doc</cite>, and <cite>lib</cite>.</p>
|
|
760
|
+
</blockquote>
|
|
699
761
|
</section>
|
|
700
762
|
|
|
701
763
|
<section id="license-1">
|
|
702
764
|
<span id="license"></span>
|
|
703
765
|
<h3>License</h3>
|
|
704
766
|
|
|
705
|
-
<
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
767
|
+
<blockquote>
|
|
768
|
+
<p>The <strong>flnews_post_proc</strong> is distributed
|
|
769
|
+
under the <a class="reference external" href=
|
|
770
|
+
"https://www.wtfpl.net/about/">WTFPL-2.0</a> or later
|
|
771
|
+
License. For the complete license text, visit <a class=
|
|
772
|
+
"reference external" href=
|
|
773
|
+
"http://www.wtfpl.net/txt/copying/">http://www.wtfpl.net/txt/copying/</a>
|
|
774
|
+
or refer to the license file in the documentation
|
|
775
|
+
directory of the gem.</p>
|
|
776
|
+
</blockquote>
|
|
713
777
|
</section>
|
|
714
778
|
|
|
715
779
|
<section id="author-1">
|
|
716
780
|
<span id="author"></span>
|
|
717
781
|
<h3>Author</h3>
|
|
718
782
|
|
|
719
|
-
<
|
|
720
|
-
|
|
721
|
-
|
|
783
|
+
<blockquote>
|
|
784
|
+
<p><strong>flnews_post_proc</strong> has been developed
|
|
785
|
+
by Michael Uplawski <<a class="reference external"
|
|
786
|
+
href=
|
|
787
|
+
"mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>></p>
|
|
788
|
+
</blockquote>
|
|
789
|
+
</section>
|
|
790
|
+
|
|
791
|
+
<section id="this-document">
|
|
792
|
+
<h3>This document</h3>
|
|
793
|
+
|
|
794
|
+
<blockquote>
|
|
795
|
+
<p>©Michael Uplawski <<a class="reference external"
|
|
796
|
+
href=
|
|
797
|
+
"mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>></p>
|
|
798
|
+
|
|
799
|
+
<p>License: <a class="reference external" href=
|
|
800
|
+
"https://creativecommons.org/licenses/by-nd/4.0/">CC
|
|
801
|
+
BY-ND 4.0</a></p>
|
|
802
|
+
|
|
803
|
+
<p>Date: 2026-06-19</p>
|
|
804
|
+
</blockquote>
|
|
805
|
+
|
|
806
|
+
<p><strong>Ω</strong>
|
|
807
|
+
</p>
|
|
722
808
|
</section>
|
|
723
809
|
</section>
|
|
724
810
|
</main>
|
|
811
|
+
|
|
812
|
+
<div id='page_dt'>
|
|
813
|
+
2026-06-19
|
|
814
|
+
</div>
|
|
725
815
|
</body>
|
|
726
816
|
</html>
|