Updated link to gemini gopher page in README.
[elpher.git] / elpher.texi
index 92fb350..0de237c 100644 (file)
@@ -1,9 +1,9 @@
 \input texinfo @c -*-texinfo-*-
 
 @setfilename elpher.info
-@settitle Elpher Manual v1.0.0
+@settitle Elpher Manual v2.0.0
 
-@dircategory Internet application
+@dircategory Emacs
 @direntry
 * Elpher: (elpher).     A gopher client for Emacs.
 @end direntry
@@ -57,8 +57,20 @@ the file COPYING in the same directory as this file for more details.
 * Bookmarks::                   How to record and visit bookmarks
 * Character encodings::         How Elpher handles different character encodings
 * Encrypted connections::       How and when TLS is enabled
+* Gemini support::              Support for the Gemini protocol
 * Customization::               How to customize various aspects of Elpher
 * Command Index::
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+Navigation
+
+* Within-page navigation::      Moving about within a page
+* Between-page navigation::     Commands for moving between pages
+* History and Caching::         Explanation of how Elpher represents history
+
+@end detailmenu
 @end menu
 
 @node Introduction, Installation, Top, Top
@@ -83,16 +95,20 @@ auto-completing menu item navigation,
 
 @item
 direct visualization of image files where supported (no writing to
-disk), and
+disk),
 
 @item
-a simple bookmark management system.
+a bookmark management system,
+
+@item
+basic support for the new ``heavier than gopher, lighter than the web'' Gemini protocol.
+
 @end itemize
 
 Elpher is still under active development.  Although we try very hard to
 ensure that releases are bug-free, this cannot be guaranteed.  However,
 this also means that any usability features that you feel are missing
-can likely by incoroporated quickly, so please get in touch if you
+can likely by incorporated quickly, so please get in touch if you
 have some ideas.
 
 @node Installation, Quick Start, Introduction, Top
