1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-02-02 15:09:23 -05:00

Merge with /srv/git/elinks.git

This commit is contained in:
Petr Baudis 2005-09-17 08:46:26 +02:00
commit 9e1472a72a
9 changed files with 134 additions and 117 deletions

11
COPYING
View File

@ -1,6 +1,15 @@
Note that the only valid version of the GPL as far as ELinks is Note that the only valid version of the GPL as far as ELinks is
concerned is _this_ particular version of the license (ie v2, not v2.2 concerned is _this_ particular version of the license (ie v2, not v2.2
or v3.x or whatever), unless explicitly otherwise stated. or v3.x or whatever), unless explicitly stated otherwise. That is at
least the policy for all pasky's contributions and the default - if you
want different policy for your patches, the best way to state it is by
a patch for your AUTHORS entry.
If pasky likes GPLv3, he might relicence his contributions for GPLv3
as well. The default policy should probably be that you trust pasky,
Jonas, or the current maintainer of the day to do the right thing (much
like it is in the Linux kernel). But this needs to be yet worked out
and agreed upon.
----------------------------------------------------------------------- -----------------------------------------------------------------------

109
INSTALL
View File

@ -6,8 +6,8 @@ Elinks installation guidelines
./configure && make && make install ./configure && make && make install
Check out the bottom of this file if you're upgrading from Links or an older Check out the bottom of this file if you're upgrading from Links or an older
ELinks! And be sure to look at doc/ecmascript.txt if you want ECMAScript ELinks! And be sure to look at doc/ecmascript.txt if you want (experimental)
(that's JavaScript) support. ECMAScript (that's JavaScript) support.
########## ##########
@ -40,51 +40,17 @@ snapshot - you don't need to do this there.
########## ##########
If you want to compile elinks, first check the directory named contrib/, it If you want to compile ELinks, first check the directory named contrib/, it
may contain patches that are of use to you. If you're interested in any of may contain patches that are of use to you. If you're interested in any of
them, try to apply them by doing (for each one): them, try to apply them by doing (for each one):
$ patch -p0 < contrib/that-patch $ patch -p0 < contrib/that-patch
They may not apply - I don't update patches in contrib/ regularly - if you They may not apply, since I don't update patches in contrib/ regularly - if
want, feel free to go ahead and update the patch for the current tree and send you want, feel free to go ahead and update the patch for the current tree and
me the newer version. submit the newer version.
Usually, even after strip, the ELinks binary can grow a lot these days; I plan The compilation itself looks like:
on spawning various external files optionally, containing boring stuff like
various translations etc; later, even DSO modules may come, etc. But even
nowadays, you can reduce the resulting binary size by throwing out stuff you
don't like. First, if you want better performance and a smaller binary, don't
compile it with debug. It won't hurt if you do, though, and ELinks will tell
you about any memory leaks, incorrect memory manipulation etc, which may be
helpful to us if you report it. Next, disable any optional features you are not
going to use, they can make the resulting binary smaller (although it'll probably
have no non-marginal performance impact) - especially go through the
features.conf file in the project root directory. Also, you may try to override
the build system to build a dynamically linked binary, which can be a lot
smaller as well. Lastly, you can go to the Unicode/ and intl/ directories, then
edit index.txt and remove any codepages or translations you don't like;
especially for translations, it can significantly reduce the resulting binary
size as well.
!BEWARE! If you _distribute_ a binary of ELinks with OpenSSL linked to it,
and the OpenSSL library is not part of your base system, you are VIOLATING THE
GPL (although I believe that for this absurd case no ELinks copyright holder
will sue you, and it's not a problem for the OpenSSL people as well, as they
have explicitly told me). So, people who are making ELinks binaries for systems
with no OpenSSL in the base system and who decided to link OpenSSL against the
ELinks binary may wish NOT to publish or distribute such a binary, as it's
breaking GPL 2(b), if they like to have everything legally perfect (like Debian
people ;). As a semi-solution to this for those people, GNUTLS support was
introduced; if you want to distribute ELinks binaries with HTTPS support,
compile ELinks with the --with-gnutls configure option (assuming that you have
GNUTLS 0.5.0 or later [tested with 0.5.4] installed). However, as GNUTLS is not
yet 100% stable and its support in ELinks is not so well tested yet, it's
recommended for users to give a strong preference to OpenSSL whenever possible.
Good luck!
The basic compilation looks like:
Unix - just doing: Unix - just doing:
@ -93,15 +59,15 @@ recommended for users to give a strong preference to OpenSSL whenever possible.
should be enough. However, in some FreeBSD 3 distributions you have to should be enough. However, in some FreeBSD 3 distributions you have to
set CFLAGS=-aout before running ./configure. Also, you may want to set CFLAGS=-aout before running ./configure. Also, you may want to
adjust some compile-time options through ./configure - do adjust some (well, plenty of) compile-time options through ./configure
./configure --help and it'll print out a list of them. You can more - do ./configure --help and it'll print out a list of them. You can
finely control what's going to be included in the binary in the finetune what's going to be included in the binary in the features.conf
features.conf file, and some really detailed tuning can be performed in file, and some really detailed tuning can be performed in src/setup.h.
the src/setup.h.
Also, a nice idea is to compile ELinks outside of the source tree. Also, a nice idea is to compile ELinks outside of the source tree (note
Make another directory and run path_to_source_tree/configure from it. that this might not quite work right now, but we're working on fixing
Typically, it looks like: it). Make another directory and run path_to_source_tree/configure from
it. Typically, it looks like:
$ mkdir ../elinks-build $ mkdir ../elinks-build
$ cd ../elinks-build $ cd ../elinks-build
@ -123,7 +89,13 @@ recommended for users to give a strong preference to OpenSSL whenever possible.
SET MAKE=d:/prg/emx/bin/make.exe SET MAKE=d:/prg/emx/bin/make.exe
SET EMXOPT=-h100 SET EMXOPT=-h100
Dos, Windows - port it by yourself. DOS, Windows - port it by yourself.
Usually, even after strip, the ELinks binary can measure a lot, but you can
radically reduce the resulting binary size by throwing out stuff you don't like.
Detailed discussion of reducing the executable size can be found in
doc/small.txt
########## ##########
@ -141,10 +113,35 @@ recommended for users to give a strong preference to OpenSSL whenever possible.
before you run links. before you run links.
Now, check the contrib/ directory again. There may be some useful config Now, check the contrib/ directory again. There may be some useful config
file examples there, along with a few support tools and some Lua scripts - you file examples there, along with few support tools and some Lua scripts - you
probably want them ;) so just copy the hooks.lua to ~/.elinks, and edit the probably want them ;) so just copy hooks.lua to ~/.elinks, and edit the
configuration part - it adds various functionality to ELinks, like configuration part - it adds various functionality to ELinks, like
decompression of gzipped files or user-defined protocols. decompression of gzipped files or HTML code rewriting for ELinks-unfriendly
websites.
!BEWARE! If you _distribute_ an ELinks executable linked with OpenSSL and
the OpenSSL library is not part of your base system, you are VIOLATING THE GPL.
I honestly believe that for this absurd case no ELinks copyright holder will
sue you, and it's not a problem for the OpenSSL people as well, as they have
explicitly told me, but you might stay on the safe side.
So, people who are making ELinks binaries for systems with no OpenSSL in the
base system and who decided to link OpenSSL against the ELinks binary may wish
NOT to publish or distribute such an executable, as it's breaking GPL 2(b), if
they like to have everything legally perfect (like the Debian people ;-).
As a semi-solution to this problem, GNUTLS support was introduced; if you want
to distribute ELinks executables with HTTPS support, compile ELinks with the
--with-gnutls configure option (assuming that you have GNUTLS 1.2.0 installed;
we can't say about later versions since GNUTLS people seem to have strange taste
wrt. backwards compatibility).
HOWEVER, beware that GNUTLS support in ELinks is not so well tested as
OpenSSL, and shall be probably still considered experimental. Therfore, it's
recommended to the users to give OpenSSL strong preference whenever possible.
(Just to show the GNU ideologists how silly can they sometimes be, if not
anything else. ;-)
########## ##########
@ -156,11 +153,11 @@ the old (E)Links, so you probably want to make a links symlink pointing to
elinks. elinks.
Then, note that configuration files were moved from /etc to /etc/elinks and Then, note that configuration files were moved from /etc to /etc/elinks and
from ~/.links to ~/.elinks, because the name and format of parts of them were from ~/.links to ~/.elinks, because the name and format of some of them was
changed: changed:
links.cfg became elinks.conf and you need to convert it with links.cfg became elinks.conf and you need to convert it with
contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf.
bookmarks are still bookmarks, but you need to convert it with bookmarks are still bookmarks, but you need to convert it with
old_to_new_bookmarks.sh. old_to_new_bookmarks.sh.
@ -169,7 +166,7 @@ old_to_new_bookmarks.sh.
history became globhist and the format is the same. history became globhist and the format is the same.
cookies are still cookies, but you need to convert it with tr " " "\t" cookies are still cookies, but you need to convert it with tr " " "\t".
########## ##########

