flnews_post_proc 1.73 → 1.74

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.
@@ -49,295 +49,225 @@ blockquote {background-color:#ffc090;
49
49
  <body>
50
50
  <div class="document" id="flnews-post-proc">
51
51
  <h1 class="title">flnews_post_proc</h1>
52
- <h2 class="subtitle" id="post-processor-for-the-flnews-newsreader">Post-Processor for the flnews newsreader</h2>
52
+ <h2 class="subtitle" id="post-processor-for-the-flnews-newsreader">Post-Processor for the flnews Newsreader</h2>
53
53
 
54
54
  <div class="section" id="synopsis">
55
55
  <h1>SYNOPSIS</h1>
56
- <p>An article is piped-in to the post-processor. This is normally done
57
- automatically as soon as the variable “post_proc“ in the flnews configuration
58
- file is set to the flnews_post_proc.</p>
59
- <p>Locally stored articles can be piped in to the post-processor, as needed
60
- for testing purposes, with a command-line like the following:</p>
56
+ <p>The post-processor is invoked by piping an article into it. This typically occurs
57
+ automatically when the &quot;post_proc&quot; variable is set to <cite>flnews_post_proc</cite> in the
58
+ flnews configuration file.</p>
59
+ <p>For testing purposes, you can also pipe locally stored articles into the post-processor
60
+ using a command like:</p>
61
61
  <p><strong>flnews_post_proc &lt; article</strong></p>
62
62
  </div>
63
63
  <div class="section" id="description">
64
64
  <h1>DESCRIPTION</h1>
65
- <p>The flnews newsreader is sufficient for Usenet access, i.e. to receive and read
66
- articles from -, as well as to write and post articles to newsgroups.</p>
67
- <p>When you compare news-clients, you will always notice the differences and
68
- choose the software that you prefer. Flnews however, has the charm that you can
69
- influence how the program itself works but also modify posts that flnews
70
- produces, just before the program will transmit them to the chosen nntp-server.</p>
71
- <p>The flnews_post_proc can add and change details of a post, in ways that are
72
- currently not possible with flnews alone. As the program is configurable, it
73
- can probably respond to the needs of some Usenet users. You should, however,
74
- rather take it as an example for what can be done and an inspiration for your
75
- own creations.</p>
76
- <div class="section" id="the-limits-of-a-basic-newsreader-what-the-program-can-do">
77
- <h2>The limits of a basic newsreader what the program can do</h2>
78
- <p>While the articles that flnews creates, are complete and ready to be posted,
79
- some users may not always agree with the result and for arbitrary reasons:</p>
65
+ <p>The flnews newsreader fully supports Usenet access, enabling the reception and reading
66
+ of articles from newsgroups, as well as composing and posting them.</p>
67
+ <p>When comparing various news clients, differences will often influence your choice of
68
+ preferred client. Flnews distinguishes itself by not only offering control over its
69
+ internal behavior, but also by allowing you to modify outgoing posts just before they
70
+ are sent to the configured NNTP server.</p>
71
+ <p>The <cite>flnews_post_proc</cite> program can be used to modify and enhance a post in ways that
72
+ flnews alone cannot. It is configurable and may meet the needs of some Usenet users,
73
+ though it is primarily intended as a starting point for creating your own custom solutions.</p>
74
+ <div class="section" id="limitations-of-basic-newsreaders">
75
+ <h2>Limitations of Basic Newsreaders</h2>
76
+ <p>While flnews creates posts that are generally complete and ready for submission, there are
77
+ instances where users might find the output unsatisfactory for arbitrary reasons:</p>
80
78
  <ul>
81
- <li><p class="first">There may be inconveniences when you post to different newsgroups in
82
- different languages, as an introductory line which refers to a previous
83
- post can only be set once in the flnews-configuration. The consequence
84
- can be that your post to a french newsgroup begins with an introduction
85
- in English.
86
- My post-processor program can set an introductory line specifically
87
- chosen for one or several newsgroups.</p>
79
+ <li><p class="first">If you're posting to different newsgroups in multiple languages, the introductory line
80
+ referencing a prior post can only be set once in the flnews configuration file. As a
81
+ result, posts to a French newsgroup, for example, may start with an introduction in
82
+ English. The post-processor can address this by setting specific introductory lines
83
+ for each newsgroup.</p>
88
84
  </li>
89
- <li><p class="first">The same conflict arises, when you have set a standard signature-text and
90
- would like to replace it against another, based on the newsgroup you are
91
- about to post to.
92
- The post-processor program sets specific signatures as configured for one
93
- or several newsgroups. You can even specify that a signature should be
94
- picked randomly from a file, containing several signatures.</p>
85
+ <li><p class="first">Similar issues arise when you set a standard signature and want it to vary based on
86
+ the newsgroup. The post-processor allows different signatures to be used for different
87
+ newsgroups, and you can even randomize the selection from a list of signatures stored
88
+ in a file.</p>
95
89
  </li>
96
- <li><p class="first">Some custom headers may serve to convey additional information to
97
- interested readers of your post, like GnuPG key IDs, your language skills
98
- or the like. The signature may be a better choice than custom headers.
99
- You are free. I just mention face and x-face but prefer that you do not
100
- remember I did.
101
- Custom-headers may be defined in the configuration file for the program
102
- and will then be added to each outgoing post.</p>
90
+ <li><p class="first">Custom headers, such as GnuPG key IDs or your language proficiency, can also be added
91
+ to posts, though signatures may be a better alternative. Custom headers can be defined
92
+ in the configuration file and will be added to outgoing posts.</p>
103
93
  </li>
104
- <li><p class="first">The Archive- and the X-No-Archive header are sometimes set to avoid that an
105
- article be saved and stays available to search-engines (Google, notably).
106
- Test- postings, for example, do probably not justify at all that they would
107
- be referenced in search-results.
108
- The post-processor program can impose both headers for all posts to certain
109
- newsgroups.</p>
110
- <p><strong>ATTN</strong> As of 2024, the header “X-No-Archive“ has lost most of its utility
111
- and it is the decision of server operators to honor it or not.</p>
94
+ <li><p class="first">Headers like &quot;Archive&quot; and &quot;X-No-Archive&quot; are sometimes set to prevent an article from
95
+ being indexed by search engines (e.g., Google). For example, test posts likely don't need
96
+ to be included in search results. The post-processor can apply both headers to all posts
97
+ sent to certain newsgroups.</p>
98
+ <p><strong>NOTE</strong>: As of 2024, the &quot;X-No-Archive&quot; header has limited effectiveness, and it is
99
+ up to server operators whether or not to honor it.</p>
112
100
  </li>
113
- <li><p class="first">If a news post contains many references to either other posts or Web
114
- pages, the text can be cluttered with URLs.
115
- The post-processor can identify marked text fragments and transform them
116
- into footnotes, which will be attached as a list at the bottom of the
117
- post.
118
- This works almost like the &lt;ref/&gt; link in Wikipedia, but the delimiter
119
- can be determined in the configuration file.
120
- Example (with %=):
121
- This is an object %=and this becomes the footnote, describing the object
122
- further=%</p>
101
+ <li><p class="first">Posts that include many references to other posts or URLs can become cluttered. The
102
+ post-processor can convert marked text into footnotes, similar to the &lt;ref/&gt; link format
103
+ used in Wikipedia, with the delimiter configurable in the configuration file.
104
+ Example (using %=):
105
+ &quot;This is an object %=and this becomes the footnote, describing the object further=%&quot;</p>
123
106
  </li>
124
107
  </ul>
125
108
  </div>
126
- <div class="section" id="dialog-to-override-settings">
127
- <h2>Dialog to override settings</h2>
128
- <p>ATTN! As of version 1.72, YAD or Zenity cannot be used for the dialog.</p>
129
- <p>You can have a dialog displayed just before the post-processor is invoked, to
130
- <strong>disable</strong> some configuration options. Provided that Whiptail or only xterm
131
- are available on your computer, you can choose from the following options. You
132
- <strong>cannot</strong> use the dialog to enable options which have not yet been set in the
133
- configuration.</p>
109
+ <div class="section" id="dialog-for-overriding-settings">
110
+ <h2>Dialog for Overriding Settings</h2>
111
+ <p><strong>IMPORTANT</strong>: As of version 1.72, YAD or Zenity cannot be used for the dialog interface.</p>
112
+ <p>Before the post-processor runs, a dialog can be displayed to allow users to <strong>disable</strong>
113
+ certain configuration options. If Whiptail or xterm are available, you can choose to
114
+ disable the following options. You <strong>cannot</strong> enable options that haven't already been set
115
+ in the configuration.</p>
134
116
  <ul class="simple">
135
- <li>Signatures, as set in the configuration <strong>can be ignored</strong>. Either
136
- a default signature will appear as set in flnews or none.</li>
137
- <li>Custom Headers, if configured, can be <strong>omitted</strong>.</li>
138
- <li>The Archive- and X-No-Archive headers, if set for the current newsgroup,
139
- <strong>can be ignored</strong>.</li>
140
- <li>Logging can be <strong>switched off</strong>, if set.</li>
117
+ <li>Signatures (if set in the configuration) can be <strong>ignored</strong>. A default signature will
118
+ be used, or no signature at all.</li>
119
+ <li>Custom headers can be <strong>omitted</strong>.</li>
120
+ <li>The &quot;Archive&quot; and &quot;X-No-Archive&quot; headers can be <strong>ignored</strong> if set for the current
121
+ newsgroup.</li>
122
+ <li>Logging can be <strong>disabled</strong>, if enabled.</li>
141
123
  </ul>
142
- <p>Pushing Esc or the cancle-button of the dialog interrupts the process, flnews
124
+ <p>Pressing Esc or the Cancel button on the dialog will interrupt the process, and flnews
143
125
  will not post the article.</p>
144
- <p>You can disable the dialog, which ensures that all configured options will be
145
- applied, without the need for further interaction (see below, option
146
- OVERRIDE_CONFIG).</p>
126
+ <p>To disable the dialog entirely (and apply all configured options without further interaction),
127
+ set the <strong>OVERRIDE_CONFIG</strong> option.</p>
147
128
  </div>
148
129
  </div>
149
130
  <div class="section" id="configuration">
150
131
  <h1>CONFIGURATION</h1>
151
- <p>On first execution of the program, a copy of the original configuration file is
152
- created in <em>/home/[user]/.flnews_post_proc.conf</em>
153
- It is this file which is used from then on. If you delete it, it will be
154
- recreated, on the next occasion, but your own changes will be lost.</p>
155
- <p>The configuration file is in YAML syntax and full of explanations. The
156
- variables defined in this file can be classified as belonging to one of two
157
- categories:</p>
158
- <ul class="simple">
159
- <li>Variables describing values originally set by flnews, which should be used or
160
- replaced. The important elements are usually matched in a capture group.</li>
161
- <li>Variables defining the new or altered content.</li>
162
- </ul>
163
- <dl class="docutils">
164
- <dt><strong>FUP_NAME</strong></dt>
165
- <dd><p class="first">A Regular Expression, describing the string which contains the name of
166
- previous poster who is the author of a quoted post. This string is
167
- recognized in the original article and may be used with the fitting element
168
- from <em>GROUP_INTRO</em>, below. The Regexp-format is that of the Regexp class in
169
- Ruby, noted as a String. Beware to mask a backslash '\' by another one,
170
- like in the example. A capture-group '()' serves to extract the name from the
171
- match result.</p>
172
- <p>Leave this field empty to keep the default from the FLNews configuration
173
- intact.</p>
174
- <p>CONTENT: A String equivalent of a regular expression.</p>
132
+ <p>Upon first execution of the program, a copy of the original configuration file is created
133
+ in <em>/home/[user]/.flnews_post_proc.conf</em>. This file is used thereafter. Deleting it will
134
+ cause the file to be recreated, but any custom changes will be lost.</p>
135
+ <p>The configuration file uses YAML syntax and includes detailed explanations. The variables
136
+ within it fall into two categories:</p>
137
+ <ol class="arabic simple">
138
+ <li>Variables that represent values originally set by flnews, which can be used or replaced.
139
+ These elements are typically captured using regular expressions.</li>
140
+ <li>Variables that define new or modified content.</li>
141
+ </ol>
142
+ <div class="section" id="example-configuration-variables">
143
+ <h2>Example Configuration Variables</h2>
144
+ <p><strong>FUP_NAME</strong>
145
+ A regular expression that matches the name of the previous poster in a quoted post. This
146
+ string is recognized in the original article and used with the matching element from
147
+ <em>GROUP_INTRO</em>.</p>
148
+ <p>Leave this field empty to retain the default value from the FLNews configuration.</p>
149
+ <p>CONTENT: A string representing a regular expression.</p>
175
150
  <p>DEFAULT: EMPTY</p>
176
151
  <p>EXAMPLE1: &quot;On \\d+.\\d+.\\d{2,4} at \\d+:\\d+ <strong>(.*)</strong> wrote:&quot;</p>
177
- <p class="last">EXAMPLE2: &quot;<strong>(.*)</strong> wrote:&quot;</p>
178
- </dd>
179
- <dt><strong>FUP_GROUP</strong></dt>
180
- <dd><p class="first">A Regular Expression, describing the string which contains the newsgroup
181
- where the previous post, that you are referring to in the followup, had been
182
- published.</p>
183
- <p>Leave this field empty to ignore the precise group.</p>
184
- <p>CONTENT: A String equivalent of a regular expression.</p>
152
+ <p>EXAMPLE2: &quot;<strong>(.*)</strong> wrote:&quot;</p>
153
+ <p><strong>FUP_GROUP</strong>
154
+ A regular expression that matches the newsgroup where the quoted post was published.</p>
155
+ <p>Leave this field empty to ignore the exact group.</p>
156
+ <p>CONTENT: A string representing a regular expression.</p>
185
157
  <p>DEFAULT: EMPTY</p>
186
- <p class="last">EXAMPLE: &quot;wrote in <strong>(.*)</strong>:&quot;</p>
187
- </dd>
188
- <dt><strong>GROUP_INTROS</strong></dt>
189
- <dd><p class="first">Introductory strings, referring to the previous poster who is the author of a
190
- quoted post. If you match the newsgroup of the post (see FUP_GROUP), you can
191
- use these variables in the result.
192
- Currently only %fup_name% and %fup_group% are reproduced in the resulting
193
- introductory string.</p>
194
- <p>CONTENT: A newsgroup or regexp per line, followed by a colon, a space and a String</p>
195
- <p>DEFAULT: As configured in FLNews</p>
196
- <p class="last">EXAMPLE: alt.test: &quot;Thus spoke %fup_name% on that baleful %fup_date%:&quot;</p>
197
- </dd>
198
- <dt><strong>GROUP_SIGS</strong></dt>
199
- <dd><p class="first">A signature line per Newsgroup or a file path. The file should contain signatures,
200
- already formatted and separated by 1 empty line. The program will randomly pick
201
- one signature from the list. You can source another file inside the original
202
- signature file: a line starting with a point and a space will indicate that
203
- additional signatures should be picked from the named file, like in:
204
- . /home/user/.other_signature_file
205
- This works only in the file named in the configuration, not in the sourced files.
206
- Remember to separate lines sourcing a file by an empty line, also separate several
207
- such lines by an empty line between them.</p>
208
- <p>CONTENT: A newsgroup or regexp per line, followed by a colon, a space and a String.</p>
209
- <p>DEFAULT: As configured in flnews</p>
210
- <p>EXAMPLE: alt.test: &quot;Signature for alt.test\r\nsecond line&quot;</p>
211
- <p class="last">EXAMPLE: comp.*: /home/[user]/.my_sigs</p>
212
- </dd>
213
- <dt><strong>CUSTOM_HEADERS</strong></dt>
214
- <dd><p class="first">Additional headers for the outgoing article</p>
215
- <p>CONTENT: 1 line per header : a dash and space, then a String, comprising the
216
- name of the header, ending in a colon and the value of the header.</p>
217
- <p>DEFAULT: undefined</p>
218
- <div class="last line-block">
219
- <div class="line">EXAMPLE (2 headers):</div>
220
- <div class="line">- 'X-My-Header: nothing fancy'</div>
221
- <div class="line">- 'X-Another-Header: care not!'</div>
222
- </div>
223
- </dd>
224
- <dt><strong>NO_ARCHIVE_GROUPS</strong></dt>
225
- <dd><p class="first">The newsgroups, where the headers “Archive: no” and “X-No-Archive: YES” shall
226
- be set.</p>
227
- <p>CONTENT: a dash and space, then a String, containing the name of the group or a regexp.</p>
228
- <p>DEFAULT: empty</p>
229
- <div class="last line-block">
230
- <div class="line">EXAMPLE (1 group, 1 hierarchy):</div>
231
- <div class="line">- &quot;alt.test&quot;</div>
232
- <div class="line">- &quot;^news.*&quot;</div>
233
- </div>
234
- </dd>
235
- <dt><strong>DEBUG_LOG</strong></dt>
236
- <dd><p class="first">The name of a file, where debug messages are written. Setting this
237
- variable will enable the log. Leave empty to disable logging.</p>
238
- <p>CONTENT: The name of a writable file, which will be created if inexistent
239
- and overwritten if need be.</p>
240
- <p>DEFAULT: empty</p>
241
- <p class="last">EXAMPLE: '/tmp/a_log-file.txt'</p>
242
- </dd>
243
- <dt><strong>LOG LEVEL</strong></dt>
244
- <dd>One of debug, fatal, error, info, warn</dd>
245
- <dt><strong>REFERENCES_SEPARATOR</strong></dt>
246
- <dd><p class="first">A symbol or sequence of symbols marking the end of the message-body and the
247
- beginning of a list of “references” or “footnotes”. It will only appear, if
248
- the original message-body contains text marked for use as such a footnote.
249
- See <em>REFERENCES_DELIMITER</em>.</p>
250
- <p>If the option is not defined or empty, the list of footnotes will appear
251
- below the last line of the message body and no separator will be inserted.</p>
252
- <p>CONTENT: A quoted symbol or sequence of symbols.</p>
253
- <p>DEFAULT: empty</p>
254
- <p class="last">EXAMPLE: '---------'</p>
255
- </dd>
256
- <dt><strong>REFERENCES_DELIMITER</strong></dt>
257
- <dd><p class="first">A sequence of at least two symbols marking the beginning of a text which will
258
- serve as footnote (or reference). The <strong>reversed sequence</strong> musst be used to
259
- mark the end of the text. The presence of this sequence or symbol in the
260
- original message body will cause the enclosed text to be moved below the
261
- message body. The <em>REFERENCES_SEPARATOR</em>, if defined, will separate the
262
- message from the list of footnotes.
263
- If this option is not defined or empty, footnotes are not created.</p>
264
- <p>CONTENT a quoted symbol or sequence of symbols.</p>
265
- <p>DEFAULT: none/empty</p>
266
- <p class="last">EXAMPLE: '%?'</p>
158
+ <p>EXAMPLE: &quot;wrote in <strong>(.*)</strong>:&quot;</p>
159
+ <p><strong>GROUP_INTROS</strong>
160
+ Introductory strings referring to the previous poster in a quoted post. When the newsgroup
161
+ matches <em>FUP_GROUP</em>, these variables are used in the resulting introduction.</p>
162
+ <p>CONTENT: A newsgroup or regular expression per line, followed by a colon, space, and string.</p>
163
+ <p>DEFAULT: As configured in FLNews.</p>
164
+ <p>EXAMPLE: alt.test: &quot;Thus spoke %fup_name% on that baleful %fup_date%:&quot;</p>
165
+ <p><strong>GROUP_SIGS</strong>
166
+ Signature lines for each newsgroup or a path to a file containing signatures, which should be
167
+ formatted and separated by one empty line. A random signature is picked from the file for each
168
+ newsgroup. You can also source another file within the signature file by starting a line with
169
+ &quot;. /path/to/other/file&quot;.</p>
170
+ <p>CONTENT: A newsgroup or regular expression per line, followed by a colon, space, and string.</p>
171
+ <p>DEFAULT: As configured in flnews.</p>
172
+ <p>EXAMPLE: alt.test: &quot;Signature for alt.test\r\nsecond line&quot;
173
+ EXAMPLE: comp.*: /home/[user]/.my_sigs</p>
174
+ <p><strong>CUSTOM_HEADERS</strong>
175
+ Additional custom headers to be added to outgoing articles.</p>
176
+ <p>CONTENT: One line per header, starting with a dash and space, followed by the header name and value.</p>
177
+ <p>DEFAULT: Undefined</p>
178
+ <dl class="docutils">
179
+ <dt>EXAMPLE:</dt>
180
+ <dd><ul class="first last simple">
181
+ <li>'X-My-Header: nothing fancy'</li>
182
+ <li>'X-Another-Header: care not!'</li>
183
+ </ul>
267
184
  </dd>
268
- <dt><strong>REFERENCE_FORMAT</strong></dt>
269
- <dd><p class="first">A format-string, using %s for a number, replacing the reference-
270
- text in the message body.</p>
271
- <p>DEFAULT: &quot; %s)&quot; -&gt; becomes 1) ... 2) ... 3)</p>
272
- <p class="last">EXAMPLE: &quot;(%s)&quot; -&gt; becomes (1) ... (2) ... (3)</p>
185
+ </dl>
186
+ <p><strong>NO_ARCHIVE_GROUPS</strong>
187
+ Newsgroups where the &quot;Archive: no&quot; and &quot;X-No-Archive: YES&quot; headers should be set.</p>
188
+ <p>CONTENT: A line with a dash and space, followed by the group name or a regular expression.</p>
189
+ <p>DEFAULT: Empty</p>
190
+ <dl class="docutils">
191
+ <dt>EXAMPLE:</dt>
192
+ <dd><ul class="first last simple">
193
+ <li>&quot;alt.test&quot;</li>
194
+ <li>&quot;^news.*&quot;</li>
195
+ </ul>
273
196
  </dd>