@@ -116,7 +132,7 @@ to follow the instructions at @url{https://melpa.org/#/getting-started}.
 
 While not recommended, it is also possible to install Elpher directly by
 downloading the file @file{elpher.el} from
-@url{https://github.com/tgvaughan/elpher}, adding it to a directory in
+@url{gopher://thelambdalab.xyz/1/projects/elpher/}, adding it to a directory in
 your @code{load-path}, and then adding
 
 @example
@@ -237,10 +253,10 @@ will prompt for the name of the file to write, with the default name being
 the display string (if available) associated with the link.
 
 @keycmd{@key{D}, elpher-download-current}
-This is similar to @code{elpher-downlowd}, but instead applies to the
+This is similar to @code{elpher-download}, but instead applies to the
 current page rather than a link.
 
-@keycmd{@key{w}, elpher-view-raw}
+@keycmd{@key{.}, elpher-view-raw}
 This displays the raw server response for the current page.  While not
 useful for general browsing, it is useful for debugging incorrect rendering
 or out-of-spec server responses.
@@ -260,7 +276,7 @@ Exactly what is meant by ``follow'' depends on the kind of item selected:
 
 @itemize
 @item
-For text or menu type items or links, the curent page text is replaced
+For text or menu type items or links, the current page text is replaced
 by the text of this item.  Unless the customization variable
 @code{elpher-use-header} (@pxref{Customization}) is 
 @code{nil}, the display string of the link is displayed in the buffer header.
@@ -289,16 +305,24 @@ Once a text, menu or query response page has been displayed, its contents are
 cached for the duration of the Emacs session. 
 
 @keycmd{@key{g}, elpher-go}
-Open a particular page by specifying either its URL or directly entering
-a host, port and selector.
+Open a particular page by specifying either its full URL or just entering
+a gopher host name.
 
-Note that if a non-gopher protocol is used in the URL the result will be 
-the same as following a URL link of the same type from a gopher menu.
+If a non-gopher protocol is used in the URL the result will be the same
+as following a URL link of the same type from a gopher menu.
+
+@keycmd{@key{o}, elpher-go-current}
+Prompts for a URL similar to @code{elpher-go}, but initialized to the URL
+of the current page.  This allows you to easily try other selectors for the
+same server.
+
+Remember however, that the Gopher RFC 1436 provides no guarantees about the
+structure of selectors.
 
 @keycmd{@key{O}, elpher-root-dir}
 Open the root page (empty selector) on the current host.
 
-@keycmd{@key{u}, elpher-back}
+@keycmd{@key{u}\, @kbd{mouse-3}, elpher-back}
 Return to the previous page, where ``previous'' means the page where the
 page which was displayed immediately before the current page.
 @end table
@@ -395,7 +419,7 @@ By default, Elpher applies Emacs' built-in character encoding detection
 system to the full (undecoded) response data and uses this to attempt to
 convert it into a character string.
 (See @pxref{Recognize coding, Recognizing coding systems, ,emacs}.) While
-this approach can be okay, it is important to realise that its inference
+this approach can be okay, it is important to realize that its inference
 algorithm is extremely primitive and depends heavily on assumptions based
 on the language settings of your emacs system.
 
@@ -406,8 +430,8 @@ using the following command:
 @keycmd{@key{S},elpher-set-coding-system}
 Causes a elpher to prompt for a coding system to use for decoding
 future text.  The @key{TAB} key can be used at this prompt to display a
-list of alternatives (which is extensive) and to autocomplete.  An empty
-response will cause Elpher to return to its default autodetection
+list of alternatives (which is extensive) and to auto-complete.  An empty
+response will cause Elpher to return to its default auto-detection
 behaviour.
 @end table
 
@@ -417,7 +441,7 @@ will need to select the correct coding and then reload the text using
 @key{R}.
 
 
-@node Encrypted connections, Customization, Character encodings, Top
+@node Encrypted connections, Gemini support, Character encodings, Top
 @chapter Encrypted connections
 
 While RFC 1436 does not broach the topic of encryption at all, several
@@ -441,8 +465,32 @@ It can also be automatically switched off when a TLS connection fails.
 In this case Elpher will prompt for your confirmation to ensure that
 you can't accidentally make a non-TLS connection.
 
-
-@node Customization, Command Index, Encrypted connections, Top
+@node Gemini support, Customization, Encrypted connections, Top
+@chapter Gemini support
+
+@uref{gopher://zaibatsu.circumlunar.space/1/~solderpunk/gemini, Gemini}
+is a new protocol being devloped by several members of
+gopherspace.  It aims to solve some of the long-standing technical
+issues associated with gopher as a protocol, while keeping the major benifits.
+For instance, it _requires_ encrypted connections, it does away with
+the selector type, and allows servers to explicitly specify the
+character coding scheme used for text documents.
+
+The latest versions of Elpher aim to provide seemless navigation between
+gemini and gopher documents.  Basically you should be able to open,
+bookmark, download and otherwise interact with gemini pages in exactly
+the same way as you do with other non-gemini pages.  The only major
+difference from your perspective as a user is that you should no longer
+have to worry about manually toggling TLS on or off (for gemini it's
+always on), and you should never have to manually set a character coding
+scheme.
+
+I should emphasize however that, while it is definitely functional,
+Elpher's gemini support is still experimental, and various aspects will
+change as the protocol develops further.  Additionally, the use of
+client TLS certicificates is not yet supported.
+
+@node Customization, Command Index, Gemini support, Top
 @chapter Customization
 
 Various parts of Elpher can be customized via the 
@@ -457,10 +505,10 @@ using
 the appearance of Elpher, including one face per menu item type.
 
 The group also contains variables for customizing the behaviour of
-Elpher.  This includes how to open arbitrary (non-gopher) URLs,
-whether to display buffer headers, whether to look for naked URLs in
-gopher menus (as opposed to just plain text files), and whether
-to prompt for confirmation when switching away from TLS.
+Elpher.  This includes how to open arbitrary (non-gopher) URLs, whether
+to display buffer headers, how to deal with ANSI escape sequences in
+text, the timeout to impose on network connections, and whether to
+prompt for confirmation when switching away from TLS.
 
 See the customization group itself for details.