11
NEWS
View File

@ -1,14 +1,15 @@
See ChangeLog for recent changes, bugfixes and new features. You can see the complete list of recent changes, bugfixes and new features
in the gitweb interface. See the ChangeLog file for details.
ELinks now: ELinks now:
* support for Lua 4.x was dropped, we only support Lua 5.x now. * support for Lua 4.x was dropped, we only support Lua 5.x now
* Python scripting back-end (experimental) * Python scripting back-end (experimental)
* 88 colors support * 88 colors support
* external editor is configurable at run-time * external editor is configurable at run-time
* Default URI-rewrite rule, used when no other rules match but the string * default URI-rewrite rule, used when no other rules match but the string
that was entered in the Go to URL box does not resemble a URI that was entered in the Go to URL box does not resemble a URI
* Support prefixes for add-bookmark-link, document-info, goto-url-current-link, * support prefixes for add-bookmark-link, document-info, goto-url-current-link,
history-move-back, and history-move-forward history-move-back, and history-move-forward
* BitTorrent protocol (experimental) * BitTorrent protocol (experimental)
* FSP protocol via a CGI script (see contrib/cgi/README.FSP) (experimental) * FSP protocol via a CGI script (see contrib/cgi/README.FSP) (experimental)
@ -17,7 +18,7 @@ ELinks now:
ELinks 0.10.4: ELinks 0.10.4:
* explicit keyboard accelerators were defined for buttons in dialogue boxes * explicit keyboard accelerators were defined for buttons in dialogue boxes
and are now highlighted. and are now highlighted
ELinks 0.10.2: ELinks 0.10.2:

58
README
View File

@ -6,10 +6,13 @@ ELinks is an advanced and well-established feature-rich text mode web
customizable and can be extended via scripts. It is very portable and runs customizable and can be extended via scripts. It is very portable and runs
on a variety of platforms. on a variety of platforms.
The ELinks official website is available at http://elinks.or.cz/. The ELinks official website is available at
Please see the SITES file for mirrors or other recommended sites.
If you want to install ELinks on your computer, see the http://elinks.or.cz/
INSTALL file for further instructions.
Please see the SITES file for mirrors or other recommended sites. If you
want to install ELinks on your computer, see the INSTALL file for further
instructions.
A good start point is documentation files available in doc/, especially the A good start point is documentation files available in doc/, especially the
file named index.txt. file named index.txt.
@ -24,35 +27,40 @@ document.
If you want to add a new language or update the translation for an existing If you want to add a new language or update the translation for an existing
one, please read po/README document. one, please read po/README document.
If you want to write some documentation, well you're welcomed ;) If you want to write some documentation, well, you're welcome! ;)
History Historical notes
~~~~~~~ ~~~~~~~~~~~~~~~~
Initially, ELinks was a development version of Links (Lynx-like text WWW browser), Initially, ELinks was a development version of Links (Lynx-like text WWW
with more liberal features policy and development style. browser), with more liberal features policy and development style. Its purpose
was to provide an alternative to Links, and to test and tune various new
Its purpose was to provide an alternative to Links, and to test and tune various features, but still provide good rock-solid releases inside stable branches.
new features, but still provide good rock-solid releases inside stable branches.
If you are more interested, you can examine the Links website at
http://links.sf.net/.
Why not contribute to Links instead? Well, first I made a bunch of patches for Why not contribute to Links instead? Well, first I made a bunch of patches for
the original Links, but a significant number of them got refused because the original Links, but Mikulas wasn't around to integrate them, so I started
Mikulas did not like them, as he just wouldn't have any use for them himself. releasing my fork. When he came back, a significant number of them got refused
He wants to keep Links with a relatively closed feature set and merge only new because Mikulas did not like them, as he just wouldn't have any use for them
features which he himself needs. It has advantages that the tree is very narrow himself. He wants to keep Links with a relatively closed feature set and merge
and the code is small and contains very little bloat. ELinks, on the contrary, only new features which he himself needs. It has advantages that the tree is
aims to provide a full-featured web browser, superior to both lynx and w3m and very narrow and the code is small and contains very little bloat.
with the possibilities of Konqueror and similar browsers. However, to prevent
drastic bloating of the code, the development is driven in the course of
modularization and separation of add-on modules (like cookies, bookmarks, ssl,
lua etc).
For more about ELinks history, see http://elinks.or.cz/history.html ELinks, on the contrary, aims to provide a full-featured web browser, superior
to both lynx and w3m and with the power (but not slowness and memory usage) of
Mozilla, Konqueror and similar browsers. However, to prevent drastic bloating
of the code, the development is driven in the course of modularization and
separation of add-on modules (like cookies, bookmarks, ssl, scripting etc).
For more details about ELinks history, please see
http://elinks.or.cz/history.html
If you are more interested in the history and various Links clones and versions,
you can examine the website at
http://links.sf.net/