274
- <dt><strong>VFY_URLS</strong></dt>
275
- <dd><p class="first">A Boolean constant. It determines if the program shall verify and possibly
276
- try to correct URLs. Even if URLs are identified as such, only a few
277
- manipulations are attempted :
278
- * Angular brackets '&lt;' and '&gt;' are added, if missing
279
- * Slashes are added, if they are found missing after &quot;http(s):&quot;</p>
280
- <p>If the variable is not set, a value 'yes' is assumed.</p>
281
- <p>CONTENT: One of YES, yes, NO, no, and other variations of case.</p>
197
+ </dl>
198
+ <p><strong>DEBUG_LOG</strong>
199
+ The name of the file where debug messages are logged. If specified, logging will be enabled.
200
+ If empty, logging is disabled.</p>
201
+ <p>CONTENT: The name of a writable file, which will be created if it doesn't exist and overwritten if necessary.</p>
202
+ <p>DEFAULT: Empty</p>
203
+ <p>EXAMPLE: '/tmp/a_log-file.txt'</p>
204
+ <p><strong>LOG LEVEL</strong>
205
+ One of: debug, fatal, error, info, warn.</p>
206
+ <p><strong>REFERENCES_SEPARATOR</strong>
207
+ A symbol or sequence marking the end of the message body and the beginning of a footnote list.
208
+ If not defined, footnotes are appended directly after the message body.</p>
209
+ <p>CONTENT: A quoted symbol or sequence.</p>
210
+ <p>DEFAULT: Empty</p>
211
+ <p>EXAMPLE: '---------'</p>
212
+ <p><strong>REFERENCES_DELIMITER</strong>
213
+ A sequence marking the beginning and end of text to be used as a footnote or reference. The reversed
214
+ sequence is used to mark the end.</p>
215
+ <p>CONTENT: A quoted symbol or sequence.</p>
216
+ <p>DEFAULT: None (empty)</p>
217
+ <p>EXAMPLE: '%?'</p>
218
+ <p><strong>REFERENCE_FORMAT</strong>
219
+ A format string using <cite>%s</cite> for a number to replace the reference text in the body.</p>
220
+ <p>DEFAULT: &quot; %s)&quot; → becomes 1) ... 2) ... 3)</p>
221
+ <p>EXAMPLE: &quot;(%s)&quot; → becomes (1) ... (2) ... (3)</p>
222
+ <p><strong>VFY_URLS</strong>
223
+ A boolean constant determining whether URLs should be verified and corrected if necessary.
224
+ URL manipulations include adding angular brackets ('&lt;', '&gt;') and slashes after &quot;http(s):&quot;.</p>
225
+ <p>CONTENT: One of YES, yes, NO, no (case insensitive).</p>
282
226
  <p>DEFAULT: yes</p>
