X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.texi;h=0de237cabfd1b9fe4eb0dbdca4a307f939d2b2a0;hp=92fb350b7cc03033491a8fa0abee1668a7690be1;hb=c9175aedfaf3daeca6b2414f74ef703f2f6cbc1f;hpb=52d1a99581eec6b13898426bf6680e5324407b01 diff --git a/elpher.texi b/elpher.texi index 92fb350..0de237c 100644 --- a/elpher.texi +++ b/elpher.texi @@ -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.