6
SITES
View File

@ -1,5 +1,5 @@
Homepage: Homepage:
http://elinks.or.cz/ http://elinks.cz/
DEBs: DEBs:
http://packages.debian.org/testing/web/elinks.html http://packages.debian.org/testing/web/elinks.html
@ -18,11 +18,11 @@ RISC OS binaries:
GIT root: GIT root:
http://elinks.or.cz/elinks.git http://elinks.cz/elinks.git
git+ssh://pasky.or.cz/srv/git/elinks.git (only for developers) git+ssh://pasky.or.cz/srv/git/elinks.git (only for developers)
Mailing list: Mailing list:
http://elinks.or.cz/community.html#mailinglist http://elinks.cz/community.html#mailinglist
elinks-users@linuxfromscratch.org (user discussion, announcements) elinks-users@linuxfromscratch.org (user discussion, announcements)
elinks-dev@linuxfromscratch.org (weird development and sorcery talks) elinks-dev@linuxfromscratch.org (weird development and sorcery talks)
listar@linuxfromscratch.org (Subject: subscribe elinks-users) listar@linuxfromscratch.org (Subject: subscribe elinks-users)

4
TODO
View File

@ -7,7 +7,7 @@ What yet needs to take its way to Bugzilla:
Some rules for sane handling of texinfo documentation Some rules for sane handling of texinfo documentation
Rewrite HTML parser (see ELusive, src/elusive/TODO) Rewrite HTML parser (see the SGML+DOM stuff, src/document/sgml)
Reorganization of user interface (nothing particular at all, just an Reorganization of user interface (nothing particular at all, just an
uncertain feel that it could be better and bear a look of some UI designer ;) uncertain feel that it could be better and bear a look of some UI designer ;)
@ -15,7 +15,7 @@ uncertain feel that it could be better and bear a look of some UI designer ;)
General goals: General goals:
Write some more documentation.. docs, a lot of docs! (see doc/book/TODO) Write some more documentation.. docs, a lot of docs!
General code cleanup General code cleanup

