flnews_post_proc 1.72 → 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.
- checksums.yaml +4 -4
- data/README.md +20 -19
- data/doc/fr/html/flnews_post_proc.html +104 -85
- 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 +94 -89
- data/doc/html/flnews_post_proc.html +194 -573
- 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 +174 -237
- data/lib/basic_logging.rb +1 -1
- data/lib/body.rb +2 -2
- data/lib/configuration.rb +1 -1
- data/lib/flnews_post_proc.conf +3 -3
- data/lib/flnews_post_proc.rb +1 -1
- data/lib/headers.rb +3 -10
- data/lib/newsgroups.rb +38 -19
- data/lib/override.rb +1 -1
- data/lib/version.rb +3 -3
- metadata +6 -5
Binary file
|
Binary file
|
@@ -1,338 +1,275 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
===========================
|
2
|
+
flnews_post_proc
|
3
|
+
===========================
|
4
4
|
------------------------------------------
|
5
|
-
|
5
|
+
Post-Processor for the flnews Newsreader
|
6
6
|
------------------------------------------
|
7
7
|
|
8
8
|
SYNOPSIS
|
9
|
-
|
9
|
+
===========================
|
10
|
+
The post-processor is invoked by piping an article into it. This typically occurs
|
11
|
+
automatically when the "post_proc" variable is set to `flnews_post_proc` in the
|
12
|
+
flnews configuration file.
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
file is set to the flnews_post_proc.
|
14
|
-
|
15
|
-
Locally stored articles can be piped in to the post-processor, as needed
|
16
|
-
for testing purposes, with a command-line like the following:
|
14
|
+
For testing purposes, you can also pipe locally stored articles into the post-processor
|
15
|
+
using a command like:
|
17
16
|
|
18
17
|
**flnews_post_proc < article**
|
19
18
|
|
20
19
|
DESCRIPTION
|
21
|
-
|
22
|
-
The flnews newsreader
|
23
|
-
articles from
|
24
|
-
|
25
|
-
When
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
The flnews_post_proc can
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
Dialog to override settings
|
86
|
-
---------------------------
|
87
|
-
ATTN! As of version 1.72, YAD or Zenity cannot be used for the dialog.
|
88
|
-
|
89
|
-
You can have a dialog displayed just before the post-processor is invoked, to
|
90
|
-
**disable** some configuration options. Provided that Whiptail or only xterm
|
91
|
-
are available on your computer, you can choose from the following options. You
|
92
|
-
**cannot** use the dialog to enable options which have not yet been set in the
|
93
|
-
configuration.
|
94
|
-
|
95
|
-
* Signatures, as set in the configuration **can be ignored**. Either
|
96
|
-
a default signature will appear as set in flnews or none.
|
97
|
-
* Custom Headers, if configured, can be **omitted**.
|
98
|
-
* The Archive- and X-No-Archive headers, if set for the current newsgroup,
|
99
|
-
**can be ignored**.
|
100
|
-
* Logging can be **switched off**, if set.
|
101
|
-
|
102
|
-
Pushing Esc or the cancle-button of the dialog interrupts the process, flnews
|
20
|
+
===========================
|
21
|
+
The flnews newsreader fully supports Usenet access, enabling the reception and reading
|
22
|
+
of articles from newsgroups, as well as composing and posting them.
|
23
|
+
|
24
|
+
When comparing various news clients, differences will often influence your choice of
|
25
|
+
preferred client. Flnews distinguishes itself by not only offering control over its
|
26
|
+
internal behavior, but also by allowing you to modify outgoing posts just before they
|
27
|
+
are sent to the configured NNTP server.
|
28
|
+
|
29
|
+
The `flnews_post_proc` program can be used to modify and enhance a post in ways that
|
30
|
+
flnews alone cannot. It is configurable and may meet the needs of some Usenet users,
|
31
|
+
though it is primarily intended as a starting point for creating your own custom solutions.
|
32
|
+
|
33
|
+
Limitations of Basic Newsreaders
|
34
|
+
--------------------------------------------------------
|
35
|
+
While flnews creates posts that are generally complete and ready for submission, there are
|
36
|
+
instances where users might find the output unsatisfactory for arbitrary reasons:
|
37
|
+
|
38
|
+
* If you're posting to different newsgroups in multiple languages, the introductory line
|
39
|
+
referencing a prior post can only be set once in the flnews configuration file. As a
|
40
|
+
result, posts to a French newsgroup, for example, may start with an introduction in
|
41
|
+
English. The post-processor can address this by setting specific introductory lines
|
42
|
+
for each newsgroup.
|
43
|
+
|
44
|
+
* Similar issues arise when you set a standard signature and want it to vary based on
|
45
|
+
the newsgroup. The post-processor allows different signatures to be used for different
|
46
|
+
newsgroups, and you can even randomize the selection from a list of signatures stored
|
47
|
+
in a file.
|
48
|
+
|
49
|
+
* Custom headers, such as GnuPG key IDs or your language proficiency, can also be added
|
50
|
+
to posts, though signatures may be a better alternative. Custom headers can be defined
|
51
|
+
in the configuration file and will be added to outgoing posts.
|
52
|
+
|
53
|
+
* Headers like "Archive" and "X-No-Archive" are sometimes set to prevent an article from
|
54
|
+
being indexed by search engines (e.g., Google). For example, test posts likely don't need
|
55
|
+
to be included in search results. The post-processor can apply both headers to all posts
|
56
|
+
sent to certain newsgroups.
|
57
|
+
|
58
|
+
**NOTE**: As of 2024, the "X-No-Archive" header has limited effectiveness, and it is
|
59
|
+
up to server operators whether or not to honor it.
|
60
|
+
|
61
|
+
* Posts that include many references to other posts or URLs can become cluttered. The
|
62
|
+
post-processor can convert marked text into footnotes, similar to the <ref/> link format
|
63
|
+
used in Wikipedia, with the delimiter configurable in the configuration file.
|
64
|
+
Example (using %=):
|
65
|
+
"This is an object %=and this becomes the footnote, describing the object further=%"
|
66
|
+
|
67
|
+
Dialog for Overriding Settings
|
68
|
+
------------------------------
|
69
|
+
**IMPORTANT**: As of version 1.72, YAD or Zenity cannot be used for the dialog interface.
|
70
|
+
|
71
|
+
Before the post-processor runs, a dialog can be displayed to allow users to **disable**
|
72
|
+
certain configuration options. If Whiptail or xterm are available, you can choose to
|
73
|
+
disable the following options. You **cannot** enable options that haven't already been set
|
74
|
+
in the configuration.
|
75
|
+
|
76
|
+
* Signatures (if set in the configuration) can be **ignored**. A default signature will
|
77
|
+
be used, or no signature at all.
|
78
|
+
* Custom headers can be **omitted**.
|
79
|
+
* The "Archive" and "X-No-Archive" headers can be **ignored** if set for the current
|
80
|
+
newsgroup.
|
81
|
+
* Logging can be **disabled**, if enabled.
|
82
|
+
|
83
|
+
Pressing Esc or the Cancel button on the dialog will interrupt the process, and flnews
|
103
84
|
will not post the article.
|
104
85
|
|
105
|
-
|
106
|
-
|
107
|
-
OVERRIDE_CONFIG).
|
86
|
+
To disable the dialog entirely (and apply all configured options without further interaction),
|
87
|
+
set the **OVERRIDE_CONFIG** option.
|
108
88
|
|
109
89
|
CONFIGURATION
|
110
90
|
===============
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
recreated, on the next occasion, but your own changes will be lost.
|
91
|
+
Upon first execution of the program, a copy of the original configuration file is created
|
92
|
+
in */home/[user]/.flnews_post_proc.conf*. This file is used thereafter. Deleting it will
|
93
|
+
cause the file to be recreated, but any custom changes will be lost.
|
115
94
|
|
116
|
-
The configuration file
|
117
|
-
|
118
|
-
categories:
|
95
|
+
The configuration file uses YAML syntax and includes detailed explanations. The variables
|
96
|
+
within it fall into two categories:
|
119
97
|
|
120
|
-
|
121
|
-
|
98
|
+
1. Variables that represent values originally set by flnews, which can be used or replaced.
|
99
|
+
These elements are typically captured using regular expressions.
|
100
|
+
2. Variables that define new or modified content.
|
122
101
|
|
123
|
-
|
102
|
+
Example Configuration Variables
|
103
|
+
-------------------------------
|
124
104
|
|
125
105
|
**FUP_NAME**
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
from *GROUP_INTRO*, below. The Regexp-format is that of the Regexp class in
|
130
|
-
Ruby, noted as a String. Beware to mask a backslash '\\' by another one,
|
131
|
-
like in the example. A capture-group '()' serves to extract the name from the
|
132
|
-
match result.
|
133
|
-
|
134
|
-
Leave this field empty to keep the default from the FLNews configuration
|
135
|
-
intact.
|
106
|
+
A regular expression that matches the name of the previous poster in a quoted post. This
|
107
|
+
string is recognized in the original article and used with the matching element from
|
108
|
+
*GROUP_INTRO*.
|
136
109
|
|
137
|
-
|
110
|
+
Leave this field empty to retain the default value from the FLNews configuration.
|
138
111
|
|
139
|
-
|
112
|
+
CONTENT: A string representing a regular expression.
|
140
113
|
|
141
|
-
|
114
|
+
DEFAULT: EMPTY
|
142
115
|
|
143
|
-
|
116
|
+
EXAMPLE1: "On \\\\d+.\\\\d+.\\\\d{2,4} at \\\\d+:\\\\d+ **(.*)** wrote:"
|
144
117
|
|
118
|
+
EXAMPLE2: "**(.*)** wrote:"
|
145
119
|
|
146
120
|
**FUP_GROUP**
|
147
|
-
|
148
|
-
where the previous post, that you are referring to in the followup, had been
|
149
|
-
published.
|
121
|
+
A regular expression that matches the newsgroup where the quoted post was published.
|
150
122
|
|
151
|
-
|
123
|
+
Leave this field empty to ignore the exact group.
|
152
124
|
|
153
|
-
|
125
|
+
CONTENT: A string representing a regular expression.
|
154
126
|
|
155
|
-
|
127
|
+
DEFAULT: EMPTY
|
156
128
|
|
157
|
-
|
129
|
+
EXAMPLE: "wrote in **(.*)**:"
|
158
130
|
|
159
131
|
**GROUP_INTROS**
|
160
|
-
|
161
|
-
|
162
|
-
use these variables in the result.
|
163
|
-
Currently only %fup_name% and %fup_group% are reproduced in the resulting
|
164
|
-
introductory string.
|
132
|
+
Introductory strings referring to the previous poster in a quoted post. When the newsgroup
|
133
|
+
matches *FUP_GROUP*, these variables are used in the resulting introduction.
|
165
134
|
|
166
|
-
|
135
|
+
CONTENT: A newsgroup or regular expression per line, followed by a colon, space, and string.
|
167
136
|
|
168
|
-
|
169
|
-
|
170
|
-
EXAMPLE: alt.test: "Thus spoke %fup_name% on that baleful %fup_date%:"
|
137
|
+
DEFAULT: As configured in FLNews.
|
171
138
|
|
172
|
-
|
173
|
-
A signature line per Newsgroup or a file path. The file should contain signatures,
|
174
|
-
already formatted and separated by 1 empty line. The program will randomly pick
|
175
|
-
one signature from the list.
|
139
|
+
EXAMPLE: alt.test: "Thus spoke %fup_name% on that baleful %fup_date%:"
|
176
140
|
|
177
|
-
|
141
|
+
**GROUP_SIGS**
|
142
|
+
Signature lines for each newsgroup or a path to a file containing signatures, which should be
|
143
|
+
formatted and separated by one empty line. A random signature is picked from the file for each
|
144
|
+
newsgroup. You can also source another file within the signature file by starting a line with
|
145
|
+
". /path/to/other/file".
|
178
146
|
|
179
|
-
|
147
|
+
CONTENT: A newsgroup or regular expression per line, followed by a colon, space, and string.
|
180
148
|
|
181
|
-
|
149
|
+
DEFAULT: As configured in flnews.
|
182
150
|
|
183
|
-
|
184
|
-
|
185
|
-
EXAMPLE: comp.*: /home/[user]/.my_sigs
|
151
|
+
EXAMPLE: alt.test: "Signature for alt.test\\r\\nsecond line"
|
152
|
+
EXAMPLE: comp.*: /home/[user]/.my_sigs
|
186
153
|
|
187
154
|
**CUSTOM_HEADERS**
|
188
|
-
|
189
|
-
|
190
|
-
CONTENT: 1 line per header : a dash and space, then a String, comprising the
|
191
|
-
name of the header, ending in a colon and the value of the header.
|
155
|
+
Additional custom headers to be added to outgoing articles.
|
192
156
|
|
193
|
-
|
157
|
+
CONTENT: One line per header, starting with a dash and space, followed by the header name and value.
|
194
158
|
|
195
|
-
|
196
|
-
| - 'X-My-Header: nothing fancy'
|
197
|
-
| - 'X-Another-Header: care not!'
|
159
|
+
DEFAULT: Undefined
|
198
160
|
|
199
|
-
|
200
|
-
|
201
|
-
|
161
|
+
EXAMPLE:
|
162
|
+
- 'X-My-Header: nothing fancy'
|
163
|
+
- 'X-Another-Header: care not!'
|
202
164
|
|
203
|
-
|
165
|
+
**NO_ARCHIVE_GROUPS**
|
166
|
+
Newsgroups where the "Archive: no" and "X-No-Archive: YES" headers should be set.
|
204
167
|
|
205
|
-
|
168
|
+
CONTENT: A line with a dash and space, followed by the group name or a regular expression.
|
206
169
|
|
207
|
-
|
208
|
-
| - "alt.test"
|
209
|
-
| - "^news.*"
|
170
|
+
DEFAULT: Empty
|
210
171
|
|
172
|
+
EXAMPLE:
|
173
|
+
- "alt.test"
|
174
|
+
- "^news.*"
|
211
175
|
|
212
176
|
**DEBUG_LOG**
|
213
|
-
|
214
|
-
|
177
|
+
The name of the file where debug messages are logged. If specified, logging will be enabled.
|
178
|
+
If empty, logging is disabled.
|
215
179
|
|
216
|
-
|
217
|
-
and overwritten if need be.
|
180
|
+
CONTENT: The name of a writable file, which will be created if it doesn't exist and overwritten if necessary.
|
218
181
|
|
219
|
-
|
182
|
+
DEFAULT: Empty
|
220
183
|
|
221
|
-
|
184
|
+
EXAMPLE: '/tmp/a_log-file.txt'
|
222
185
|
|
223
186
|
**LOG LEVEL**
|
224
|
-
|
187
|
+
One of: debug, fatal, error, info, warn.
|
225
188
|
|
226
189
|
**REFERENCES_SEPARATOR**
|
227
|
-
|
228
|
-
|
229
|
-
the original message-body contains text marked for use as such a footnote.
|
230
|
-
See *REFERENCES_DELIMITER*.
|
190
|
+
A symbol or sequence marking the end of the message body and the beginning of a footnote list.
|
191
|
+
If not defined, footnotes are appended directly after the message body.
|
231
192
|
|
232
|
-
|
233
|
-
below the last line of the message body and no separator will be inserted.
|
193
|
+
CONTENT: A quoted symbol or sequence.
|
234
194
|
|
235
|
-
|
195
|
+
DEFAULT: Empty
|
236
196
|
|
237
|
-
|
238
|
-
|
239
|
-
EXAMPLE: '---------'
|
197
|
+
EXAMPLE: '---------'
|
240
198
|
|
241
199
|
**REFERENCES_DELIMITER**
|
242
|
-
|
243
|
-
|
244
|
-
mark the end of the text. The presence of this sequence or symbol in the
|
245
|
-
original message body will cause the enclosed text to be moved below the
|
246
|
-
message body. The *REFERENCES_SEPARATOR*, if defined, will separate the
|
247
|
-
message from the list of footnotes.
|
248
|
-
If this option is not defined or empty, footnotes are not created.
|
200
|
+
A sequence marking the beginning and end of text to be used as a footnote or reference. The reversed
|
201
|
+
sequence is used to mark the end.
|
249
202
|
|
250
|
-
|
203
|
+
CONTENT: A quoted symbol or sequence.
|
251
204
|
|
252
|
-
|
205
|
+
DEFAULT: None (empty)
|
253
206
|
|
254
|
-
|
207
|
+
EXAMPLE: '%?'
|
255
208
|
|
256
209
|
**REFERENCE_FORMAT**
|
257
|
-
|
258
|
-
text in the message body.
|
259
|
-
|
260
|
-
DEFAULT: " %s)" -> becomes 1) ... 2) ... 3)
|
210
|
+
A format string using `%s` for a number to replace the reference text in the body.
|
261
211
|
|
262
|
-
|
212
|
+
DEFAULT: " %s)" → becomes 1) ... 2) ... 3)
|
263
213
|
|
264
|
-
|
265
|
-
A Boolean constant. It determines if the program shall verify and possibly
|
266
|
-
try to correct URLs. Even if URLs are identified as such, only a few
|
267
|
-
manipulations are attempted :
|
268
|
-
* Angular brackets '<' and '>' are added, if missing
|
269
|
-
* Slashes are added, if they are found missing after "http(s):"
|
214
|
+
EXAMPLE: "(%s)" → becomes (1) ... (2) ... (3)
|
270
215
|
|
271
|
-
|
216
|
+
**VFY_URLS**
|
217
|
+
A boolean constant determining whether URLs should be verified and corrected if necessary.
|
218
|
+
URL manipulations include adding angular brackets ('<', '>') and slashes after "http(s):".
|
272
219
|
|
273
|
-
|
220
|
+
CONTENT: One of YES, yes, NO, no (case insensitive).
|
274
221
|
|
275
|
-
|
222
|
+
DEFAULT: yes
|
276
223
|
|
277
|
-
|
224
|
+
EXAMPLE: ... I leave this to your discretion.
|
278
225
|
|
279
226
|
**OVERRIDE_CONFIG**
|
280
|
-
|
281
|
-
options before an article is posted: GROUP_SIGS, XNAY_GROUPS, CUSTOM_HEADERS,
|
282
|
-
DEBUG_LOG and VFY_URLS. A dialog may be displayed which allows you to disable
|
283
|
-
any of these five options, so that the defaults from flnews prevail.
|
227
|
+
A boolean constant that controls whether configuration options can be overridden before posting.
|
284
228
|
|
285
|
-
|
286
|
-
Flnews will not post the article.
|
229
|
+
Set this to "no" to disable the dialog.
|
287
230
|
|
288
|
-
|
231
|
+
DEFAULT: yes
|
289
232
|
|
290
|
-
|
291
|
-
|
292
|
-
EXAMPLE: No
|
233
|
+
EXAMPLE: No
|
293
234
|
|
294
235
|
Other Information
|
295
|
-
|
236
|
+
========================
|
296
237
|
|
297
238
|
Testing
|
298
239
|
-------
|
299
|
-
|
300
|
-
verified in two ways:
|
240
|
+
You can verify the post-processor’s effect by using one of two methods:
|
301
241
|
|
302
|
-
1.
|
242
|
+
1. Pipe a saved post into the program:
|
303
243
|
|
304
244
|
**:~$ /usr/local/bin/[post-processor] < [test-article]**
|
305
245
|
|
306
|
-
This will show the
|
307
|
-
can also pipe the output into another file. This is a great way to test a
|
308
|
-
program during development or to test your own configuration of the program.
|
309
|
-
2. By posting directly into a test-newsgroup (like alt.test or similar). This
|
310
|
-
is mandatory before you really post to thematic newsgroups and when the
|
311
|
-
settings of the post-processor will affect the article.
|
246
|
+
This will show the modified article, and you can pipe it into another file for further testing.
|
312
247
|
|
248
|
+
2. Post directly to a test newsgroup (e.g., alt.test). This is essential before posting to
|
249
|
+
real newsgroups, especially when the post-processor will alter the article.
|
313
250
|
|
314
|
-
Source
|
251
|
+
Source Code
|
315
252
|
-----------
|
316
|
-
The gem
|
317
|
-
|
318
|
-
its content, you must
|
253
|
+
The gem file for the program, available via the gem utility or rubygems.org, contains all
|
254
|
+
the source code and documentation (this page included). To extract it, do the following:
|
319
255
|
|
320
|
-
1.
|
321
|
-
2.
|
322
|
-
3.
|
256
|
+
1. Extract the gem file: `tar -xf flnews_post_proc-0.1.gem`
|
257
|
+
2. Uncompress the data archive: `gunzip data.gz`
|
258
|
+
3. Extract the data archive: `tar -xf data.tar`
|
323
259
|
|
324
|
-
This
|
260
|
+
This will create the directories `bin`, `doc`, and `lib`.
|
325
261
|
|
326
262
|
License
|
327
263
|
-------
|
328
|
-
flnews_post_proc is distributed under the
|
329
|
-
|
330
|
-
directory of the gem
|
264
|
+
The flnews_post_proc is distributed under the WTFPL-2.0 or later License.
|
265
|
+
For more details, visit http://www.wtfpl.net/txt/copying/ or refer to the license file in the
|
266
|
+
documentation directory of the gem.
|
331
267
|
|
332
268
|
Author
|
333
269
|
------
|
334
|
-
|
335
|
-
|
270
|
+
flnews_post_proc has been developed by
|
271
|
+
Michael Uplawski <michael.uplawski@uplawski.eu>
|
336
272
|
|
337
273
|
Ω
|
338
274
|
==
|
275
|
+
|
data/lib/basic_logging.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#encoding: UTF-8
|
3
3
|
=begin
|
4
4
|
/***************************************************************************
|
5
|
-
* 2023-
|
5
|
+
* 2023-2025, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
6
6
|
* This program is free software; you can redistribute it and/or modify *
|
7
7
|
* it under the terms of the WTFPL 2.0 or later, see *
|
8
8
|
* http://www.wtfpl.net/about/ *
|
data/lib/body.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
=begin
|
4
4
|
/***************************************************************************
|
5
|
-
* 2023-
|
5
|
+
* 2023-2025, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
6
6
|
* This program is free software; you can redistribute it and/or modify *
|
7
7
|
* it under the terms of the WTFPL 2.0 or later, see *
|
8
8
|
* http://www.wtfpl.net/about/ *
|
@@ -15,7 +15,7 @@
|
|
15
15
|
=end
|
16
16
|
|
17
17
|
require_relative 'basic_logging'
|
18
|
-
|
18
|
+
require_relative 'configuration'
|
19
19
|
|
20
20
|
WRAP_LENGTH = 65
|
21
21
|
# Endow the String class with a wrap function.
|
data/lib/configuration.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#encoding: UTF-8
|
2
2
|
=begin
|
3
3
|
/***************************************************************************
|
4
|
-
* 2023-
|
4
|
+
* 2023-2025, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
5
5
|
* This program is free software; you can redistribute it and/or modify *
|
6
6
|
* it under the terms of the WTFPL 2.0 or later, see *
|
7
7
|
* http://www.wtfpl.net/about/ *
|
data/lib/flnews_post_proc.conf
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#/***************************************************************************
|
2
|
-
# * 2023-
|
2
|
+
# * 2023-2025, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
3
3
|
# * *
|
4
4
|
# * This program is free software; you can redistribute it and/or modify *
|
5
5
|
# * it under the terms of the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE *
|
@@ -123,7 +123,7 @@ REFERENCES_SEPARATOR: "──────────────────"
|
|
123
123
|
# REFERENCE_DELIMITER
|
124
124
|
# A symbol or sequence of symbols marking the beginning of a text which will
|
125
125
|
# serve as footnote (or reference). The reversed sequence musst be used to mark
|
126
|
-
# the end of the text. The presence of this sequence or symbol in the
|
126
|
+
# the end of the text. The presence of this sequence or symbol in the original
|
127
127
|
# message body will cause the enclosed text to be moved below the message body.
|
128
128
|
# The REFERENCES_SEPARATOR, if defined, will separate the message from the list
|
129
129
|
# of footnotes.
|
@@ -136,7 +136,7 @@ REFERENCES_DELIMITER: "%="
|
|
136
136
|
# REFERENCE_FORMAT
|
137
137
|
# A format-string, using %s for a number, replacing the reference-
|
138
138
|
# text in the message body.
|
139
|
-
# DEFAULT: " %s
|
139
|
+
# DEFAULT: " %s)" -> becomes 1) ... 2) ... 3)
|
140
140
|
# EXAMPLE: "(%s)" -> becomes (1) ... (2) ... (3)
|
141
141
|
REFERENCE_FORMAT: " ➤%s"
|
142
142
|
|
data/lib/flnews_post_proc.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#encoding: UTF-8
|
2
2
|
=begin
|
3
3
|
/***************************************************************************
|
4
|
-
* 2023-
|
4
|
+
* 2023-2025, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
5
5
|
* This program is free software; you can redistribute it and/or modify *
|
6
6
|
* it under the terms of the WTFPL 2.0 or later, see *
|
7
7
|
* http://www.wtfpl.net/about/ *
|