283
- <p class="last">Example: ... I let you guess.</p>
284
- </dd>
285
- <dt><strong>OVERRIDE_CONFIG</strong></dt>
286
- <dd><p class="first">A Boolean constant. You can choose to override the following configuration
287
- options before an article is posted: GROUP_SIGS, XNAY_GROUPS, CUSTOM_HEADERS,
288
- DEBUG_LOG and VFY_URLS. A dialog may be displayed which allows you to disable
289
- any of these five options, so that the defaults from flnews prevail.</p>
290
- <p>ATTN! Canceling the dialog or pushing the Esc-key does interrupt the process.
291
- Flnews will not post the article.</p>
292
- <p>Set this option to no, NO or similar to disable the dialog.</p>
227
+ <p>EXAMPLE: ... I leave this to your discretion.</p>
228
+ <p><strong>OVERRIDE_CONFIG</strong>
229
+ A boolean constant that controls whether configuration options can be overridden before posting.</p>
230
+ <p>Set this to &quot;no&quot; to disable the dialog.</p>
293
231
  <p>DEFAULT: yes</p>
294
- <p class="last">EXAMPLE: No</p>
295
- </dd>
296
- </dl>
232
+ <p>EXAMPLE: No</p>
233
+ </div>
297
234
  </div>
298
235
  <div class="section" id="other-information">
