GNU Hyperbole is co-maintained by the author Bob Weiner and Mats
[NOTE: As of May 2016, GNU Hyperbole is once again under active
development and testing for release this summer with full Emacs
version 25 compatibility. When it is publicly available, there will be
a notice here and it will be downloadable as a standard Emacs
package. No current, working version is yet available for
- User list for GNU Hyperbole
- List for bug reporting
GNU Hyperbole is an open, efficient, programmable information
management and hypertext system for GNU Emacs. It is intended for
everyday work on any UNIX platform supported by Emacs. It works well
with the versions of Emacs that support the following window systems:
X, Mac OS X, and Windows.
Hyperbole allows hypertext buttons to be embedded within unstructured
and structured files, mail messages and news articles. It offers
intuitive mouse-based control of information display within multiple
windows. It also provides point-and-click access to World-Wide Web
URLs, Info manuals, ftp archives, etc.
Hyperbole consists of five parts:
Info Management: an interactive, unstructured textual information
management interface, including fast, flexible file and text finding
commands. A powerful, hierarchical contact manager, the Rolo, which
anyone can use is also included. It is easy to pick up and use since
it introduces only a few new mechanisms and provides user-level
facilities through a menu interface, which you control from the
keyboard or the mouse; matching pairs of HTML tags, programming
language functions and other structured text items may be selected
with a single click or key press and then operated upon;
Screen Control: the fastest, easiest-to-use window and frame
control available for GNU Emacs. With just a few keystrokes, you can
shift from increasing a window's height by 5 lines to moving a frame
by 220 pixels or immediately moving it to a screen corner. Text in
each window or frame may be enlarged or shrunk (zoomed) for easy
viewing, plus many other features;
The Koutliner: an advanced outliner with multi-level autonumbering,
permanent ids attached to each outline node for use as hypertext link
anchors, per node properties plus flexible view specifications that
can be embedded within links or used interactively;
Button Types: A set of hyper-button types which supply core
hypertext and other behaviors. Buttons may be added to documents
(explicit buttons) or recognized by context (implicit
buttons). Buttons are accessed by clicking on them or referenced by
name (global buttons), which can be activated regardless of what is on
screen. Users can make simple changes to button types and those
familiar with Emacs Lisp can quickly prototype and deliver new types
with just a few lines of code;
Programming Library: a set of programming library classes for
system developers who want to integrate Hyperbole with another user
interface or as a back-end to a distinct system. All of Hyperbole is
written in Emacs Lisp for ease of modification. Hyperbole has been
engineered for real-world usage and is well structured.
A Hyperbole hypertext user works with buttons; he may create, modify,
move or delete buttons. Each button performs a specific action, such
as linking to a file or executing a shell command.
There are three categories of Hyperbole buttons:
Explicit Buttons created by Hyperbole, accessible from within a
Global Buttons created by Hyperbole, accessible anywhere within a
user's network of documents;
Implicit Buttons buttons created and managed by other programs or
embedded within the structure of a document, accessible from within a
single document. Hyperbole recognizes implicit buttons by contextual
patterns given in their type specifications.
Hyperbole buttons may be clicked upon with a mouse to activate them or
to describe their actions. Thus, a user can always check how a button
will act before activating it. Buttons may also be activated from a
keyboard. (In fact, virtually all Hyperbole operations, including menu
usage, may be performed from any standard terminal interface, so one
can use it on distant machines that provide limited display access).
Hyperbole does not enforce any particular hypertext or information
management model, but instead allows you to organize your information
in large or small chunks as you see fit, organizing each bit as time
allows. The Hyperbole Koutliner and Rolo tools organize textual
hierarchies and may also contain links to external information
Some of Hyperbole's most important features include:
Buttons may link to information or may execute commands, such as
computing a complex value or communicating with external programs;
Buttons are quick and easy to create with no programming nor markup
needed. One simply drags between a button source location and a link
destination to create or to modify a link button. The same result can
be achieved from the keyboard.
Buttons may be embedded within email messages and activated from
Emacs mail readers; hyperlinks may include variables so that they work
at different locations where the variable settings differ;
Koutlines allow rapid browsing, editing and movement of chunks of
information organized into trees (hierarchies) and offer links that
include viewspecs which determine how documents are to be displayed,
e.g. show just the first two lines of all levels in a Koutline;
Other hypertext and information retrieval systems may be
encapsulated under a Hyperbole user interface very easily.
Typical Hyperbole applications include:
- Personal Information Management
Overlapping link paths provide a variety of views into an
information space. A single key press activates buttons
regardless of their types, making navigation easy.
A search facility locates buttons in context and permits quick
- Documentation Browsing
Embedding cross-references in a favorite documentation format.
Addition of a point-and-click interface to existing
Linkage of code and design documents. Jumping to the definition of an
identifier from its use within code or its reference within
- Capture of ideas and then quick reorganization with
the Hyperbole Koutliner. Link to related ideas, eliminating the need
to copy and paste information into a single place.
- Help/Training Systems
- Creation of tutorials with embedded buttons
that show students how things work while explaining the concepts,
e.g. an introduction to UNIX commands. This technique can be much more
effective than descriptions alone.
- Archive Managers
- Supplementation of programs that manage archives
from incoming information stream, having them add topic-based buttons
that link to the archive holdings. Users can then search and create
their own links to archive entries.
Registration Date: Thu 07 Aug 2003 07:52:35 AM CEST
License: GNU General Public License v3 or later
Development Status: 4 - Beta
Return to GNU's home page.
Please send FSF & GNU inquiries & questions to
There are also other ways to contact the FSF.
Please send comments on these web pages to
send other questions to
Copyright (C) 1998-2016 Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
Last modified: 2016-06-28T12:32:12UTC