It’s, like, too neat to search the Usenet for articles that match a string, but it, like, totally sucks, like, totally, to use one of those, like, Web browsers, and you, like, have to, rilly, like, look at the commercials, so, like, with Gnus you can do rad, rilly, searches without having to use a browser.
The nnweb
back end allows an easy interface to the mighty search
engine. You create an nnweb
group, enter a search pattern, and
then enter the group and read the articles like you would any normal
group. The G w command in the group buffer (see Foreign Groups) will do this in an easy-to-use fashion.
nnweb
groups don’t really lend themselves to being solid
groups—they have a very fleeting idea of article numbers. In fact,
each time you enter an nnweb
group (not even changing the search
pattern), you are likely to get the articles ordered in a different
manner. Not even using duplicate suppression (see Duplicate Suppression) will help, since nnweb
doesn’t even know the
Message-ID
of the articles before reading them using some search
engines (Google, for instance). The only possible way to keep track
of which articles you’ve read is by scoring on the Date
header—mark all articles posted before the last date you read the
group as read.
If the search engine changes its output substantially, nnweb
won’t be able to parse it and will fail. One could hardly fault the Web
providers if they were to do this—their raison d’ĂȘtre is to
make money off of advertisements, not to provide services to the
community. Since nnweb
washes the ads off all the articles, one
might think that the providers might be somewhat miffed. We’ll see.
Virtual server variables:
nnweb-type
¶What search engine type is being used. The currently supported types
are google
and dejanews
. Note that
dejanews
is an alias to google
.
nnweb-search
¶The search string to feed to the search engine.
nnweb-max-hits
¶Advisory maximum number of hits per search to display. The default is 999.
nnweb-type-definition
¶Type-to-definition alist. This alist says what nnweb
should do
with the various search engine types. The following elements must be
present:
article
Function to decode the article and provide something that Gnus understands.
map
Function to create an article number to message header and URL alist.
search
Function to send the search string to the search engine.
address
The address the aforementioned function should send the search string to.
id
Format string URL to fetch an article by Message-ID
.