299
236
  <h1>Other Information</h1>
300
237
  <div class="section" id="testing">
301
238
  <h2>Testing</h2>
302
- <p>The effects that the execution of the program will have on a posting can be
303
- verified in two ways:</p>
239
+ <p>You can verify the post-processor’s effect by using one of two methods:</p>
304
240
  <ol class="arabic">
305
- <li><p class="first">By piping-in a post that had previously been saved to a file:</p>
241
+ <li><p class="first">Pipe a saved post into the program:</p>
306
242
  <p><strong>:~$ /usr/local/bin/[post-processor] &lt; [test-article]</strong></p>
307
- <p>This will show the resulting new version of the article on screen, but you
308
- can also pipe the output into another file. This is a great way to test a
309
- program during development or to test your own configuration of the program.</p>
243
+ <p>This will show the modified article, and you can pipe it into another file for further testing.</p>
310
244
  </li>
311
- <li><p class="first">By posting directly into a test-newsgroup (like alt.test or similar). This
312
- is mandatory before you really post to thematic newsgroups and when the
313
- settings of the post-processor will affect the article.</p>
245
+ <li><p class="first">Post directly to a test newsgroup (e.g., alt.test). This is essential before posting to
246
+ real newsgroups, especially when the post-processor will alter the article.</p>
314
247
  </li>
