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.
@@ -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.8.0
4
+ <meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.9.20
5
5
  "/>
6
- <meta charset="utf-8" />
7
- <meta name="viewport" content=
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
- <style type="text/css">
11
- /*<![CDATA[*/
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/">flnews</a> Newsreader</p>
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
- "#editing-footnotes-1" id="toc-entry-8">Editing
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-9">Signatures in Supersedes</a>
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-10">Testing</a>
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-11">Source Code</a>
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-12">License</a>
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-13">Author</a>
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
- <p>The post-processor is invoked by piping an article into
174
- it. This typically occurs automatically when the "post_proc"
175
- variable is set to <strong>flnews_post_proc</strong> in the
176
- flnews configuration file.</p>
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
- <p>For testing purposes, you can also pipe locally stored
179
- articles into the post-processor using a command like:</p>
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
- <blockquote>
182
- <p><strong>flnews_post_proc</strong> &lt; article</p>
183
- </blockquote>
157
+ <blockquote>
158
+ <p><strong>flnews_post_proc</strong> &lt; article</p>
159
+ </blockquote>
184
160
 
185
- <p>.or:</p>
161
+ <p>.or:</p>
186
162
 
187
- <blockquote>
188
- <p>cat article.txt | <strong>flnews_post_proc</strong></p>
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
- <p>The flnews newsreader fully supports Usenet access,
197
- enabling the reception and reading of articles from
198
- newsgroups, as well as composing and posting them.</p>
199
-
200
- <p>When comparing various news clients, differences will
201
- often influence your choice of preferred client. Flnews
202
- distinguishes itself by not only offering control over its
203
- internal behavior, but also by allowing you to modify
204
- outgoing posts just before they are sent to the configured
205
- NNTP server.</p>
206
-
207
- <p>The <strong>flnews_post_proc</strong> program can be used
208
- to modify and enhance a post in ways that flnews alone
209
- cannot. It is configurable and may meet the needs of some
210
- Usenet users, though it is primarily intended as a starting
211
- point for creating your own custom solutions.</p>
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
- <p>While flnews creates posts that are generally complete
218
- and ready for submission, there are instances where users
219
- might find the output unsatisfactory for arbitrary
220
- reasons:</p>
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
- <ul>
223
- <li>
224
- <p>If you're posting to different newsgroups in
225
- multiple languages, the introductory line referencing a
226
- prior post can only be set once in the flnews
227
- configuration file. As a result, posts to a French
228
- newsgroup, for example, may start with an introduction
229
- in English. The post-processor can address this by
230
- setting specific introductory lines for each
231
- newsgroup.</p>
232
- </li>
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
- <li>
235
- <p>Similar issues arise when you set a standard
236
- signature and want it to vary based on the newsgroup.
237
- The post-processor allows different signatures to be
238
- used for different newsgroups, and you can even
239
- randomize the selection from a list of signatures
240
- stored in a file.</p>
241
- </li>
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
- <li>
244
- <p>Custom headers, such as GnuPG key IDs or your
245
- language proficiency, can also be added to posts,
246
- though signatures may be a better alternative. Custom
247
- headers can be defined in the configuration file and
248
- will be added to outgoing posts.</p>
249
- </li>
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
- <li>
252
- <p>Headers like "Archive" and "X-No-Archive" are
253
- sometimes set to prevent an article from being indexed
254
- by search engines (e.g., Google). For example, test
255
- posts likely don't need to be included in search
256
- results. The post-processor can apply both headers to
257
- all posts sent to certain newsgroups.</p>
258
-
259
- <p><strong>NOTE</strong>: As of 2024, the
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
- <li>
266
- <p>Posts that include many references to other posts or
267
- URLs can become cluttered. The post-processor can
268
- convert marked text into footnotes, similar to the
269
- &lt;ref/&gt; link format used in Wikipedia, with the
270
- delimiter configurable in the configuration file.
271
- Example (using %=): "This is an object %=and this
272
- becomes the footnote, describing the object further=%".
273
- See also the hints under <a class="reference internal"
274
- href="#editing-footnotes">EDITING FOOTNOTES</a>,
275
- below.</p>
276
- </li>
277
- </ul>
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
+ &lt;ref/&gt; 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
- <p><strong>IMPORTANT</strong>: As of version 1.72, YAD or
285
- Zenity cannot be used for the dialog interface.</p>
286
-
287
- <p>Before the post-processor runs, a dialog can be
288
- displayed to allow users to <strong>disable</strong>
289
- certain <a class="reference internal" href=
290
- "#configuration">CONFIGURATION</a> options. If Whiptail or
291
- xterm are available, you can choose to disable the
292
- following options. You <strong>cannot</strong> enable
293
- options that haven't already been set in the
294
- configuration.</p>
295
-
296
- <ul class="simple">
297
- <li>
298
- <p>Signatures (if set in the <a class=
299
- "reference internal" href=
300
- "#configuration">CONFIGURATION</a>) can be
301
- <strong>ignored</strong>. A default signature will be
302
- used, or no signature at all.</p>
303
- </li>
304
-
305
- <li>
306
- <p>Custom headers can be <strong>omitted</strong>.</p>
307
- </li>
308
-
309
- <li>
310
- <p>The "Archive" and "X-No-Archive" headers can be
311
- <strong>ignored</strong> if set for the current
312
- newsgroup.</p>
313
- </li>
314
-
315
- <li>
316
- <p>Logging can be <strong>disabled</strong>, if
317
- enabled.</p>
318
- </li>
319
- </ul>
320
-
321
- <p>Pressing Esc or the Cancel button on the dialog will
322
- interrupt the process, and flnews will not post the
323
- article.</p>
324
-
325
- <p>To disable the dialog entirely (and apply all configured
326
- options without further interaction), set the
327
- <strong>OVERRIDE_CONFIG</strong> option.</p>
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
- <p>Upon first execution of the program, a copy of the
336
- original configuration file is created in
337
- <em>/home/[user]/.flnews_post_proc.conf</em>. This file is
338
- used thereafter. Deleting it will cause the file to be
339
- recreated, but any custom changes will be lost.</p>
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
- <p>The configuration file uses YAML syntax and includes
342
- detailed explanations. The variables within it fall into two
343
- categories:</p>
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
- <ol class="arabic simple">
346
- <li>
347
- <p>Variables that represent values originally set by
348
- flnews, which can be used or replaced. These elements are
349
- typically captured using regular expressions.</p>
350
- </li>
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
- <li>
353
- <p>Variables that define new or modified content.</p>
354
- </li>
355
- </ol>
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: '/tmp/a_log-file.txt'</p>
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: '---------'</p>
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: '%?'</p>
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
- <p>Writing footnote text (or URL-references) inline when
589
- you are about to redact a news article, may be tempting,
590
- but it can –and probably will– mess up the line breaks in
591
- the post: It is too difficult to estimate the length of a
592
- text line, after the footnote is automatically removed and
593
- put at the end of the article.</p>
594
-
595
- <p>You should rather prepare the entire article and
596
- <strong>insert</strong> footnote text right before posting.
597
- This way you have a realistic grasp of the appearance of
598
- the authentic article, after the additional text has been
599
- replaced by your choice of a symbol (see <a class=
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
- <p>When superseding an existing post, the post-processor
609
- will NOT automatically add a signature. This preserves the
610
- original post content as much as possible.</p>
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
- <p>To retain the signature from the original post:</p>
664
+ <p>To retain the signature from the original post:</p>
613
665
 
614
- <ol class="arabic simple">
615
- <li>
616
- <p>In flnews, select the entire article body with the
617
- mouse—from the first line (including any introductions)
618
- down to the last line of the signature.</p>
619
- </li>
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
- <li>
622
- <p>From the Article menu, select
623
- <strong>Supersede</strong>.</p>
624
- </li>
674
+ <li>
675
+ <p>From the Article menu, select
676
+ <strong>Supersede</strong>.</p>
677
+ </li>
625
678
 
626
- <li>
627
- <p>Edit the article text as needed. The signature will
628
- be included in the editable text (normally, flnews
629
- strips signatures before opening the editor).</p>
630
- </li>
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
- <li>
633
- <p>Send the article.</p>
634
- </li>
635
- </ol>
686
+ <li>
687
+ <p>Send the article.</p>
688
+ </li>
689
+ </ol>
636
690
 
637
- <p><strong>Note:</strong> The <a class="reference internal"
638
- href="#override-dialog">override dialog</a> (see above)
639
- does not affect signatures in superseding posts.</p>
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
- <p>You can verify the post-processor’s effect by using one
647
- of two methods:</p>
702
+ <blockquote>
703
+ <p>You can verify the post-processor’s effect by using
704
+ one of two methods:</p>
648
705
 
649
- <ol class="arabic">
650
- <li>
651
- <p>Pipe a saved post into the program:</p>
706
+ <ol class="arabic">
707
+ <li>
708
+ <p>Pipe a saved post into the program:</p>
652
709
 
653
- <p><strong>:~$ /usr/local/bin/[post-processor] &lt;
654
- [test-article]</strong>
655
- </p>
710
+ <p><strong>:~$ /usr/local/bin/[post-processor] &lt;
711
+ [test-article]</strong>
712
+ </p>
713
+ </li>
714
+ </ol>
656
715
 
657
- <p>This will show the modified article, and you can
658
- pipe it into another file for further testing.</p>
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
- <li>
662
- <p>Post directly to a test newsgroup (e.g., alt.test).
663
- This is essential before posting to real newsgroups,
664
- especially when the post-processor will alter the
665
- article.</p>
666
- </li>
667
- </ol>
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
- <p>The gem file for the program, available via the gem
675
- utility or <a class="reference external" href=
676
- "https://rubygems.org/gems/flnews_post_proc">rubygems.org</a>,
677
- contains all the source code and documentation (this page
678
- included). To extract it, do the following:</p>
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
- <ol class="arabic simple">
681
- <li>
682
- <p>Extract the gem file: <cite>tar -xf
683
- flnews_post_proc-0.1.gem</cite></p>
684
- </li>
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
- <li>
687
- <p>Uncompress the data archive: <cite>gunzip
688
- data.gz</cite></p>
689
- </li>
747
+ <li>
748
+ <p>Uncompress the data archive: <cite>gunzip
749
+ data.gz</cite></p>
750
+ </li>
690
751
 
691
- <li>
692
- <p>Extract the data archive: <cite>tar -xf
693
- data.tar</cite></p>
694
- </li>
695
- </ol>
752
+ <li>
753
+ <p>Extract the data archive: <cite>tar -xf
754
+ data.tar</cite></p>
755
+ </li>
756
+ </ol>
696
757
 
697
- <p>This will create the directories <cite>bin</cite>,
698
- <cite>doc</cite>, and <cite>lib</cite>.</p>
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
- <p>The <strong>flnews_post_proc</strong> is distributed
706
- under the <a class="reference external" href=
707
- "https://www.wtfpl.net/about/">WTFPL-2.0</a> or later
708
- License. For the complete license text, visit <a class=
709
- "reference external" href=
710
- "http://www.wtfpl.net/txt/copying/">http://www.wtfpl.net/txt/copying/</a>
711
- or refer to the license file in the documentation directory
712
- of the gem.</p>
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
- <p><strong>flnews_post_proc</strong> has been developed by
720
- Michael Uplawski &lt;<a class="reference external" href=
721
- "mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>&gt;</p>
783
+ <blockquote>
784
+ <p><strong>flnews_post_proc</strong> has been developed
785
+ by Michael Uplawski &lt;<a class="reference external"
786
+ href=
787
+ "mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>&gt;</p>
788
+ </blockquote>
789
+ </section>
790
+
791
+ <section id="this-document">
792
+ <h3>This document</h3>
793
+
794
+ <blockquote>
795
+ <p>©Michael Uplawski &lt;<a class="reference external"
796
+ href=
797
+ "mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>&gt;</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>