[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 8d8489706f 1/3: Add HyWiki demo section to FA
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 8d8489706f 1/3: Add HyWiki demo section to FAST-DEMO and hywiki/*.org files |
Date: |
Thu, 15 Aug 2024 03:58:26 -0400 (EDT) |
branch: externals/hyperbole
commit 8d8489706fc761829dbf7c3ca5f995d4ed09da83
Author: bw <rsw@gnu.org>
Commit: bw <rsw@gnu.org>
Add HyWiki demo section to FAST-DEMO and hywiki/*.org files
---
ChangeLog | 8 ++++++
FAST-DEMO | 36 ++++++++++++++++++++++++
Makefile | 12 ++++----
hywiki/HyWiki.org | 73 +++++++++++++++++++++++++++++++++++++++++++++++++
hywiki/HyWikiMenus.org | 32 ++++++++++++++++++++++
hywiki/Publishing.org | 26 ++++++++++++++++++
man/hyperbole.html | 26 ++++++++++--------
man/hyperbole.info | Bin 648939 -> 649163 bytes
man/hyperbole.pdf | Bin 1394399 -> 1394636 bytes
man/hyperbole.texi | 27 ++++++++++--------
10 files changed, 211 insertions(+), 29 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d20e116a9d..cec55ab4a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2024-08-15 Bob Weiner <rsw@gnu.org>
+
+* Makefile (HYPERBOLE_FILES): Add all Org files under the hywiki dir.
+
+2024-08-14 Bob Weiner <rsw@gnu.org>
+
+* FAST-DEMO: Add HyWiki section and associated hywiki pages sub-directory.
+
2024-08-13 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Menus): Add description of Doc/ and HyWiki/ menus.
diff --git a/FAST-DEMO b/FAST-DEMO
index 569adfbad8..fda71bc84b 100644
--- a/FAST-DEMO
+++ b/FAST-DEMO
@@ -434,6 +434,42 @@ To learn how to create new kinds of implicit button and
action types, see
mode or Outline mode), managing the precise location of windows and frames,
and one of the most advanced legal outliners available anywhere.
+** HyWiki
+
+ HyWiki is Hyperbole's markup-free personal wiki system for note-taking
+ and automatic wiki-word highlighting and hyperlinking. It uses Org
+ mode for note taking and adds automatic hyperlinking of HyWikiWords
+ within Org files in `hywiki-directory' (default = "~/hywiki"), where
+ a HyWikiWord is a capitalized word that contains upper and lowercase
+ letters only and has a corresponding HyWikiWord.org wiki page file
+ below `hywiki-directory'. HyWikiWords require no delimiters.
+
+ Use {M-RET} on the first line of the expression below to set a demo
+ HyWiki directory and turn on hywiki-mode so HyWikiWords are
+ highlighted outside of the HyWiki directory.
+
+ <progn (setq hywiki-directory (hpath:expand "${hyperb:dir}/hywiki/"))
+ (hywiki-mode 1)>
+
+ Now all these wiki-words should be highlighted and can appear in any
+ text buffer and will be treated as hyperlinks. Simply press {M-RET}
+ on each to display the associated wiki page:
+
+ HyWiki
+ HyWikiMenus
+ Publishing
+
+ Let's create a new page. Press {M-RET} on the HyWikiWord below:
+
+ TestWord
+
+ Finally, let's restore the standard HyWiki directory so you can add
+ your own HyWiki pages. Press {M-RET} on the following expression.
+
+ <setq hywiki-directory "~/hywiki/">
+
+ See "(hyperbole)HyWiki" for full details on HyWiki.
+
** HyRolo
HyRolo is an advanced hierarchical, record-oriented retrieval system that
diff --git a/Makefile b/Makefile
index 085b6203d8..e05f7cf8ee 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
# Author: Bob Weiner
#
# Orig-Date: 15-Jun-94 at 03:42:38
-# Last-Mod: 12-Aug-24 at 00:26:29 by Mats Lidell
+# Last-Mod: 15-Aug-24 at 00:32:27 by Bob Weiner
#
# Copyright (C) 1994-2023 Free Software Foundation, Inc.
# See the file HY-COPY for license information.
@@ -226,10 +226,10 @@ HY-TALK = HY-TALK/.hypb HY-TALK/HYPB HY-TALK/HY-TALK.org
HY-TALK/HYPERAMP.org H
HYPERBOLE_FILES = dir info html $(EL_SRC) $(EL_KOTL) \
$(HY-TALK) .mailmap ChangeLog COPYING Makefile HY-ABOUT HY-ANNOUNCE \
- HY-CONCEPTS.kotl HY-NEWS \
- HY-WHY.kotl INSTALL DEMO DEMO-ROLO.otl FAST-DEMO MANIFEST README.md
TAGS _hypb \
- .hypb hyrolo.py smart-clib-sym topwin.py hyperbole-banner.png
$(man_dir)/hkey-help.txt \
- $(man_dir)/hyperbole.texi $(man_dir)/hyperbole.css
+ HY-CONCEPTS.kotl HY-NEWS HY-WHY.kotl $(wildcard hywiki/*.org) \
+ INSTALL DEMO DEMO-ROLO.otl FAST-DEMO MANIFEST README.md TAGS _hypb \
+ .hypb hyrolo.py smart-clib-sym topwin.py hyperbole-banner.png \
+ $(man_dir)/hkey-help.txt $(man_dir)/hyperbole.texi
$(man_dir)/hyperbole.css
TEST_ERT_FILES = $(wildcard test/*tests.el) $(wildcard test/hy-test-*.el)
@@ -238,7 +238,7 @@ EL_TAGS = $(EL_SRC) $(EL_KOTL) $(TEST_ERT_FILES)
.SUFFIXES: # Delete the default suffixes
.SUFFIXES: .el .elc # Define the list of file suffixes to match to rules
-help:
+help:
@echo "Use the Emacs Package Manager to build and install the latest
release of GNU Hyperbole."
@echo "For help with Emacs packages, see the GNU Emacs Info Manual
section, \"(emacs)Packages\"."
@echo "See \"$(shell pwd)/INSTALL\" for detailed installation
instructions,"
diff --git a/hywiki/HyWiki.org b/hywiki/HyWiki.org
new file mode 100644
index 0000000000..29ed6e5f99
--- /dev/null
+++ b/hywiki/HyWiki.org
@@ -0,0 +1,73 @@
+;;; -*- org-link-descriptive: nil -*-
+
+* HyWiki
+
+This is Hyperbole's markup-free personal wiki system for note-taking
+and automatic wiki word highlighting and hyperlinking. It uses Org
+mode for note taking and adds automatic hyperlinking of HyWikiWords
+within Org files in `hywiki-directory' (default = "~/hywiki"), where
+a HyWikiWord is a capitalized word that contains upper and lowercase
+letters only and has a corresponding HyWikiWord.org wiki page file
+below `hywiki-directory'. HyWikiWords require no delimiters.
+
+* HyWikiWords
+
+HyWikiWords are also recognized in text buffers after the global
+minor mode, `hywiki-mode' is enabled via {M-x hywiki-mode RET}. To
+create or jump to a HyWiki page, simply type out a potential
+HyWikiWord or move point onto one and press the Action Key {M-RET}.
+This will create the associated page if it does not exist. This
+also highlights any other instances of HyWikiWords across all
+visible Emacs windows. HyWiki is built for scalability and has been
+tested to be performant with 10,000 HyWikiWords.
+
+Once Hyperbole has been loaded and activated, HyWikiWords (with or
+without delimiters) are automatically highlighted and active in
+the following contexts:
+ - HyWiki page buffers;
+ - non-special text buffers, when `hywiki-mode' is enabled;
+ - comments of programming buffers, when `hywiki-mode' is enabled.
+
+As HyWikiWords are typed, highlighting occurs after a trailing
+whitespace or punctuation character is added, or when an opening
+or closing parenthesis or curly brace is added to surround the
+HyWikiWord. Since Org links use double square brackets and Org
+targets use double or triple angle brackets, HyWikiWords within
+these delimiters are ignored.
+
+* Org-style HyWiki Links
+
+You can also create Org links to HyWikiWords in any non-special text
+buffer by surrounding them with double square brackets and the
+'hy:' prefix, as in: [[hy:MyWikiWord]]. If you set
+`hywiki-org-link-type-required' to `nil', then you don't need the
+prefix, e.g. [[MyWikiWord]]; existing HyWiki page names then will
+override Org's standard handling of such links. To prevent Org
+mode's binding of {M-RET} from splitting lines and creating new
+headlines when on a HyWiki word whose page has not yet been
+created, set `hsys-org-enable-smart-keys' to `t' so that
+Hyperbole's Action Key does the right thing in this context.
+
+* HyWiki Settings
+
+The custom setting, 'hywiki-word-highlight-flag' (default = 't'),
+means HyWikiWords will be auto-highlighted within HyWiki pages.
+Outside of such pages, 'hywiki-mode' must also be enabled for such
+auto-highlighting.
+
+The custom setting, 'hywiki-exclude-major-modes' (default = 'nil'), is
+a list of major modes to exclude from HyWikiWord auto-highlighting and
+recognition.
+
+Within programming modes, HyWikiWords are highlighted and hyperlinked
+within comments only. For programming modes in which you want
+HyWikiWords recognized everywhere, add them to the custom setting,
+'hywiki-highlight-all-in-prog-modes' (default =
+''(lisp-interaction-mode)').
+
+* hywiki-word Implicit Button Type
+
+HyWiki adds one implicit button type to Hyperbole: 'hywiki-word',
+which creates and displays HyWikiWord pages. This is one of the lowest
+priority implicit button types so that it triggers only when other types
+are not recognized first.
diff --git a/hywiki/HyWikiMenus.org b/hywiki/HyWikiMenus.org
new file mode 100644
index 0000000000..73c8330472
--- /dev/null
+++ b/hywiki/HyWikiMenus.org
@@ -0,0 +1,32 @@
+* HyWiki Menu
+
+The HyWiki minibuffer menu offers quick access to important HyWiki
+features. It looks like this:
+
+ HyWiki> Act Create Edit Grep Help Info Link Publish Search
+
+Below are descriptions of each menu item.
+
+** Act
+ Activate HyWikiWord link at point.
+** Create
+ Create and display a new HyWiki page. Shows existing page names to
+ aid in new naming.
+** Edit
+ Prompt with completion for and display a HyWiki page ready for
+ editing.
+** Grep
+ Grep over HyWiki pages with interactive 'hywiki-consult-grep'.
+** Help
+ Report on a HyWikiWord's attributes.
+** Info
+ Display Hyperbole manual section on HyWiki.
+** Link
+ Prompt for and add a link at point to a HyWiki page.
+** Publish
+ Publish modified pages in the HyWiki to HTML; prefix arg to publish
+ all pages.
+** Search
+ Use 'hywiki-consult-grep' to show occurrences of a prompted for
+ HyWikiWord.
+
diff --git a/hywiki/Publishing.org b/hywiki/Publishing.org
new file mode 100644
index 0000000000..192bdbca9e
--- /dev/null
+++ b/hywiki/Publishing.org
@@ -0,0 +1,26 @@
+* Publishing a HyWiki
+
+A HyWiki can be exported to HTML for publishing to the web via Org
+mode's publish a project feature. {C-h h h p} or {M-x
+hywiki-publish-to-html <RET>} publishes any changed files in the HyWiki.
+Give that command a prefix argument to force republishing of all HyWiki
+pages.
+
+The full set of HyWiki-specific Org publish properties are set in the
+variable 'hywiki-org-publish-project-alist'. When the HyWiki code is
+loaded into Emacs, it automatically integrates these properties with
+Org's publishing framework, so when in a HyWiki page, you can use
+Org's standard {C-c C-e P p} current project publish command if you
+prefer.
+
+There are a few publishing settings you can customize prior to loading
+Hyperbole's HyWiki code.
+
+HyWiki html files are saved in: (hywiki-org-get-publish-property
+:publishing-directory). Customize this directory with: {M-x
+customize-variable <RET> hywiki-org-publishing-directory <RET>}
+
+HyWiki html files are generated by the function given by:
+(hywiki-org-get-publish-property :publishing-function). Customize the
+value of this function if necessary with: {M-x customize-variable
+<RET> hywiki-org-publishing-function <RET>}
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 9de30d3744..ed04e994bf 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -108,7 +108,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
Edition 9.0.2pre
-Printed August 14, 2024.
+Printed August 15, 2024.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -4439,13 +4439,6 @@ Next: <a href="#Publish-HyWiki" accesskey="n"
rel="next">Publish HyWiki</a>, Pre
</div>
<span id="HyWikiWords-1"></span><h3 class="section">6.1 HyWikiWords</h3>
-<span id="index-hywiki_002dmode"></span>
-<span id="index-hywiki_002dmode-1"></span>
-<p>HyWikiWords can also be highlighted and treated as hyperlinks in
-buffers outside of the <code>hywiki-directory</code> when the global
-minor mode, <code>hywiki-mode</code> is enabled via <kbd>{M-x hywiki-mode
-<span class="key">RET</span>}</kbd>.
-</p>
<span id="index-HyWikiWord"></span>
<span id="index-WikiWord"></span>
<span id="index-HyWiki-Org-link-format"></span>
@@ -4453,9 +4446,19 @@ minor mode, <code>hywiki-mode</code> is enabled via
<kbd>{M-x hywiki-mode
<span id="index-hy_003a-prefix"></span>
<p>A <em>HyWikiWord</em> is a capitalized word that contains upper and
lowercase letters only and has a corresponding <samp>HyWikiWord.org</samp>
-wiki page file below <code>hywiki-directory</code>. HyWikiWords require no
-delimiters but if you prefer them as Org links, simply delimit them
-with the ‘hy:’ prefix like so: [[hy:HyWikiWord]].
+wiki page file below <code>hywiki-directory</code>. HyWikiWords in HyWiki
+pages are automatically highlighted and turned into hyperlinks as soon
+as you type them, without the need for any delimiters. However, if
+you prefer to use Org-style links, imply delimit them with double
+square brackets and the ‘hy:’ prefix like so: [[hy:HyWikiWord]].
+</p>
+<span id="index-HyWikiWord_002c-outside-the-wiki"></span>
+<span id="index-hywiki_002dmode"></span>
+<span id="index-hywiki_002dmode-1"></span>
+<p>HyWikiWords can also be highlighted and treated as hyperlinks in
+buffers outside of the <code>hywiki-directory</code> when the global
+minor mode, <code>hywiki-mode</code> is enabled via <kbd>{M-x hywiki-mode
+<span class="key">RET</span>}</kbd>.
</p>
<span id="index-hywiki_002dorg_002dlink_002dtype_002drequired"></span>
<span id="index-hsys_002dorg_002denable_002dsmart_002dkeys-2"></span>
@@ -15176,6 +15179,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function, Variable and Fi
<tr><td></td><td valign="top"><a
href="#index-HyWikiWord">HyWikiWord</a>:</td><td> </td><td valign="top"><a
href="#HyWikiWords">HyWikiWords</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HyWikiWord-contexts">HyWikiWord
contexts</a>:</td><td> </td><td valign="top"><a
href="#HyWikiWords">HyWikiWords</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-HyWikiWord-highlighting">HyWikiWord
highlighting</a>:</td><td> </td><td valign="top"><a
href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-HyWikiWord_002c-outside-the-wiki">HyWikiWord, outside the
wiki</a>:</td><td> </td><td valign="top"><a
href="#HyWikiWords">HyWikiWords</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Concept-Index_cp_letter-I">I</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a
href="#index-ibtype">ibtype</a>:</td><td> </td><td valign="top"><a
href="#Programmatic-Implicit-Button-Types">Programmatic Implicit Button
Types</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 55ac268c8f..50e6010815 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index d4bda0de93..5b8fb12766 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 6f56e64d2b..6da9b8a03f 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -159,7 +159,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
Edition 9.0.2pre
-Printed August 14, 2024.
+Printed August 15, 2024.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -201,7 +201,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@example
Edition 9.0.2pre
-August 14, 2024
+August 15, 2024
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -4344,13 +4344,6 @@ your entire HyWiki to an HTML directory for export to
the web.
@node HyWikiWords, Publish HyWiki, HyWiki, HyWiki
@section HyWikiWords
-@cindex hywiki-mode
-@findex hywiki-mode
-HyWikiWords can also be highlighted and treated as hyperlinks in
-buffers outside of the @code{hywiki-directory} when the global
-minor mode, @code{hywiki-mode} is enabled via @bkbd{M-x hywiki-mode
-@key{RET}}.
-
@cindex HyWikiWord
@cindex WikiWord
@cindex HyWiki Org link format
@@ -4358,9 +4351,19 @@ minor mode, @code{hywiki-mode} is enabled via @bkbd{M-x
hywiki-mode
@cindex hy: prefix
A @dfn{HyWikiWord} is a capitalized word that contains upper and
lowercase letters only and has a corresponding @file{HyWikiWord.org}
-wiki page file below @code{hywiki-directory}. HyWikiWords require no
-delimiters but if you prefer them as Org links, simply delimit them
-with the `hy:' prefix like so: [[hy:HyWikiWord]].
+wiki page file below @code{hywiki-directory}. HyWikiWords in HyWiki
+pages are automatically highlighted and turned into hyperlinks as soon
+as you type them, without the need for any delimiters. However, if
+you prefer to use Org-style links, imply delimit them with double
+square brackets and the `hy:' prefix like so: [[hy:HyWikiWord]].
+
+@cindex HyWikiWord, outside the wiki
+@cindex hywiki-mode
+@findex hywiki-mode
+HyWikiWords can also be highlighted and treated as hyperlinks in
+buffers outside of the @code{hywiki-directory} when the global
+minor mode, @code{hywiki-mode} is enabled via @bkbd{M-x hywiki-mode
+@key{RET}}.
@vindex hywiki-org-link-type-required
@vindex hsys-org-enable-smart-keys