netrik - The ANTRIK internet browser
netrik [options] URL or filename
netrik -
netrik is an advanced text mode HTML (WWW) browser, that is
to say a web browser running on character cell displays (linux console,
xterm etc.) -- not unlike w3m, links or lynx.
When invoked with a filename or URL as argument, the specified
document is loaded and displayed in interactive mode, so you can start
browsing the web or some local HTML repository from there. (Alternatively
the document can be just layouted and dumped to the screen, see
OPTIONS below.)
When invoked with '-' instead of a file/URL, an HTML document is
read from standard input, and displayed just the same.
If some file name/URL is present in the configuration file
(~/.netrikrc), you can also start netrik without any non-option
arguments; the one from the config file will be loaded then. See
netrikrc(5) for details.
When multiple non-option arguments are specified, netrik simply
takes the last one, and ignores the others. (This is for the above to
work.)
The type of the resource to load is automatically determined from
the argument. If it starts with "http://", "ftp://" or
"file://", the corresponding type is used. If none of these is
specified, netrik tries to guess the type: First it tries to open a local
file of the given name, and if that fails, it tries HTTP. Only if both fail,
an error is generated. (See EXAMPLES below.)
Local files can be also compressed by gzip or bzip2, which is
handled transparently, meaning the ".gz" or ".bz2"
extension needn't be given in the URL.
Once in the pager, you can explore the web interactively, as with
any other web browser. The keyboard commands should look familiar if you
know vi (or some of the myriads of programs with vi-like keys) as well as
lynx: Use the 'j' and 'k' keys to move around, the up and down arrow keys
(or capital 'J' and 'K') to select links, and the <return> key to
follow links. See PAGER COMMANDS below for a description of other
useful commands.
(default)
Note: netrik is still in early development state; options
are subject to changes.
- --no-term-width
- When using the pager, this causes a page that contains extremely long
words to be rendered wider than the screen, instead of breaking the word.
Note however that side scrolling isn't implemented yet -- you won't be
able to see the end of the line when using this option... In dump mode,
this option causes usage of the default width of 80 columns instead of
what the terminal definition says. (Words are always broken in dump mode.)
- --fussy-html
- Abort on any HTML syntax errors or warnings encountered. A short error
description is printed. (This description may not be terribly useful at
times...) This mode is primarily intended for HTML debugging. (Note
however that netrik may oversee some errors; but most are
reported.)
- --clean-html
- Do not abort on HTML syntax errors. Error descriptions are printed for
every syntax error (or warning), but netrik tries to parse the page
anyhow. Workarounds are used for some typical syntax errors (e.g.
unescaped '<' or '&' characters); other errors are ignored. After
the whole page is loaded, if some error(s) were found, a warning message
is printed (according to the severity of the worst encountered bug), and
the pager starts after a keypress.
- --valid-html
- This mode is identical to --clean-html, except that netrik doesn't
pause after loading completes, if only warnings were generated but no real
errors were encountered. (i.e. constructs that are discouraged in the
standard, but strictly speaking are valid.)
- --broken-html
(default)
- This mode is identical to --valid-html, except that netrik also
doesn't pause if only simple errors with known workaround were
encountered, which probably won't disturb layouting. Usage should be
avoided if possible. (The file syntax_error.txt or syntax_error.html in
the documentation directory (see SEE ALSO below) explains
why.)
- --ignore-broken
- In this mode no warning is showm for any syntax errors, even if they might
cause heavily broken layouting. Don't use!
- --debug
- Before displaying (or dumping) the page, some intermediate layouting
stages are shown. (This output is described in the README.) Try it -- it's
quite interesting to watch netrik work :-) It can be also useful to
find HTML errors in a page, as it dumps the page while loading/parsing it.
(This option is not available if compiled with --disable-debug to
./configure)
- --warn-unknown
- Issue a warning when encountering an unknown HTML element or attribute.
This is probably only useful for debugging purposes, as there are quite a
lot of (legal) HTML facilities netrik doesn't know.
- --dump
- Just dump the file given as argument to the screen and quit, instead of
starting the pager. (The page is layouted correctly.)
- --no-proxy
- Ignore the "http_proxy" and "HTTP_PROXY" environment
variables with --builtin-http. (No effect on wget! See below.)
- --no-builtin-http
- Use wget(1) to retrieve pages from a HTTP server, instead of the
builtin HTTP handling code. Note that HTTP redirects in most cases cause
relative links in the page to be broken when using wget. The builtin HTTP
code seems to work good now; using wget shouldn't be necessary. (FTP pages
however are always loaded via wget.)
- --no-anchor-offset
- When jumping to an anchor (following a link with a fragment identifier),
the page will be scrolled (if possible) so that the anchor will stand just
below the screen top. (In the second line, which is the first line in
which links can be activated.) By default, the anchor is at about 1/5 of
the screen height below the top.
- --cursor-keys
- Use the arrow keys to move the cursor, instead of the lynx-like navigation
used by default. (This is useful for blind users, as it allows using the
"flash cursor" keys found on braille displays.)
- --xterm
- Assume the terminal has xterm-like attribute handling. (i.e. needs a
workaround to display a bright background color.)
This setting is used automatically if the terminal type ($TERM environment
variable) contains the string "xterm", so you only need to set
it manually if you have some other terminal that also needs that
workaround or if you have set --console in netrikrc(5) and need to
override that.
Note that this workaround works *only* on xterm (and maybe some other
terminals), but not on linux console, so you can't just set it
categorically!
- --console
- Assume the terminal doesn't need and understand the xterm workaround for
bright background colors. (See above.)
- --dark-background
- Use the color definitions from colors-dark.c (formerly
colors.alt.c). A black background will be used (even if the
terminal uses a bright background by default!), and a set of foreground
colors which look very nice on black backgound. (But would be unusable on
bright background.)
This is the default now.
- --bright-background
- Use color definitions from colors-bright.c (formerly
colors.default.c). The terminal's default colors will be used for
background and normal text, and an alternative color scheme suitable for
bright background will be used for other text types.
Use this if you have a terminal with bright background (like most xterms),
and also want to stick to that in netrik.
Note that this can be used on a terminal with dark background as well; some
colors are somewhat hard to read, however.
- --no-force-colors
- Use terminal's default colors even with --dark-background, instead of
forcing usage of netrik's default text colors (white on black for
normal text). This is useful if you use the default (dark) colors and your
terminal has a black background anyways -- forcing the default colors is
only a waste of time in this situation.
You can also specify any of these options as default in the netrik
config file ~/.netrikrc, see netrikrc(5).
Similar to vi(1), netrik basically knows two kinds of pager
commands. Simple commands (presently all of them are one-letter commands)
are executed directly when the corresponding key is pressed. These are all
the pager movement commands, plus some more. In the following overview they
are represented by just the letter for letter keys, or a symbol of the form
<key> for special keys. Upper case letters mean the letter key with
<shift>, and letters preceded with '^' mean the letter key with
<ctrl>.
The others (presently only two) need to be typed into a command
prompt (with readline(3) and all), which is activated by pressing
':', and has to be confirmed by <return>. These are indicated by a ':'
before the command name. (Just as they are typed...)
- j
- scroll one line forward
- k
- scroll one line backward
- <del>
- scroll two lines forward
- <ins>
- scroll two lines backward
- ^F,<space>
- scroll one screen forward
- ^B
- scroll one screen backward
- ^D,<PgDn>
- scroll one half screen forward
- ^U,<PgUp>
- scroll one half screen backward
- g,<Home>
- go to page top
- G,<End>
- go to page end
- ^H
- cursor left
- ^J
- cursor down
- ^K
- cursor up
- ^L
- cursor right
- <return>
- follow selected link (or manipulate form control)
- J,<down>
- go to next link, or scroll one line forward (if no more links on
screen)
- K,<up>
- go to previous link, or scroll one line backward (if no more links on
screen)
- +,=
- go to first link on next line, or scroll one line forward (if no more
links on screen)
- -
- go to first link on previous line, or scroll one line backward (if no more
links on screen)
- ^,^A
- go to first link starting in line
- 0
- go to first link in line (different from '^' if there is a link wrapped
from previous line)
- $,^E
- go to last link in line
- H
- go to first link on screen
- L
- go to last link on screen
- M
- go to midmost link (first link in second screen half)
- <tab>
- go to next link
- p
- go to previous link
- <bs>
- go to first link on page
- l
- activate links by label
- ^R
- reload current page
- b,<left>
- back to previous page in history
- f,<right>
- forward to next page in history (after 'b')
- B
- back to previous site (page before last absolute URL
entered/followed)
- F
- forward to next site
- s
- set page mark
- S
- remove page mark
- r
- return to previous page in history marked with 's' (or first page)
- R
- forward to next page in history marked with 's' (or last page)
- u
- show link URL
- U
- show absolute link target URL
- c
- show current page URL
- :e URL
- load document "URL" and display it in the pager (URL relative to
current page)
- :E URL
- load document "URL" and display it in the pager (absolute
URL)
- /
- search for a string in current page
- q
- quit netrik
- ^C (SIGINT)
- Interrupt file/HTTP loading (no effect otherwise)
- ^\ (SIGQUIT)
- Immediately quit netrik unconditionally. (Presently, this signal violently
terminates netrik; thus no cleanup takes place... Use only in
"emergency".)
http_proxy (the uppercase variant HTTP_PROXY is also
recognized, but discouraged) specifies the address of an optional proxy
server.
TERM specifies a terminal type for which netrik (actually,
ncurses) will produce output.
- 0
- Normal exit. (Should occur only if explicitly issued 'q' command, or after
whole page has been printed with --dump.)
- 1
- Some condition occured that prevents netrik from continuing normal
operation. This might be a memory allocation error, failure to open some
important file etc. Note that it might also indicate some bug in netrik;
if the error message printed doesn't seem to make sense (e.g. a memory
allocation error when there is plenty of free RAM available), please
report that. (See BUGS below.)
- 2
- Operational error: The user induced an error condition that netrik can't
handle gracefully (yet), e.g. trying to follow a relative link where no
base URL is available. (On a page loaded from standard input, for
example.)
- 100
- One of the internal sanity checks gave alarm. This is a bug in
netrik! Please report it. (See BUGS below.)
Other errors codes shouldn't occur. (Note that error codes above
128 are generated when the program is terminated by a signal, e.g. 139 for
SIGSEGV, which usually also indicates a bug, unless the signal was generated
by some user action.)
Netrik knows most of HTML 4.01 and XHTML 1.0. There are several
facilities it doesn't recognize yet, though; and some things are layouted
incorrect. (Especially space handling is totaly broken.)
It doesn't conform to XHTML also for the reason that it only warns
about syntax errors (rather than aborting), and some may even slip through
alltogether.
Note that full standards compliance is not a primary development
goal; we may ignore known minor incompatibilities, as long as they do not
undermine W3C's standardization efforts, and there is more important work to
do...
~/.netrikrc: The netrik configuration file.
This manual page documents netrik version 1.16.1.
Layouting is so strange that it always looks broken...
Layouting is actually broken. (Wrong space handling.)
HTML syntax error messages are penetrating.
The UI is inconsistent.
Netrik is vaporware.
Netrik has less command line switches than ls ;-)
Please report any other problems you find to
<netrik-general@lists.sourceforge.net>. Thanks.
Netrik was created and is maintained by Olaf D. Buddenhagen AKA
antrik (<antrik@users.sf.net>), with major contributions from Patrice
Neff, Sören Schulze, and others. (For a full listing of all
contributors see AUTHORS in the doc directory, see below.)
This man page was created by Patrice Neff and modified by
antrik.
netrikrc(5)
The README file, and the complete plain text or html
documentation (index.txt/index.html) in the doc directory.
(The doc directory is usually something like /usr/share/doc/netrik
when netrik was installed from a binary package or
/usr/local/share/doc/netrik when compiled from source.)
The netrik website at <http://netrik.sourceforge.net>.
The netrik mailing list at <netrik-general@lists.sf.net>;
see <http://lists.sourceforge.net/lists/listinfo/netrik-general> for
list information.