The articles are displayed in the article buffer, of which there is only one. All the summary buffers share the same article buffer unless you tell Gnus otherwise.
The top section of each article is the head. (The rest is the body, but you may have guessed that already.)
There is a lot of useful information in the head: the name of the person
who wrote the article, the date it was written and the subject of the
article. That's well and nice, but there's also lots of information
most people do not want to see--what systems the article has passed
through before reaching you, the Message-ID
, the
References
, etc. ad nauseum--and you'll probably want to get rid
of some of those lines. If you want to keep all those lines in the
article buffer, you can set gnus-show-all-headers
to t
.
Gnus provides you with two variables for sifting headers:
gnus-visible-headers
nil
, it should be a regular expression
that says what headers you wish to keep in the article buffer. All
headers that do not match this variable will be hidden.
For instance, if you only want to see the name of the person who wrote
the article and the subject, you'd say:
(setq gnus-visible-headers "^From:\\|^Subject:")This variable can also be a list of regexps to match headers that are to remain visible.
gnus-ignored-headers
gnus-visible-headers
. If this
variable is set (and gnus-visible-headers
is nil
), it
should be a regular expression that matches all lines that you want to
hide. All lines that do not match this variable will remain visible.
For instance, if you just want to get rid of the References
line
and the Xref
line, you might say:
(setq gnus-ignored-headers "^References:\\|^Xref:")This variable can also be a list of regexps to match headers that are to be removed. Note that if
gnus-visible-headers
is non-nil
, this
variable will have no effect.
Gnus can also sort the headers for you. (It does this by default.) You
can control the sorting by setting the gnus-sorted-header-list
variable. It is a list of regular expressions that says in what order
the headers are to be displayed.
For instance, if you want the name of the author of the article first, and then the subject, you might say something like:
(setq gnus-sorted-header-list '("^From:" "^Subject:"))
Any headers that are to remain visible, but are not listed in this variable, will be displayed in random order after all the headers that are listed in this variable.
You can hide further boring headers by entering
gnus-article-hide-boring-headers
into
gnus-article-display-hook
. What this function does depends on
the gnus-boring-article-headers
variable. It's a list, but this
list doesn't actually contain header names. Instead is lists various
boring conditions that Gnus can check and remove from sight.
These conditions are:
empty
newsgroups
Newsgroups
header if it only contains the current group
name.
followup-to
Followup-To
header if it is identical to the
Newsgroups
header.
reply-to
Reply-To
header if it lists the same address as the
From
header.
date
Date
header if the article is less than three days
old.
To include the four first elements, you could say something like;
(setq gnus-boring-article-headers '(empty newsgroups followup-to reply-to))
This is also the default value for this variable.
Mime is a standard for waving your hands through the air, aimlessly, while people stand around yawning.
MIME, however, is a standard for encoding your articles, aimlessly, while all newsreaders die of fear.
MIME may specify what character set the article uses, the encoding of the characters, and it also makes it possible to embed pictures and other naughty stuff in innocent-looking articles.
Gnus handles MIME by pushing the articles through
gnus-show-mime-method
, which is metamail-buffer
by
default. Set gnus-show-mime
to t
if you want to use
MIME all the time. However, if gnus-strict-mime
is
non-nil
, the MIME method will only be used if there are
MIME headers in the article. If you have gnus-show-mime
set, then you'll see some unfortunate display glitches in the article
buffer. These can't be avoided.
It might be best to just use the toggling functions from the summary buffer to avoid getting nasty surprises. (For instance, you enter the group `alt.sing-a-long' and, before you know it, MIME has decoded the sound file in the article and some horrible sing-a-long song comes streaming out out your speakers, and you can't find the volume button, because there isn't one, and people are starting to look at you, and you try to stop the program, but you can't, and you can't find the program to control the volume, and everybody else in the room suddenly decides to look at you disdainfully, and you'll feel rather stupid.)
Any similarity to real events and people is purely coincidental. Ahem.
The gnus-article-display-hook
is called after the article has
been inserted into the article buffer. It is meant to handle all
treatment of the article before it is displayed.
By default this hook just contains gnus-article-hide-headers
,
gnus-article-treat-overstrike
, and
gnus-article-maybe-highlight
, but there are thousands, nay
millions, of functions you can put in this hook. For an overview of
functions see section Article Highlighting, see section Article Hiding,
see section Article Washing, see section Article Buttons and see section Article Date. Note that the order of functions in this hook might affect
things, so you may have to fiddle a bit to get the desired results.
You can, of course, write your own functions. The functions are called from the article buffer, and you can do anything you like, pretty much. There is no information that you have to keep in the buffer--you can change everything. However, you shouldn't delete any headers. Instead make them invisible if you want to make them go away.
Most of the keystrokes in the summary buffer can also be used in the article buffer. They should behave as if you typed them in the summary buffer, which means that you don't actually have to have a summary buffer displayed while reading. You can do it all from the article buffer.
A few additional keystrokes are available:
gnus-article-next-page
).
gnus-article-prev-page
).
Message-ID
and you press
r, Gnus will try to get that article from the server
(gnus-article-refer-article
).
gnus-article-mail
). If
given a prefix, include the mail.
gnus-article-show-summary
).
gnus-article-describe-briefly
).
gnus-article-next-button
. This
only makes sense if you have buttonizing turned on.
gnus-article-prev-button
.
gnus-single-article-buffer
nil
, use the same article buffer for all the groups.
(This is the default.) If nil
, each group will have its own
article buffer.
gnus-article-prepare-hook
gnus-article-display-hook
gnus-article-mode-hook
gnus-article-mode-syntax-table
text-mode-syntax-table
.
gnus-article-mode-line-format
gnus-summary-mode-line-format
. It accepts the same
format specifications as that variable, with one extension:
gnus-break-pages
nil
, the articles will be divided into pages whenever a
page delimiter appears in the article. If this variable is nil
,
paging will not be done.
gnus-page-delimiter
Go to the first, previous, next, last section, table of contents.