block-list-formats: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(Gnus score file format)
(extended section on USENET scorefiles)
Line 135: Line 135:
</nowiki></pre></blockquote>
</nowiki></pre></blockquote>


=== Gnus score file ===
=== Score file ===
 
Many USENET newsreaders including [http://gnus.org Gnus], slrn and others implement score-file functionality, which lets you provide scoring rules that end up giving a post an integer value from -9999 to 9999. Here are some examples from [User:TomMorris|Tom Morris]' score file that was generated by slrn:
<blockquote><pre><nowiki>
[*]
Score: =-9999
%Expires:
        Subject: =\?windows-1252*
%EOS
 
%BOS
%Score created by slrn on Fri Nov  7 16:24:33 2008
 
[*]
Score: =-9999
%Expires:
        Subject: CREDIT CARD SERVISES
        From: MEGAL <megal47@yahoo\.com>
        References: <43cd6752-09e2-4284-a296-b9f7eb4d1b98@a29g2000pra\.googlegroups\.com>
%      Xref: uni-berlin\.de comp\.lang\.ruby:298844 comp\.lang\.php:173405 comp\.soft-sys\.sas:281663 comp\.lang\.lisp:    261578 comp\.arch\.embedded:269623
%      Newsgroup: comp\.lang\.ruby
%EOS
 
%BOS
%Score created by slrn on Fri Nov  7 20:26:07 2008
</nowiki></pre></blockquote>
The rules have the following features:
* the first line (with the '*') is where the rule applies - the asterisk refers to it being applicable to all newsgroups
* the Expires: line allows you to specify a yyyy-mm-dd expiry date for the rule. In slrn, you can specify this in a restricted natural language syntax like "one month" (I think)
* all the headers can be marked using wildcards. If you just want to filter one conversation, the References: allows you to do so. You can also filter messages originating with particular servers (googlegroups being one that is particularly spammy) by using a filter like "References: *googlegroups*"


[http://gnus.org/ Gnus], the Emacs newsreader, supports scoring posts both positively and negatively -- as such, its [http://gnus.org/manual/gnus_234.html#SEC234 scoring functionality] is a superset of just killing. The file format is an emacs lisp expression, described in the [http://gnus.org/manual/gnus_238.html#SEC238 score file format] section of the Gnus manual.
[http://gnus.org/ Gnus], the Emacs newsreader, supports scoring posts both positively and negatively -- as such, its [http://gnus.org/manual/gnus_234.html#SEC234 scoring functionality] is a superset of just killing. The file format is an emacs lisp expression, described in the [http://gnus.org/manual/gnus_238.html#SEC238 score file format] section of the Gnus manual.
See [http://slrn.sourceforge.net/docs/slrn-FAQ-4.html slrn FAQ] and [http://en.wikipedia.org/wiki/Scorefile Scorefile on Wikipedia].


== see also ==
== see also ==

Revision as of 12:11, 15 November 2008

block list formats

Previous attempts at block list formats. Part of the effort to enable greater social network portability.

formats

rn kill file

Usenet/netnews kill files. For details of the kill file implemented by the "rn" news reading program, see the killfile faq.

Rn and trn
==========
5. What is the general syntax of a KILL file entry?
  The general style for building a kill line is:

		/pattern/modifiers:command

  The <pattern> is the pattern to use to pick articles.  This is a regular
expression, like those used in grep.  You can use any case in the pattern; 
t won't matter, unless you use a modifier to make rn case-sensitive.
  The <modifiers> tell rn where to look for the pattern - the subject
(default), one of the other header lines, or the entire article, as examples
of the usual modifiers used.
  The command tells what to do with the article once it's been selected.
This is usually either to kill it or to mark it unread.

  If no modifier appears before the colon, only the subject line of the
article is searched.  More than one command can be performed by using
the style:

		/pattern/modifier:command:command 

Thus, for instance, you can use j and = together to see the exact subject
lines being killed.  (See below for the explanation of j and =.)

6. What are the available modifiers and commands?

  The modifiers and commands are all explained in the rn man page, but here
are some of them:
	Modifiers:
	   a: all, look through the entire article for the pattern
	   h: look through the header of the article for the pattern
	   f: look at only the 'From:' header (trn 3.0)
	   c: Make the pattern case sensitive
	   H: added in trn 3.1, this expands the f: above to any header
	Commands:
	   m   mark as unread
	   j   mark as read
	   =   show subject line

...
7. How do I kill a specific subject?

  The easiest way to kill a subject line is to kill it from within the
newsgroup.  When the subject line comes up that you want to kill, instead
of using 'n' to skip that article or 'k' to kill the subject for that 
session, type 'K'.  The subject line will then be entered into your KILL
file for that group.  If you want to put that line into your global KILL
file, you'll have to do that yourself.

  To kill a general subject, ie any 'test' messages, put in the pattern:

			/test/:j

This will kill anything with the word 'test' in the subject line.

8. How do I kill postings from a specific person?

  To kill articles from a single poster, you need to know the userid and
nodename of the poster; for this example we'll use noone@anywhere.all.

		/^From:.*noone@anywhere\.all/h:j

This searches the entire header for any line starting with 'From:', anything
at all, and then 'noone@anywhere.all' in it.  This is faster than if the
beginning-of-line character (^) had been left out:

		/From:.*noone@anywhere\.all/h:j

If this were used, something like 'Subject: Re: Articles from:
noone@anywhere.all' would also get killed.

9. How do I kill articles from a specific site?

  For articles from a particular site, just remove the 'noone' from the
previous lines, and articles from the machine 'anywhere.all' will be killed.
So, the line would be:

		/^From:.*@anywhere\.all/h:j

10. How do I kill followups?

  To kill anything that is a followup to any article, use this pattern:

		/Re:/:j

This kills anything with 'Re:' in it.  (This includes articles of the form
'Subject: X (Was Re: Y)'.)

  If you just want to kill the direct followups, without the changes in
subject, you have to make it clear where the Re: is in the line:

		/^Subject: Re:/:j

trn kill file features

Again from the killfile faq.

Trn
===
15. What's different about trn?

  Trn, being a threaded version of rn, has a few extra enhancements to
deal with those.  Because rn is no longer being improved, there are also
extensions that have been made that could, but are not, be integrated into
the base rn killfiles.
  One of the additions to trn is the f modifier, meaning the From: line.
This line gets used so much it seemed appropriate to add a modifier in
specifically for it.
  So, now, killing or marking articles can be done on the basis of the
From: line quite easily, now:

		/noone@anywhere\.all/f:j
		/noone@anywhere\.all/f:m

It looks just like the Subject: line, except with the addition of the 'f'
in the modifier position.

  However, the `f' modifier *may* not work exactly in the same manner as
the subject-based criteria if trn is configured to use thread files.
Specifically, if thread files are used only the 'Real Name' portion of the
from line can be guaranteed to be matched.  To ensure that your match will
work on an address, you need to change the above lines to:

              /noone@anywhere\.all/Hfrom:j
              /noone@anywhere\.all/Hfrom:m

Score file

Many USENET newsreaders including Gnus, slrn and others implement score-file functionality, which lets you provide scoring rules that end up giving a post an integer value from -9999 to 9999. Here are some examples from [User:TomMorris|Tom Morris]' score file that was generated by slrn:

[*]
Score: =-9999
%Expires: 
        Subject: =\?windows-1252*
%EOS

%BOS
%Score created by slrn on Fri Nov  7 16:24:33 2008

[*]
Score: =-9999
%Expires: 
        Subject: CREDIT CARD SERVISES
        From: MEGAL <megal47@yahoo\.com>
        References: <43cd6752-09e2-4284-a296-b9f7eb4d1b98@a29g2000pra\.googlegroups\.com>
%       Xref: uni-berlin\.de comp\.lang\.ruby:298844 comp\.lang\.php:173405 comp\.soft-sys\.sas:281663 comp\.lang\.lisp:     261578 comp\.arch\.embedded:269623
%       Newsgroup: comp\.lang\.ruby
%EOS

%BOS
%Score created by slrn on Fri Nov  7 20:26:07 2008

The rules have the following features:

  • the first line (with the '*') is where the rule applies - the asterisk refers to it being applicable to all newsgroups
  • the Expires: line allows you to specify a yyyy-mm-dd expiry date for the rule. In slrn, you can specify this in a restricted natural language syntax like "one month" (I think)
  • all the headers can be marked using wildcards. If you just want to filter one conversation, the References: allows you to do so. You can also filter messages originating with particular servers (googlegroups being one that is particularly spammy) by using a filter like "References: *googlegroups*"

Gnus, the Emacs newsreader, supports scoring posts both positively and negatively -- as such, its scoring functionality is a superset of just killing. The file format is an emacs lisp expression, described in the score file format section of the Gnus manual.

See slrn FAQ and Scorefile on Wikipedia.

see also

references