mainGNU Hyperbole - Summary

Membership Info
Project Admins:
2 active members

Group identification
Id: #5019
System Name: hyperbole
Name: GNU Hyperbole
Group Type: Official GNU software

Search in this Group


This project is part of the GNU Project.

GNU Hyperbole

[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 download.]


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:

1. 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;

2. 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;

3. 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;

4. 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;

5. 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.

Hyperbole Buttons

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:

1. Explicit Buttons created by Hyperbole, accessible from within a single document;

2. Global Buttons created by Hyperbole, accessible anywhere within a user's network of documents;

3. 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 sources.

Major Features

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 Applications

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 selection.

- Documentation Browsing Embedding cross-references in a favorite documentation format.

Addition of a point-and-click interface to existing documentation.

Linkage of code and design documents. Jumping to the definition of an identifier from its use within code or its reference within documentation.

- Brainstorming 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 05:52:35 AM UTC
License: GNU General Public License v3 or later
Development Status: 4 - Beta


Latest News rss feed

Back to the top

Powered by Savane 3.1-cleanup