flnews_post_proc 1.94 → 1.96.1
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 +89 -22
- 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 +55 -12
- data/doc/html/flnews_post_proc.html +83 -25
- 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 +42 -4
- data/lib/configuration.rb +1 -0
- data/lib/flnews_post_proc.conf +15 -1
- data/lib/headers.rb +74 -2
- data/lib/version.rb +2 -2
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c6fe79528710e5c6b8209e8a9120519769c334559948e5eef22f039aab4f916
|
|
4
|
+
data.tar.gz: 7404141a059c4fe1539f3ca87b76d3af42c059ee034fe48e2ae993044dc614e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2cba388576132f0315ecea90f94a03774a6d3ec1ab346993bbb0df5c8ef1b4a13bd4f3487dadad03a8de09d213065812fdb2cab733c7490a4a1fa953c7afe290
|
|
7
|
+
data.tar.gz: 6ced375105ca3cb9de1958603309d0c06e55c3068553a9444de11bcc2e1811a15276980dd84594a4e928c5fbbd08fba8b6e0ce28bf43a2f36257e5a6a331e270
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.8.0
|
|
5
5
|
"/>
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content=
|
|
8
8
|
"width=device-width, initial-scale=1" />
|
|
9
9
|
<title>Flnews_post_proc</title>
|
|
10
10
|
<style type="text/css">
|
|
@@ -125,41 +125,48 @@
|
|
|
125
125
|
</p>
|
|
126
126
|
|
|
127
127
|
<ul>
|
|
128
|
+
<li>
|
|
129
|
+
<p><a class="reference internal" href=
|
|
130
|
+
"#changement-de-l-objet-1" id=
|
|
131
|
+
"toc-entry-8">Changement de l'objet</a>
|
|
132
|
+
</p>
|
|
133
|
+
</li>
|
|
134
|
+
|
|
128
135
|
<li>
|
|
129
136
|
<p><a class="reference internal" href=
|
|
130
137
|
"#creation-des-notes-de-bas-de-page-1" id=
|
|
131
|
-
"toc-entry-
|
|
138
|
+
"toc-entry-9">Création des notes de bas de page</a>
|
|
132
139
|
</p>
|
|
133
140
|
</li>
|
|
134
141
|
|
|
135
142
|
<li>
|
|
136
143
|
<p><a class="reference internal" href=
|
|
137
144
|
"#remplacement-avec-signature" id=
|
|
138
|
-
"toc-entry-
|
|
145
|
+
"toc-entry-10">Remplacement avec signature</a>
|
|
139
146
|
</p>
|
|
140
147
|
</li>
|
|
141
148
|
|
|
142
149
|
<li>
|
|
143
150
|
<p><a class="reference internal" href="#tester" id=
|
|
144
|
-
"toc-entry-
|
|
151
|
+
"toc-entry-11">Tester</a>
|
|
145
152
|
</p>
|
|
146
153
|
</li>
|
|
147
154
|
|
|
148
155
|
<li>
|
|
149
156
|
<p><a class="reference internal" href="#code-source"
|
|
150
|
-
id="toc-entry-
|
|
157
|
+
id="toc-entry-12">Code source</a>
|
|
151
158
|
</p>
|
|
152
159
|
</li>
|
|
153
160
|
|
|
154
161
|
<li>
|
|
155
162
|
<p><a class="reference internal" href="#license" id=
|
|
156
|
-
"toc-entry-
|
|
163
|
+
"toc-entry-13">License</a>
|
|
157
164
|
</p>
|
|
158
165
|
</li>
|
|
159
166
|
|
|
160
167
|
<li>
|
|
161
168
|
<p><a class="reference internal" href="#auteur" id=
|
|
162
|
-
"toc-entry-
|
|
169
|
+
"toc-entry-14">Auteur</a>
|
|
163
170
|
</p>
|
|
164
171
|
</li>
|
|
165
172
|
</ul>
|
|
@@ -312,7 +319,7 @@
|
|
|
312
319
|
page, qui décrit l'objet plus précisément=% » (voir
|
|
313
320
|
plus bas : <a class="reference internal" href=
|
|
314
321
|
"#creation-des-notes-de-bas-de-page">Création des notes
|
|
315
|
-
de bas de page</a
|
|
322
|
+
de bas de page</a>)</p>
|
|
316
323
|
</li>
|
|
317
324
|
</ul>
|
|
318
325
|
</section>
|
|
@@ -600,7 +607,7 @@ alt.fr.test: /home/[utilisateur]/.signatures</pre>
|
|
|
600
607
|
|
|
601
608
|
<p>PAR DÉFAUT : Vide</p>
|
|
602
609
|
|
|
603
|
-
<p>EXEMPLE :
|
|
610
|
+
<p>EXEMPLE : "---------"</p>
|
|
604
611
|
</blockquote>
|
|
605
612
|
|
|
606
613
|
<p><strong>REFERENCES_DELIMITER</strong>
|
|
@@ -626,7 +633,7 @@ alt.fr.test: /home/[utilisateur]/.signatures</pre>
|
|
|
626
633
|
|
|
627
634
|
<p>PAR DÉFAUT : Vide</p>
|
|
628
635
|
|
|
629
|
-
<p>EXEMPLE:
|
|
636
|
+
<p>EXEMPLE: "%?"</p>
|
|
630
637
|
</blockquote>
|
|
631
638
|
|
|
632
639
|
<p id="reference-format"><strong>REFERENCE_FORMAT</strong>
|
|
@@ -700,27 +707,87 @@ alt.fr.test: /home/[utilisateur]/.signatures</pre>
|
|
|
700
707
|
|
|
701
708
|
<p>EXEMPLE: No</p>
|
|
702
709
|
</blockquote>
|
|
710
|
+
|
|
711
|
+
<dl>
|
|
712
|
+
<dt><strong>USE_OLD</strong>
|
|
713
|
+
</dt>
|
|
714
|
+
|
|
715
|
+
<dd>
|
|
716
|
+
<p>Une constante booléenne.
|
|
717
|
+
<strong>flnews_post_proc</strong> s'occupe de
|
|
718
|
+
raccourcir l'objet d'un message si vous notez la valeur
|
|
719
|
+
'true' ou 'yes'. Lisez <a class="reference internal"
|
|
720
|
+
href="#changement-de-l-objet">Changement de l'objet</a>
|
|
721
|
+
ci-dessous pour comprendre les details.</p>
|
|
722
|
+
|
|
723
|
+
<p>Ne changez pas cette variable ou notez la valeur
|
|
724
|
+
'false' afin d'ignorer les changements de l'objet.</p>
|
|
725
|
+
|
|
726
|
+
<p>PAR DEFAUT: false</p>
|
|
727
|
+
|
|
728
|
+
<p>EXEMPLE: yes</p>
|
|
729
|
+
</dd>
|
|
730
|
+
</dl>
|
|
703
731
|
</section>
|
|
704
732
|
</section>
|
|
705
733
|
|
|
706
734
|
<section id="autres-informations">
|
|
707
735
|
<h2>Autres Informations</h2>
|
|
708
736
|
|
|
737
|
+
<section id="changement-de-l-objet-1">
|
|
738
|
+
<span id="changement-de-l-objet"></span>
|
|
739
|
+
<h3>Changement de l'objet</h3>
|
|
740
|
+
|
|
741
|
+
<p><strong>flnews_post_proc</strong> peut gérer les
|
|
742
|
+
changements de l'objet (<em>subject:</em>), si l'option de
|
|
743
|
+
configuration <strong>USE_OLD</strong> est
|
|
744
|
+
<strong>true</strong>. En ce cas, des préfixes
|
|
745
|
+
supplémentaires sont honorés (flnews s'occupe d'office de
|
|
746
|
+
<em>"Was:"</em>). Les préfixes supplémentaires sont le
|
|
747
|
+
"<em>War:</em>" allemand et le "<em>Était:</em>" français,
|
|
748
|
+
les deux sans distinction de majuscules et minuscules. Le
|
|
749
|
+
préfixe français est valide aussi sans accent et avec un
|
|
750
|
+
espace avant les deux-points.</p>
|
|
751
|
+
|
|
752
|
+
<p>Quand vous répondez à un article avec <em>Subject: Mon
|
|
753
|
+
objet (Was: vieux objet)</em>
|
|
754
|
+
<strong>flnews_post_proc</strong> supprime la partie en
|
|
755
|
+
parenthèses, aussi (War: vieux objet) et (etait: vieux
|
|
756
|
+
objet).</p>
|
|
757
|
+
|
|
758
|
+
<p>Ceci nécessite que <strong>pour vos propres changements
|
|
759
|
+
de l'objet vous ne devez pas vous servir d'un de ces
|
|
760
|
+
préfixes</strong>. Écrivez plutôt <em>(Old: ...)</em> comme
|
|
761
|
+
dans <em>Subject: Mon objet (Old: objet précédent)</em></p>
|
|
762
|
+
|
|
763
|
+
<p><strong>flnews_post_proc</strong> remplace Old: avec
|
|
764
|
+
Was: dans l'article publié.</p>
|
|
765
|
+
|
|
766
|
+
<p>Ne changez pas la valeur de l'option USE_OLD ou entrez
|
|
767
|
+
la valeur <strong>false</strong> afin d'ignorer les
|
|
768
|
+
changements de l'objet.</p>
|
|
769
|
+
|
|
770
|
+
<p><strong>NOTEZ</strong> que Flnews peut continuer de
|
|
771
|
+
supprimer la partie d'un objet qui commence avec
|
|
772
|
+
<em>(Was:</em>.</p>
|
|
773
|
+
</section>
|
|
774
|
+
|
|
709
775
|
<section id="creation-des-notes-de-bas-de-page-1">
|
|
710
776
|
<span id="creation-des-notes-de-bas-de-page"></span>
|
|
711
777
|
<h3>Création des notes de bas de page</h3>
|
|
712
778
|
|
|
713
|
-
<p>Il peut être tentant d'
|
|
714
|
-
de page (ou les références URL)
|
|
715
|
-
rédaction d'un article, mais cela
|
|
716
|
-
mise en forme
|
|
717
|
-
longueur des lignes après le
|
|
718
|
-
notes de bas de page à la fin.
|
|
719
|
-
dans son intégralité, puis
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
de
|
|
723
|
-
|
|
779
|
+
<p>Il peut être tentant d'insérer le texte des notes de bas
|
|
780
|
+
de page (ou les références URL) directement dans le corps
|
|
781
|
+
du texte lors de la rédaction d'un article, mais cela
|
|
782
|
+
risque de perturber la mise en forme des lignes. Il est en
|
|
783
|
+
effet difficile de prévoir la longueur des lignes après le
|
|
784
|
+
déplacement automatique des notes de bas de page à la fin.
|
|
785
|
+
Écrivez plutôt votre article dans son intégralité, puis
|
|
786
|
+
ajoutez les notes de bas de page juste avant la
|
|
787
|
+
publication. Vous pourrez ainsi anticiper l'apparence
|
|
788
|
+
finale de l'article une fois que les marqueurs de notes de
|
|
789
|
+
bas de page auront remplacé le texte intégré (voir
|
|
790
|
+
<a class="reference internal" href=
|
|
724
791
|
"#reference-format">REFERENCE_FORMAT</a>, ci-dessus).</p>
|
|
725
792
|
</section>
|
|
726
793
|
|
|
Binary file
|
|
Binary file
|
|
@@ -107,7 +107,7 @@ des raisons parfois arbitraires :
|
|
|
107
107
|
Exemple (avec séparateur **%=** ) :
|
|
108
108
|
« Ceci est un objet %=et ceci devient la note en bas de page, qui décrit
|
|
109
109
|
l'objet plus précisément=% » (voir plus bas : `Création des notes de bas
|
|
110
|
-
de page`_
|
|
110
|
+
de page`_)
|
|
111
111
|
|
|
112
112
|
Dialogue pour désactiver des options
|
|
113
113
|
---------------------------------------
|
|
@@ -315,7 +315,7 @@ Options de configuration
|
|
|
315
315
|
|
|
316
316
|
PAR DÉFAUT : Vide
|
|
317
317
|
|
|
318
|
-
EXEMPLE :
|
|
318
|
+
EXEMPLE : "---------"
|
|
319
319
|
|
|
320
320
|
**REFERENCES_DELIMITER**
|
|
321
321
|
|
|
@@ -333,7 +333,7 @@ Options de configuration
|
|
|
333
333
|
|
|
334
334
|
PAR DÉFAUT : Vide
|
|
335
335
|
|
|
336
|
-
EXEMPLE:
|
|
336
|
+
EXEMPLE: "%?"
|
|
337
337
|
|
|
338
338
|
.. _REFERENCE_FORMAT:
|
|
339
339
|
|
|
@@ -387,22 +387,65 @@ Options de configuration
|
|
|
387
387
|
|
|
388
388
|
EXEMPLE: No
|
|
389
389
|
|
|
390
|
+
**USE_OLD**
|
|
391
|
+
Une constante booléenne. |program| s'occupe de raccourcir l'objet d'un
|
|
392
|
+
message si vous notez la valeur 'true' ou 'yes'.
|
|
393
|
+
Lisez `Changement de l'objet`_ ci-dessous pour comprendre les details.
|
|
394
|
+
|
|
395
|
+
Ne changez pas cette variable ou notez la valeur 'false' afin d'ignorer
|
|
396
|
+
les changements de l'objet.
|
|
397
|
+
|
|
398
|
+
PAR DEFAUT: false
|
|
399
|
+
|
|
400
|
+
EXEMPLE: yes
|
|
401
|
+
|
|
402
|
+
|
|
390
403
|
Autres Informations
|
|
391
404
|
===================
|
|
392
405
|
|
|
406
|
+
.. _Changement de l'objet:
|
|
407
|
+
|
|
408
|
+
Changement de l'objet
|
|
409
|
+
---------------------
|
|
410
|
+
|
|
411
|
+
|program| peut gérer les changements de l'objet (*subject:*), si l'option
|
|
412
|
+
de configuration **USE_OLD** est **true**. En ce cas, des préfixes supplémentaires
|
|
413
|
+
sont honorés (flnews s'occupe d'office de *"Was:"*). Les préfixes
|
|
414
|
+
supplémentaires sont le "*War:*" allemand et le "*Était:*" français, les deux
|
|
415
|
+
sans distinction de majuscules et minuscules. Le préfixe français est valide
|
|
416
|
+
aussi sans accent et avec un espace avant les deux-points.
|
|
417
|
+
|
|
418
|
+
Quand vous répondez à un article avec
|
|
419
|
+
*Subject: Mon objet (Was: vieux objet)*
|
|
420
|
+
|program| supprime la partie en parenthèses, aussi (War: vieux objet) et
|
|
421
|
+
(etait: vieux objet).
|
|
422
|
+
|
|
423
|
+
Ceci nécessite que **pour vos propres changements de l'objet vous ne devez pas
|
|
424
|
+
vous servir d'un de ces préfixes**. Écrivez plutôt *(Old: ...)* comme dans
|
|
425
|
+
*Subject: Mon objet (Old: objet précédent)*
|
|
426
|
+
|
|
427
|
+
|program| remplace Old: avec Was: dans l'article publié.
|
|
428
|
+
|
|
429
|
+
Ne changez pas la valeur de l'option USE_OLD ou entrez la valeur **false** afin
|
|
430
|
+
d'ignorer les changements de l'objet.
|
|
431
|
+
|
|
432
|
+
**NOTEZ** que Flnews peut continuer de supprimer la partie d'un objet
|
|
433
|
+
qui commence avec *(Was:*.
|
|
434
|
+
|
|
393
435
|
.. _Création des notes de bas de page:
|
|
394
436
|
|
|
395
437
|
Création des notes de bas de page
|
|
396
438
|
-------------------------------------
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
la
|
|
402
|
-
|
|
403
|
-
bas de page juste avant la
|
|
404
|
-
l'apparence finale de l'article une
|
|
405
|
-
page auront remplacé le texte intégré
|
|
439
|
+
|
|
440
|
+
Il peut être tentant d'insérer le texte des notes de bas de page (ou les
|
|
441
|
+
références URL) directement dans le corps du texte lors de la rédaction d'un
|
|
442
|
+
article, mais cela risque de perturber la mise en forme des lignes. Il est en
|
|
443
|
+
effet difficile de prévoir la longueur des lignes après le déplacement
|
|
444
|
+
automatique des notes de bas de page à la fin. Écrivez plutôt votre article
|
|
445
|
+
dans son intégralité, puis ajoutez les notes de bas de page juste avant la
|
|
446
|
+
publication. Vous pourrez ainsi anticiper l'apparence finale de l'article une
|
|
447
|
+
fois que les marqueurs de notes de bas de page auront remplacé le texte intégré
|
|
448
|
+
(voir REFERENCE_FORMAT_, ci-dessus).
|
|
406
449
|
|
|
407
450
|
Remplacement avec signature
|
|
408
451
|
---------------------------
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.8.0
|
|
5
5
|
"/>
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content=
|
|
8
8
|
"width=device-width, initial-scale=1" />
|
|
9
9
|
<title>Flnews_post_proc</title>
|
|
10
10
|
<style type="text/css">
|
|
@@ -126,7 +126,14 @@
|
|
|
126
126
|
<ul>
|
|
127
127
|
<li>
|
|
128
128
|
<p><a class="reference internal" href=
|
|
129
|
-
"#
|
|
129
|
+
"#subject-changes-1" id="toc-entry-8">Subject
|
|
130
|
+
changes:</a>
|
|
131
|
+
</p>
|
|
132
|
+
</li>
|
|
133
|
+
|
|
134
|
+
<li>
|
|
135
|
+
<p><a class="reference internal" href=
|
|
136
|
+
"#editing-footnotes-1" id="toc-entry-9">Editing
|
|
130
137
|
footnotes</a>
|
|
131
138
|
</p>
|
|
132
139
|
</li>
|
|
@@ -134,31 +141,31 @@
|
|
|
134
141
|
<li>
|
|
135
142
|
<p><a class="reference internal" href=
|
|
136
143
|
"#signatures-in-supersedes-1" id=
|
|
137
|
-
"toc-entry-
|
|
144
|
+
"toc-entry-10">Signatures in Supersedes</a>
|
|
138
145
|
</p>
|
|
139
146
|
</li>
|
|
140
147
|
|
|
141
148
|
<li>
|
|
142
149
|
<p><a class="reference internal" href="#testing-1"
|
|
143
|
-
id="toc-entry-
|
|
150
|
+
id="toc-entry-11">Testing</a>
|
|
144
151
|
</p>
|
|
145
152
|
</li>
|
|
146
153
|
|
|
147
154
|
<li>
|
|
148
155
|
<p><a class="reference internal" href=
|
|
149
|
-
"#source-code-1" id="toc-entry-
|
|
156
|
+
"#source-code-1" id="toc-entry-12">Source Code</a>
|
|
150
157
|
</p>
|
|
151
158
|
</li>
|
|
152
159
|
|
|
153
160
|
<li>
|
|
154
161
|
<p><a class="reference internal" href="#license-1"
|
|
155
|
-
id="toc-entry-
|
|
162
|
+
id="toc-entry-13">License</a>
|
|
156
163
|
</p>
|
|
157
164
|
</li>
|
|
158
165
|
|
|
159
166
|
<li>
|
|
160
167
|
<p><a class="reference internal" href="#author-1" id=
|
|
161
|
-
"toc-entry-
|
|
168
|
+
"toc-entry-14">Author</a>
|
|
162
169
|
</p>
|
|
163
170
|
</li>
|
|
164
171
|
</ul>
|
|
@@ -491,7 +498,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
491
498
|
|
|
492
499
|
<p>DEFAULT: Empty</p>
|
|
493
500
|
|
|
494
|
-
<p>EXAMPLE:
|
|
501
|
+
<p>EXAMPLE: "/tmp/a_log-file.txt"</p>
|
|
495
502
|
</blockquote>
|
|
496
503
|
|
|
497
504
|
<p><strong>LOG LEVEL</strong>
|
|
@@ -514,7 +521,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
514
521
|
|
|
515
522
|
<p>DEFAULT: Empty</p>
|
|
516
523
|
|
|
517
|
-
<p>EXAMPLE:
|
|
524
|
+
<p>EXAMPLE: "---------"</p>
|
|
518
525
|
</blockquote>
|
|
519
526
|
|
|
520
527
|
<p><strong>REFERENCES_DELIMITER</strong>
|
|
@@ -529,7 +536,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
529
536
|
|
|
530
537
|
<p>DEFAULT: None (empty)</p>
|
|
531
538
|
|
|
532
|
-
<p>EXAMPLE:
|
|
539
|
+
<p>EXAMPLE: "%?"</p>
|
|
533
540
|
</blockquote>
|
|
534
541
|
|
|
535
542
|
<p id="reference-format"><strong>REFERENCE_FORMAT</strong>
|
|
@@ -574,6 +581,26 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
574
581
|
|
|
575
582
|
<p>EXAMPLE: No</p>
|
|
576
583
|
</blockquote>
|
|
584
|
+
|
|
585
|
+
<dl>
|
|
586
|
+
<dt><strong>USE_OLD</strong>
|
|
587
|
+
</dt>
|
|
588
|
+
|
|
589
|
+
<dd>
|
|
590
|
+
<p>A boolean constant that controls whether
|
|
591
|
+
<strong>flnews_post_proc</strong> handles subject
|
|
592
|
+
changes. See <a class="reference internal" href=
|
|
593
|
+
"#subject-changes">Subject changes</a> for the
|
|
594
|
+
details.</p>
|
|
595
|
+
|
|
596
|
+
<p>Set to "false" or leave empty to ignore subject
|
|
597
|
+
changes.</p>
|
|
598
|
+
|
|
599
|
+
<p>DEFAULT: false</p>
|
|
600
|
+
|
|
601
|
+
<p>EXAMPLE: yes</p>
|
|
602
|
+
</dd>
|
|
603
|
+
</dl>
|
|
577
604
|
</section>
|
|
578
605
|
</section>
|
|
579
606
|
|
|
@@ -581,23 +608,54 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
581
608
|
<span id="other-information"></span>
|
|
582
609
|
<h2>Other Information</h2>
|
|
583
610
|
|
|
611
|
+
<section id="subject-changes-1">
|
|
612
|
+
<span id="subject-changes"></span>
|
|
613
|
+
<h3>Subject changes:</h3>
|
|
614
|
+
|
|
615
|
+
<p><strong>flnews_post_proc</strong> can handle subject
|
|
616
|
+
changes, provided the configuration option
|
|
617
|
+
<strong>USE_OLD</strong> is set to <strong>true</strong>.
|
|
618
|
+
In this case, additional prefixes are recognized (flnews
|
|
619
|
+
handles "Was:" on its own). The additional prefixes are
|
|
620
|
+
case insensitive variations of the German "<em>War:</em>"
|
|
621
|
+
and a french "<em>Était:</em>", with or without Accent. The
|
|
622
|
+
french prefix can also contain 1 space before the
|
|
623
|
+
colon.</p>
|
|
624
|
+
|
|
625
|
+
<p>When you write a follow-up to an Article with
|
|
626
|
+
<em>Subject: This topic (Was: old topic)</em>
|
|
627
|
+
<strong>flnews_post_proc</strong> will remove the part in
|
|
628
|
+
parenthesis, also (War: old topic) and (était : old
|
|
629
|
+
topic).</p>
|
|
630
|
+
|
|
631
|
+
<p>This necessitates that <strong>your own subject changes
|
|
632
|
+
must not use one of those prefixes</strong>. Instead, use
|
|
633
|
+
<em>(Old: ...)</em> like in <em>Subject: new topic (Old:
|
|
634
|
+
previous topic)</em></p>
|
|
635
|
+
|
|
636
|
+
<p><strong>flnews_post_proc</strong> will replace Old: by
|
|
637
|
+
Was: in the posted article.</p>
|
|
638
|
+
|
|
639
|
+
<p>Leave the option USE_OLD untouched or set it to
|
|
640
|
+
<strong>false</strong> to ignore subject changes.</p>
|
|
641
|
+
|
|
642
|
+
<p><strong>NOTE</strong> that Flnews may continue to remove
|
|
643
|
+
the part of the subject line that is prefixed with
|
|
644
|
+
<em>(Was:</em>.</p>
|
|
645
|
+
</section>
|
|
646
|
+
|
|
584
647
|
<section id="editing-footnotes-1">
|
|
585
648
|
<span id="editing-footnotes"></span>
|
|
586
649
|
<h3>Editing footnotes</h3>
|
|
587
650
|
|
|
588
|
-
<p>Writing footnote text (or URL
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
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=
|
|
651
|
+
<p>Writing footnote text (or URL references) inline while
|
|
652
|
+
composing an article may be tempting, but it will likely
|
|
653
|
+
break your line formatting. It's difficult to predict line
|
|
654
|
+
lengths after footnotes are automatically moved to the end.
|
|
655
|
+
Instead, write your complete article first, then add
|
|
656
|
+
footnotes just before posting. This lets you anticipate how
|
|
657
|
+
the final article will look after footnote markers replace
|
|
658
|
+
the inline text (see <a class="reference internal" href=
|
|
601
659
|
"#reference-format">REFERENCE_FORMAT</a>, above).</p>
|
|
602
660
|
</section>
|
|
603
661
|
|
|
@@ -625,7 +683,7 @@ comp.*: /home/[user]/.my_sigs</pre>
|
|
|
625
683
|
|
|
626
684
|
<li>
|
|
627
685
|
<p>Edit the article text as needed. The signature will
|
|
628
|
-
be included in
|
|
686
|
+
be included in te editable text (normally, flnews
|
|
629
687
|
strips signatures before opening the editor).</p>
|
|
630
688
|
</li>
|
|
631
689
|
|
|
Binary file
|
|
Binary file
|
|
@@ -243,7 +243,7 @@ Configuration Options
|
|
|
243
243
|
|
|
244
244
|
DEFAULT: Empty
|
|
245
245
|
|
|
246
|
-
EXAMPLE:
|
|
246
|
+
EXAMPLE: "/tmp/a_log-file.txt"
|
|
247
247
|
|
|
248
248
|
**LOG LEVEL**
|
|
249
249
|
|
|
@@ -259,7 +259,7 @@ Configuration Options
|
|
|
259
259
|
|
|
260
260
|
DEFAULT: Empty
|
|
261
261
|
|
|
262
|
-
EXAMPLE:
|
|
262
|
+
EXAMPLE: "---------"
|
|
263
263
|
|
|
264
264
|
**REFERENCES_DELIMITER**
|
|
265
265
|
|
|
@@ -270,7 +270,7 @@ Configuration Options
|
|
|
270
270
|
|
|
271
271
|
DEFAULT: None (empty)
|
|
272
272
|
|
|
273
|
-
EXAMPLE:
|
|
273
|
+
EXAMPLE: "%?"
|
|
274
274
|
|
|
275
275
|
.. _REFERENCE_FORMAT:
|
|
276
276
|
|
|
@@ -308,11 +308,49 @@ Configuration Options
|
|
|
308
308
|
|
|
309
309
|
EXAMPLE: No
|
|
310
310
|
|
|
311
|
+
**USE_OLD**
|
|
312
|
+
A boolean constant that controls whether |program| handles subject changes.
|
|
313
|
+
See `Subject changes`_ for the details.
|
|
314
|
+
|
|
315
|
+
Set to "false" or leave empty to ignore subject changes.
|
|
316
|
+
|
|
317
|
+
DEFAULT: false
|
|
318
|
+
|
|
319
|
+
EXAMPLE: yes
|
|
320
|
+
|
|
311
321
|
.. _Other Information:
|
|
312
322
|
|
|
313
323
|
Other Information
|
|
314
324
|
========================
|
|
315
325
|
|
|
326
|
+
.. _Subject changes:
|
|
327
|
+
|
|
328
|
+
Subject changes:
|
|
329
|
+
----------------
|
|
330
|
+
|
|
331
|
+
|program| can handle subject changes, provided the configuration option **USE_OLD**
|
|
332
|
+
is set to **true**. In this case, additional prefixes are recognized (flnews
|
|
333
|
+
handles "Was:" on its own). The additional prefixes are case insensitive
|
|
334
|
+
variations of the German "*War:*" and a french "*Était:*", with or without
|
|
335
|
+
Accent. The french prefix can also contain 1 space before the colon.
|
|
336
|
+
|
|
337
|
+
When you write a follow-up to an Article with
|
|
338
|
+
*Subject: This topic (Was: old topic)*
|
|
339
|
+
|program| will remove the part in parenthesis, also (War: old topic) and
|
|
340
|
+
(était : old topic).
|
|
341
|
+
|
|
342
|
+
This necessitates that **your own subject changes must not use one of those
|
|
343
|
+
prefixes**. Instead, use *(Old: ...)* like in
|
|
344
|
+
*Subject: new topic (Old: previous topic)*
|
|
345
|
+
|
|
346
|
+
|program| will replace Old: by Was: in the posted article.
|
|
347
|
+
|
|
348
|
+
Leave the option USE_OLD untouched or set it to **false** to ignore subject
|
|
349
|
+
changes.
|
|
350
|
+
|
|
351
|
+
**NOTE** that Flnews may continue to remove the part of the subject line that
|
|
352
|
+
is prefixed with *(Was:*.
|
|
353
|
+
|
|
316
354
|
.. _EDITING FOOTNOTES:
|
|
317
355
|
|
|
318
356
|
Editing footnotes
|
|
@@ -339,7 +377,7 @@ To retain the signature from the original post:
|
|
|
339
377
|
|
|
340
378
|
2. From the Article menu, select **Supersede**.
|
|
341
379
|
|
|
342
|
-
3. Edit the article text as needed. The signature will be included in
|
|
380
|
+
3. Edit the article text as needed. The signature will be included in te
|
|
343
381
|
editable text (normally, flnews strips signatures before opening the editor).
|
|
344
382
|
|
|
345
383
|
4. Send the article.
|
data/lib/configuration.rb
CHANGED
|
@@ -78,6 +78,7 @@ class Configuration
|
|
|
78
78
|
def update_config(i_config)
|
|
79
79
|
if @conf
|
|
80
80
|
conf_version = @conf[:CONFIG_VERSION]
|
|
81
|
+
debug 'conf_version is ' << conf_version.to_s
|
|
81
82
|
if !conf_version || conf_version < PROGVERSION.to_f
|
|
82
83
|
info "configuration has an older version number, looking for changes"
|
|
83
84
|
i_conf = YAML::load_file(i_config)
|
data/lib/flnews_post_proc.conf
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# the process, if they are still valid.
|
|
18
18
|
# ATTN! COMMENTS WILL BE REMOVED but a copy of your previous configuration
|
|
19
19
|
# will be saved in a file with a version suffix.
|
|
20
|
-
CONFIG_VERSION: 1.
|
|
20
|
+
CONFIG_VERSION: 1.95
|
|
21
21
|
|
|
22
22
|
# FUP_NAME
|
|
23
23
|
# A Regular Expression, describing the string which contains the name of
|
|
@@ -169,5 +169,19 @@ VFY_URLS: No
|
|
|
169
169
|
# DEFAULT: yes
|
|
170
170
|
OVERRIDE_CONFIG: YES
|
|
171
171
|
|
|
172
|
+
# USE_OLD
|
|
173
|
+
# A Boolean constant. The post processor can handle subject changes in the way, that
|
|
174
|
+
# old subjects which are preceded by variations of the string '(Was:' are automatically
|
|
175
|
+
# removed from the header. This imposes, that our own subject changes must be ignored!
|
|
176
|
+
# This behavior is activated here and necessitates that our own subject changes
|
|
177
|
+
# are indicated with a prefix "(Old:". It will be replaced by "(Was:" in the
|
|
178
|
+
# posted article.
|
|
179
|
+
#
|
|
180
|
+
# Set this option to true, when you want to use the prefix
|
|
181
|
+
# "(Old:", or to false, no, NO or similar if you do not want subject changes
|
|
182
|
+
# handled by the program.
|
|
183
|
+
# DEFAULT: No
|
|
184
|
+
USE_OLD: false
|
|
185
|
+
|
|
172
186
|
# EOF
|
|
173
187
|
|
data/lib/headers.rb
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
***************************************************************************/
|
|
14
14
|
=end
|
|
15
15
|
|
|
16
|
+
require 'rfc_2047'
|
|
16
17
|
require_relative 'basic_logging'
|
|
17
18
|
require_relative 'configuration'
|
|
18
19
|
require_relative 'newsgroups'
|
|
@@ -81,10 +82,9 @@ class Headers
|
|
|
81
82
|
headers[cur_header] = val
|
|
82
83
|
end
|
|
83
84
|
end
|
|
84
|
-
|
|
85
|
+
|
|
85
86
|
return headers
|
|
86
87
|
end
|
|
87
|
-
|
|
88
88
|
def self::supersedes?(article_text)
|
|
89
89
|
headers(article_text).keys.include?(:Supersedes)
|
|
90
90
|
end
|
|
@@ -124,6 +124,10 @@ class Headers
|
|
|
124
124
|
@headers["X-No-Archive".to_sym] = no_archive
|
|
125
125
|
@headers["Archive".to_sym] = 'no'
|
|
126
126
|
end
|
|
127
|
+
# ------->
|
|
128
|
+
# check for altered Subject and impose the newer value
|
|
129
|
+
alterSubject()
|
|
130
|
+
# <----
|
|
127
131
|
if @config.CUSTOM_HEADERS
|
|
128
132
|
ch = @config.CUSTOM_HEADERS
|
|
129
133
|
debug('setting custom headers : ' << ch.inspect)
|
|
@@ -173,6 +177,74 @@ class Headers
|
|
|
173
177
|
|
|
174
178
|
attr_reader :lines, :newsgroups
|
|
175
179
|
|
|
180
|
+
private
|
|
181
|
+
|
|
182
|
+
# Check for was, war, était and clip the old subject header.
|
|
183
|
+
# Currently UNUSED
|
|
184
|
+
def alterSubject
|
|
185
|
+
if @config.USE_OLD
|
|
186
|
+
refs = @headers[:References]
|
|
187
|
+
# only if older articles exist in the thread
|
|
188
|
+
if refs && !refs.empty?
|
|
189
|
+
hv = @headers[:Subject]
|
|
190
|
+
if hv
|
|
191
|
+
debug 'checking for altered Subject'
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
# Our own very first article with an altered subject line, uses:
|
|
195
|
+
# (old:
|
|
196
|
+
# because this is what we do.
|
|
197
|
+
|
|
198
|
+
old = /\(Old:/i
|
|
199
|
+
if hv.match(old)
|
|
200
|
+
debug "\tfound old"
|
|
201
|
+
if hv.split(old).length == 2
|
|
202
|
+
@headers[:Subject]= hv.sub(old, '(Was:')
|
|
203
|
+
debug 'Subject is now: ' << @headers[:Subject]
|
|
204
|
+
return
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
# Handle previous subject changes.
|
|
208
|
+
# Create some regexps
|
|
209
|
+
olds = Array.new
|
|
210
|
+
olds << /\s*\(was:.*/i
|
|
211
|
+
olds << /\s*\(war:.*/i
|
|
212
|
+
olds << /\s*\(était\s?:.*/i
|
|
213
|
+
olds << /\s*\(etait\s?:.*/i
|
|
214
|
+
|
|
215
|
+
#decode subject from header value
|
|
216
|
+
subj = Rfc2047.decode(hv)
|
|
217
|
+
debug 'subject encoding: ' << hv.encoding.to_s
|
|
218
|
+
debug 'decoded subject: ' << subj
|
|
219
|
+
# check for each of those regexps
|
|
220
|
+
olds.each do |old|
|
|
221
|
+
m = subj.match(old)
|
|
222
|
+
debug "matches prefix #{old}?" << (m ? m.to_s : ' NO!')
|
|
223
|
+
# works too, but contains empty strings, if not
|
|
224
|
+
# parts = subj.partition(old) if m
|
|
225
|
+
# simpler:
|
|
226
|
+
parts = subj.split(old) if m
|
|
227
|
+
debug 'partitioned subject ' << parts.inspect
|
|
228
|
+
if parts
|
|
229
|
+
# ---> do not understand why this is needed:
|
|
230
|
+
new_subject = parts[0].strip('(')
|
|
231
|
+
# <--- but it is
|
|
232
|
+
# encode if you must.
|
|
233
|
+
new_subject = new_subject.split.each{|w| (w.ascii_only? ? w : Rfc2047.encode(w, encoding: :Q)) }.join(' ')
|
|
234
|
+
# encode everything.
|
|
235
|
+
#new_subject = new_subject.ascii_only? ? new_subject : Rfc2047.encode(new_subject, encoding: :Q)
|
|
236
|
+
# probably unneeded
|
|
237
|
+
@headers[:Subject] = new_subject.force_encoding('UTF-8')
|
|
238
|
+
debug 'subject is now: ' << @headers[:Subject]
|
|
239
|
+
return
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
else
|
|
245
|
+
info('subject changes are ignored')
|
|
246
|
+
end
|
|
247
|
+
end
|
|
176
248
|
end
|
|
177
249
|
# EOF
|
|
178
250
|
|
data/lib/version.rb
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
=end
|
|
15
15
|
|
|
16
16
|
PROGNAME = 'flnews_post_proc'
|
|
17
|
-
PROGVERSION = "1.
|
|
17
|
+
PROGVERSION = "1.96.1"
|
|
18
18
|
AUTHORS = "Michael Uplawski"
|
|
19
19
|
EMAIL = "michael.uplawski@uplawski.eu"
|
|
20
20
|
YEARS = "2023 - 2026"
|
|
21
|
-
SUMMARY = "
|
|
21
|
+
SUMMARY = "Custom headers work again. Altered subjects are truncated, even when the french prefix 'était' is used."
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: flnews_post_proc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.96.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Uplawski
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-04-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: diffy
|
|
@@ -101,7 +101,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '0'
|
|
103
103
|
requirements: []
|
|
104
|
-
rubygems_version: 4.0.
|
|
104
|
+
rubygems_version: 4.0.8
|
|
105
105
|
specification_version: 4
|
|
106
|
-
summary:
|
|
106
|
+
summary: Custom headers work again. Altered subjects are truncated, even when the
|
|
107
|
+
french prefix 'était' is used.
|
|
107
108
|
test_files: []
|