315
248
  </ol>
316
249
  </div>
317
250
  <div class="section" id="source-code">
318
- <h2>Source-Code</h2>
319
- <p>The gem-file that you get with the gem-utility or from rubygems.org contains
320
- all the code of the program and some documentation (this page notably). To read
321
- its content, you must</p>
251
+ <h2>Source Code</h2>
252
+ <p>The gem file for the program, available via the gem utility or rubygems.org, contains all
253
+ the source code and documentation (this page included). To extract it, do the following:</p>
322
254
  <ol class="arabic simple">
323
- <li>untar the gem-file with tar -xf flnews_post_proc-0.1.gem</li>
324
- <li>uncompress the data.gz archive: gunzip data.gz</li>
325
- <li>untar the resultig data.tar archive: tar -xf data.tar</li>
255
+ <li>Extract the gem file: <cite>tar -xf flnews_post_proc-0.1.gem</cite></li>
256
+ <li>Uncompress the data archive: <cite>gunzip data.gz</cite></li>
257
+ <li>Extract the data archive: <cite>tar -xf data.tar</cite></li>
326
258
  </ol>
327
- <p>This creates the directories bin, doc and lib.</p>
259
+ <p>This will create the directories <cite>bin</cite>, <cite>doc</cite>, and <cite>lib</cite>.</p>
328
260
  </div>