View File

@ -791,9 +791,9 @@ disable_openssl=""
disable_gnutls="" disable_gnutls=""
enable_gnutls="" enable_gnutls=""
AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support], AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS (1.2+) SSL support],
[if test "$with_gnutls" = no; then disable_gnutls=yes; fi]) [if test "$with_gnutls" = no; then disable_gnutls=yes; fi])
AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS SSL support], AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS (1.2+) SSL support],
[if test "$with_gnutls" != no; then enable_gnutls=yes; fi]) [if test "$with_gnutls" != no; then enable_gnutls=yes; fi])
gnutls_withval="$withval" gnutls_withval="$withval"

View File

@ -1,8 +1,8 @@
To use this cgi script: To use this CGI script you need to build fspcgi and copy the executable
to your cgi directory. In ELinks, you can then use this URL:
Build fspcgi, copy executable to your cgi directory. file:///"path_to_fspcgi"?host:port/path_to_file_or_directory
Usage:
file:///"path_to_fspcgi"?host:port/path_to_file_or_directory
You can find more info about the FSP protocol at
More info about FSP protocol you find on http://fsp.sourceforge.net/. http://fsp.sourceforge.net/

View File

@ -1,23 +1,24 @@
Overview of the ELinks documentation Overview of the ELinks documentation
There is only limited documentation available for ELinks, sorry. It basically There is only limited documentation available for ELinks so far, sorry. It
consists of the documents in this directory and the features.conf, README and basically consists of the documents in this directory and the features.conf,
INSTALL files in the project's root directory. README and INSTALL files in the project's root directory.
The files you will find in this directory are the man pages living in the man/ The files you will find in this directory are manpages living in the man/
directory and a bunch of .html and especially .txt (wait, you expect HTML directory and a bunch of .html and especially .txt (wait, you expect HTML
browser to carry its documentation around in HTML?). The index.txt file browser to carry its documentation around in HTML?) documents. The index.txt
contains the table of contents listing all these files. file contains the table of contents which should help you navigating between
the files.
Tools Tools
----- -----
The manual is written in asciidoc. However you will also need xmlto to process The manual is written in asciidoc, however you will also need xmlto to process
docbook XML generated by asciidoc into manpages and the html-chunked manual. If docbook XML generated by asciidoc into manpages and the html-chunked manual.
you want to translate .pod files you need pod2html. If you want to translate .pod files you need pod2html.
All these tools are checked by configure so that to successfully build all All these tools are checked by configure, thus to successfully build all the
possible documentation (with the tools available on the system) run possible documentation (with the tools available on the system), just run
$ make all-docs $ make all-docs
@ -26,16 +27,17 @@ in the doc/ directory.
Contributing Contributing
------------ ------------
Contributions are very warmly welcomed. Wether it be fixing of typos or bad Contributions are very warmly welcomed, whether it is fixing typos or bad
grammar, rewritings or new material. All info relevant to ELinks usage can be grammar, rewritings or new material. Any information relevant to ELinks usage
included in the manual. Including FAQ material, tips and cheats ;) can be included in the manual, including FAQ material, tips and cheats ;)
There is no strict codingstyle. But please don't limit your use of whitespace There is no strict codingstyle, but please don't limit your use of whitespaces
and take a look at the style used in the current documents to get ideas of what and take a look at the style used in the current documents to get ideas of what
is reasonable. is reasonable.
Contributions should be sent to Jonas Fonseca <fonseca@diku.dk>. If your changing Contributions should be sent to Jonas Fonseca <fonseca@diku.dk> or to the
something in an existing document please read about how to make unified patches ELinks mailing list. If you are changing something in an existing document,
in the Patches section of the doc/hacking.txt file. please read about how to make unified patches in the Patches section of the
doc/hacking.txt file.
$Id: README,v 1.14 2005/05/24 19:05:14 jonas Exp $ $Id: README,v 1.14 2005/05/24 19:05:14 jonas Exp $