;; - (m)enu key support, similar to Emacs' info browser,
;; - clickable web and gopher links in plain text.
-;; The caching mechanism works by maintaining a hierarchy of visited
-;; pages rather than a linear history, meaning that it is quick and
-;; easy to navigate this history.
+;; Visited pages are stored as a hierarchy rather than a linear history,
+;; meaning that navigation between these pages is quick and easy.
;; To launch Elpher, simply use 'M-x elpher'. This will open a start
;; page containing information on key bindings and suggested starting
;;; Global constants
;;
-(defconst elpher-version "1.0.0"
+(defconst elpher-version "1.1.0"
"Current version of elpher.")
(defconst elpher-margin-width 6
Otherwise, use the system browser via the BROWSE-URL function."
:type '(boolean))
+(defcustom elpher-buttonify-urls-in-directories nil
+ "If non-nil, turns URLs matched in directories into clickable buttons."
+ :type '(boolean))
+
(defcustom elpher-cache-images nil
"If non-nil, cache images in memory in the same way as other content."
:type '(boolean))
use as the start page."
:type '(list string string integer))
-
;;; Model
;;
selector host port)))
(pcase type
(?i (elpher-insert-margin) ;; Information
- (insert (propertize display-string
- 'face 'elpher-info)))
+ (insert (propertize
+ (if elpher-buttonify-urls-in-directories
+ (elpher-buttonify-urls display-string)
+ display-string)
+ 'face 'elpher-info)))
(?h (elpher-insert-margin "W") ;; Web link
(let ((url (elt (split-string selector "URL:") 1)))
(insert-text-button display-string