X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.texi;h=406dd8b2ef18e2c55aabda19d59b1ec2a825e468;hp=498e1bb1e367fecfb93e7c7ead5753caf80ab039;hb=aff8a4eeb2bcd7a2b23f8d1480eadc020aa77361;hpb=044fbba3752c511f9587ceb80c0acf26f0ab82d7 diff --git a/elpher.texi b/elpher.texi index 498e1bb..406dd8b 100644 --- a/elpher.texi +++ b/elpher.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename elpher.info -@settitle Elpher Manual v3.0.0 +@settitle Elpher Manual v3.1.0 @dircategory Emacs @direntry @@ -55,6 +55,8 @@ the file COPYING in the same directory as this file for more details. * Encrypted gopher connections:: How and when TLS is enabled for gopher * Gemini support:: Support for the Gemini protocol * Finger support:: Support for the Finger protocol +* Local files:: Opening local files in elpher +* About pages:: Special pages and how to reference them * Customization:: How to customize various aspects of Elpher * Command Index:: * News:: Changes introduced by major releases @@ -283,7 +285,7 @@ Moving to a different page can be accomplished in several ways, described by the following command: @table @asis -@keycmd{@key{RET}\, @kbd{mouse-1}, elpher-follow-link} +@keycmd{@key{RET}\, @key{mouse-1}, elpher-follow-link} Follow the menu item or link at point (or selected with the mouse). Exactly what is meant by ``follow'' depends on the kind of item selected: @@ -337,7 +339,7 @@ structure of selectors. @keycmd{@key{O}, elpher-root-dir} Open the root page (empty selector) on the current host. -@keycmd{@key{u}\, @key{-}\, @key{^}\, @kbd{mouse-3}, elpher-back} +@keycmd{@key{u}\, @key{-}\, @key{^}\, @key{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 @@ -396,9 +398,9 @@ pages you visited in your current Emacs session. @node Bookmarks, Gopher character encodings, Navigation, Top @chapter Bookmarks -Elpher makes use of standard Emacs bookmarks. @xref{Bookmarks, , , -emacs, The Emacs Editor}. The following commands are perhaps the most -useful ones: +Elpher makes use of standard Emacs bookmarks. +@xref{Bookmarks, , , emacs, The Emacs Editor}. +The following commands are used to add new bookmarks: @table @asis @keycmd{@key{a}, elpher-bookmark-link} @@ -410,9 +412,20 @@ Add a bookmark for the current page. The minibuffer will prompt for a name for the bookmark, defaulting to the display string associated with the link that was followed to reach the current page. + @keycmd{@key{B}, elpher-open-bookmarks} -Open a page displaying all current bookmarks. This is where you can -delete and search bookmarks, for example. +Visit a page displaying all elpher bookmarks. +The behaviour of the this function depends on the customization variable +@code{elpher-use-emacs-bookmark-menu}. If nil (the default), the +command will visit a special elpher page listing all elpher-specific +bookmarks. If non-nil, the command will simply open the standard Emacs +bookmark list displaying all current bookmarks (including non-elpher +bookmarks). + +@keycmd{@kbd{C-x r l}, bookmark-bmenu-list} +This command opens the standard Emacs bookmark menu, with which bookmarks +can be renamed, deleted or annotated. + @end table On opening the bookmarks page, elpher will offer to import any legacy @@ -618,7 +631,7 @@ certificate file pair are erased from memory. Furthermore, in the case of throw-away certificates, the corresponding files are deleted. -@node Finger support, Customization, Gemini support, Top +@node Finger support, Local files, Gemini support, Top @chapter Finger support Incidentally, Elpher has native support for querying finger servers. @@ -651,7 +664,62 @@ Thus @code{finger://user@@hostname} and @code{finger://hostname/user} are both e (The precedence of the /user notation over the user@ notation reflects a preference of the community.) -@node Customization, Command Index, Finger support, Top +@node Local files, About pages, Finger support, Top +@chapter Local files + +Elpher supports opening local files via @samp{file:} URLs. + +For instance, pressing @key{g} and entering @code{file:~/document.gmi} +will load the file named @samp{document.gmi} in your home directory, +provided this file exists. + +Files opened in this way are rendered according to their name, and in +particular their extension. The current mappings are as follows: + +@table @asis + +@item @samp{txt} + +Plain text documents. All local text files are assumed to be +UTF-8-encoded. + +@item @samp{gemini},@samp{gmi} + +Gemini documents (i.e. documents of MIME type ``text/gemini''). All +local gemini files are assumed to be UTF-8-encoded. + +@item @samp{html},@samp{htm} + +HTML documents. All local HTML files are assumed to be UTF-8-encoded. + +@item @samp{png},@samp{jpg},@samp{jpeg},@samp{gif},@samp{bmp},@samp{tif},@samp{tiff} + +Image files. + +@item Anything else +A binary document, which elpher will simply offer to save somewhere +else. (Obviously this is not useful in its own right, but there's not +much that elpher can sensibly do with unknown binary files.) + +@end table + +Sadly, due to particulars of the format, gophermap files (i.e. files +containing literally the intended output of querying a directory +selector according to RFC 1436) cannot be rendered using @samp{file:}. + + +@node About pages, Customization, Local files, Top +@chapter About pages + +Like other browsers, elpher makes certain internally-generated pages +such as the initial welcome page, the bookmarks page, the history +stack and the list of visited pages pages accessible as URLs with +the ``about:'' type. + +This means that these pages can be bookmarked and, more usefully, +added to a local file to be rendered as a user-defined start page. + +@node Customization, Command Index, About pages, Top @chapter Customization Various parts of Elpher can be customized via the @@ -671,6 +739,17 @@ 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. +One particularly important customization is the @code{elpher-start-page} +variable, which holds the URL of the page displayed initially when +elpher starts, and when @key{U} is pressed. By default this is set to +@samp{about:welcome}, but any URL can be substituted. For example, you +might want to create a text/gemini file named +@samp{~/.emacs/start-page.gmi} containing useful links and set the value +of @code{elpher-start-page} to @samp{file:~/.emacs/start-page.gmi} to have +these links displayed at startup. Alternatively, you might prefer +to set the value to @samp{about:bookmarks} so that the bookmarks page +is used as the start page instead. + See the customization group itself for details. @node Command Index, News, Customization, Top @@ -683,6 +762,54 @@ See the customization group itself for details. This chapter documents the major changes introduced by Elpher releases. +@section v3.2.0 + +This version introduces several minor changes which, together, make it +possible to set up alternative start pages configured to your liking. + +@subsection About pages + +Special elpher pages such as the welcome page (previously ``start'' +page), the bookmarks page, the browsing history stack and list of +visited pages are now addressible via @samp{about:} URLs. For instance, +the standard welcome page has the address @samp{about:welcome}. + +@subsection Local files + +Local files can now be opened in elpher using @samp{file:} URLs. For +example, @kbd{g @samp{file:~/my-start.gmi}} will open +@samp{~/my-start.gmi} as a text/gemini document. @pxref{Local files} +for details. + +@subsection Customizable start pages + +The new customization variable @code{elpher-start-page} contains the URL +of the document to be loaded as elpher's ``start page''. By default +this is set to @samp{about:welcome}, but any elpher-accessible URL is +valid. @pxref{Customization} for suggestions. + +@section v3.1.0 + +@subsection Bookmarks system + +While Elpher bookmarks are still handled by the Emacs bookmark +system, this release introduces the option to retain the +original elpher bookmark page for the purpose of visiting those +bookmarks. In v3.1.0, @key{B} visits this page (and adds it to +the history stack, as in previous versions), which can be interacted +with using the standard elpher key bindings. + +Of course you can still view the bookmarks in the Emacs bookmark +menu, which you can access from anywhere using the default +binding @kbd{C-x r l} (or by following the link from the Elpher bookmarks +page). Indeed you will need to use this to rename, delete or otherwise +edit your bookmarks. + +If you prefer to avoid using the Elpher bookmark page entirely, you +use the customization variable @code{elpher-use-emacs-bookmark-menu} +to have the @key{B} key open the Emacs bookmark menu directly, as in +the previous release. + @section v3.0.0 @subsection Bookmarks system @@ -698,7 +825,7 @@ bookmark list with the new version. A suffix will be added to your old bookmarks file so that Elpher knows that the import is complete. Secondly, the old Elpher bookmark menu has been removed in the new -version. Instead, @kbd{B} brings up the menu provided by the Emacs +version. Instead, @key{B} brings up the menu provided by the Emacs function @code{bookmark-bmenu-list}. This has different key and mouse bindings to Elpher's old menu, but is much more functional. Bookmarks can be renamed, deleted in groups, and much more. (Use @kbd{C-h m} with @@ -706,9 +833,9 @@ the menu open to see the complete list.) @subsection History -Browsing history can now be accessed via new bindings to @kbd{s} and @kbd{S}. +Browsing history can now be accessed via new bindings to @key{s} and @key{S}. The former shows the current history ``stack'' (pages accessible with -the @kbd{u} key), while the latter shows a list of all pages which have +the @key{u} key), while the latter shows a list of all pages which have been visited in the current session. @subsection Socks connections @@ -744,6 +871,7 @@ assistance and/or patches: @item Simon Nicolussi @item Noodles! @item Jens Östlund +@item Abhiseck Paira @item F. Jason Park @item Omar Polo @item Koushk Roy