329
261
  <div class="section" id="license">
330
262
  <h2>License</h2>
331
- <p>flnews_post_proc is distributed under the conditions of the WTFPL-2.0 or later
332
- License (see <a class="reference external" href="http://www.wtfpl.net/txt/copying/">http://www.wtfpl.net/txt/copying/</a> or license-text in the doc
333
- directory of the gem-file).</p>
263
+ <p>The flnews_post_proc is distributed under the WTFPL-2.0 or later License.
264
+ For more details, visit <a class="reference external" href="http://www.wtfpl.net/txt/copying/">http://www.wtfpl.net/txt/copying/</a> or refer to the license file in the
265
+ documentation directory of the gem.</p>
334
266
  </div>
335
267
  <div class="section" id="author">
336
268
  <h2>Author</h2>
337
- <div class="line-block">
338
- <div class="line">flnews_post_proc has been developed by</div>
339
- <div class="line">Michael Uplawski &lt;<a class="reference external" href="mailto:michael.uplawski&#64;uplawski.eu">michael.uplawski&#64;uplawski.eu</a>&gt;</div>
340
- </div>
269
+ <p>flnews_post_proc has been developed by
270
+ Michael Uplawski &lt;<a class="reference external" href="mailto:michael.uplawski&#64;uplawski.eu">michael.uplawski&#64;uplawski.eu</a>&gt;</p>
341
271
  </div>
342
272
  </div>
343
273
  <div class="section" id="section-1">
Binary file
Binary file