HyWiki: Zero Markup Hypertext | Charlie Holland's Blog
Skip to main content<br>HyWiki: Zero Markup Hypertext<br>HyWiki: Zero Markup Hypertext<br>July 7, 2026
© 2026 Charlie Holland
HyWiki: Zero Markup Hypertext
HyWiki: Zero Markup Hypertext
Table of Contents
1. TLDR
2. About emacs hyperbole hywiki knowledgeManagement
3. Implicit Buttons: Emacs as a Hyperverse hyperbole implicitButtons
4. Minimum-Viable Syntax hywiki knowledgeManagement
5. The Omniscient Second Brain hyperbole hypertext
6. Your File System is the Knowledge Base knowledgeManagement hypertext
7. HyWiki Makes Writing More Valuable writing learning
8. Getting Started hyperbole
9. Further Reading
1. TLDR
A key feature is missing from most Personal Knowledge Management Systems (PKMSs): define a concept by pressing a keybinding on a word , and from then on all occurrences of that word become live, actionable links everywhere. This capability would transform your knowledge base from a siloed graph into an omniscient second brain . That is the unique feature of the HyWiki part of the GNU Hyperbole package for Emacs, a wiki whose only syntax is the HyWikiWord: a PascalCased word like Emacs or EmacsCompletion, without the link delimiters ([[ ]]) other PKMSs require.
Because a WikiWord is a Hyperbole implicit button, once defined it is highlighted and actionable in every text and programming buffer, not just inside a siloed notes vault. This lets you keep the messy majority of your notes as frictionless, markup-free text, promoting only the few broader concepts into formal nodes. The reduced friction HyWiki provides leads to more and better writing, and deeper understanding. This post also dispels the myth that Hyperbole is too deep to learn. In actual fact, it is useful the moment you install it, and Implicit Buttons and HyWiki are the two best places to start.
2. About emacs hyperbole hywiki knowledgeManagement
A plethora of PKMSs have come online over the last few years. Most of them give you a siloed container within which you author your notes with hardcoded links. These solutions ignore the critical reality that your entire file system is already a container of knowledge-bearing texts that naturally possess organic connective tissue in the form of implicit and explicit relationships.
Hyperbole's approach honors this reality and facilitates your knowledge traversal, annotation, and synthesis across the interconnected web of information that is already on your machine.
This is the first post in a series on Hyperbole, a package I think is immensely useful and often misunderstood. The misunderstanding is usually about depth. Hyperbole is extensive and turns your Emacs into a vastly capable personalized information environment (PIE)1. People assume Hyperbole's vastness means it is demanding, but I've found it has almost no adoption burden relative to other Emacs packages.
Like many of the best Emacs packages, it is useful the second you install it and asks almost nothing of you to begin using it effectively. You do not need to grok the whole Hyperbole system, and instead you can adopt it incrementally, one capability at a time.
The two best on-ramps, and the subjects of this post, are Implicit Buttons and HyWiki .
3. Implicit Buttons: Emacs as a Hyperverse hyperbole implicitButtons
Before HyWiki, we need to lay the groundwork with Hyperbole's most important concept: Implicit Buttons.
Hyperbole author Bob Weiner describes implicit buttons as "pattern recognizers across large text corpuses," and that phrase is worth analyzing, because it is the magic trick that transforms your Emacs from a big bag of text into an interconnected and navigable hyperverse.
An ordinary hyperlink is explicit. You must explicitly add markup, wrapping some text in specialized syntax (such as an or [[Org Link]]) so that some software knows it is actionable (or clickable). In contrast, an implicit button is a natural part of text with minimal syntax to type or distract your eye while reading. Any piece of text, marked up or not, can be an implicit button.
How? When you press the Action Key (M-RET by default), Hyperbole runs a cascade of context-sensitive recognizers over the plain text around point (your cursor) and asks: Does this look actionable? Things like a file path, a URL, a bug reference like fixes #43, a man-page name, a file-and-line-number, a WikiWord, or a programming symbol are all patterns, and each pattern carries an associated action. The combination of pattern and action creates an implicit button type that automatically recognizes matching buttons throughout your Emacs buffers.
So, the Action Key activates any implicit button at point and Hyperbole infers, from context, what the text is and what to do with it. This is similar to double-clicking a GUI button, but more powerful in concept because any text (and everything in Emacs is text) can be an implicit button. Ramin Honary, who gave a fantastic EmacsConf talk...