File: hywiki.el.html

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 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 o ut 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 and strings in programming buffers, when
     hywiki-mode is enabled.

 As HyWikiWords are typed, highlighting occurs after a trailing
 whitespace or punctuation character is added, or when it is
 surrounded by a matching pair of characters such as curly braces
 or single square brackets. Since Org links use double square
 brackets and Org targets use double or triple angle brackets,
 HyWikiWords within these delimiters are ignored.

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

 HyWikiWord links can also link to a section headline within a page
 by simply following the page name with a '#' character and then the
 section headline name. For example, if your Emacs page has a "Major
 Modes" section, then either Emacs#Major-Modes or [[hy:Emacs#Major
 Modes]] will work as a link to that section. Note that without the
 square bracket delimiters, you must convert spaces in section names
 to '-' characters. As long as the page exists, section links are
 highlighted regardless of whether associated sections exist or not.
 When activating a link with a section reference, you will get an
 error if the section does not exist.

 By default (hywiki-mode = :pages), HyWikiWords are
 auto-highlighted within HyWiki pages only. Outside of such pages,
 hywiki-mode must be set to :all to enable auto-highlighting in
 programming and text modes. Auto-highlighting depends on pre- and
 post-command-hook settings. If an error occurs running one of
 these, the associated hook is removed. To restore the
 auto-highlight hooks use {C-u C-h h h m} to toggle hywiki-mode;
 this also enables auto-highlighting when hywiki-mode is non-nil.

 The custom setting, hypb: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/hyperlinked
 within comments and double-quoted strings 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 adds two implicit button types to Hyperbole:
   hywiki-word - create and display HyWikiWord referents;
   hywiki-existing-word - display an existing HyWikiWord referent.

 hywiki-word is one of the lowest priority implicit button types
 so that it triggers only when other types are not recognized first.

 A HyWiki can be exported to HTML for publishing to the web via Org
 mode's publish a project feature. {M-x hywiki-publish-to-html RET}
 will and that's it! Add a prefix argument to force regeneration of all
 HyWiki pages, rather than only those that have been updated.

 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 the standard {C-c C-e P p} current project publish
 command.

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

This section summarizes HyWikiWord Actions based on the

hywiki-referent-prompt-flag When nil When t
 -------------------------------------------------------------------------------------
 Action Key hywiki-word-create-and-display
   or HyWiki/Create Create Page and Display Create Referent and Display
 Assist Key hywiki-word-create-and-display
   or C-u HyWiki/Create Create Referent and Display Create Page and Display
 hywiki-word-create hywiki-create-page with Msg hywiki-create-referent with Msg
 C-u hywiki-word-create hywiki-create-referent with Msg hywiki-create-page with Msg

Defined variables (50)

hywiki--buffer-modified-tick
hywiki--buttonize-character-regexp
hywiki--buttonize-characters-cache
hywiki--close-open-hasht
hywiki--command-executed-flag
hywiki--directory-checksum
hywiki--directory-mod-time
hywiki--open-close-hasht
hywiki--org-heading-regexp
hywiki--org-mode-syntax-table
hywiki--org-todo-regexp
hywiki--referent-alist
hywiki--referent-hasht
hywiki--word-and-buttonize-character-regexp
hywiki-allow-plurals-flag
hywiki-allow-suffix-referent-types
hywiki-buffer-highlighted-state
hywiki-cache-default-file
hywiki-cache-file
hywiki-default-mode
hywiki-directory
hywiki-display-page-function
hywiki-file-extension
hywiki-glossary-display-buffer
hywiki-highlight-all-in-prog-modes
hywiki-ignore-face-list
hywiki-mode
hywiki-mode-hook
hywiki-mode-lighter
hywiki-mode-map
hywiki-non-character-commands
hywiki-org-link-type
hywiki-org-link-type-required
hywiki-org-publish-project-alist
hywiki-org-publishing-broken-links
hywiki-org-publishing-directory
hywiki-org-publishing-function
hywiki-org-publishing-sitemap-title
hywiki-page-flag
hywiki-referent-menu
hywiki-referent-prompt-flag
hywiki-word-create-exclude-action-key-modes
hywiki-word-face
hywiki-word-line-and-column-numbers-regexp
hywiki-word-regexp
hywiki-word-section-regexp
hywiki-word-suffix-regexp
hywiki-word-with-optional-suffix-exact-regexp
hywiki-word-with-optional-suffix-regexp
hywiki-yank-reformat-function

Defined functions (206)

actypes::link-to-wikiword
hydef(&rest TERM)
hywiki--add-suffix-to-referent
hywiki--buttonized-region-p
hywiki--clear-buttonize-characters-cache
hywiki--export-completion-function
hywiki--export-preparation-function
hywiki--extend-region
hywiki--get-all-references
hywiki--get-delimited-range-backward
hywiki--get-delimited-range-forward
hywiki--maybe-de/highlight-org-element-backward
hywiki--maybe-de/highlight-org-element-forward
hywiki--maybe-de/highlight-sexp
hywiki--maybe-dehighlight-at-point
hywiki--maybe-rehighlight-at-point
hywiki--org-link-html-format
hywiki--org-set-heading-regexp
hywiki--pathname-reference-to-org-link
hywiki--sitemap-file
hywiki-active-in-current-buffer-p
hywiki-add-activity
hywiki-add-bookmark
hywiki-add-command
hywiki-add-denote
hywiki-add-elisp
hywiki-add-global-button
hywiki-add-glossary-entry
hywiki-add-hyrolo
hywiki-add-info-index
hywiki-add-info-node
hywiki-add-key-series
hywiki-add-org-id
hywiki-add-org-roam-node
hywiki-add-page
hywiki-add-path-link
hywiki-add-referent
hywiki-add-spec(WIKIWORD)
hywiki-add-to-referent
hywiki-at-range-delimiter
hywiki-at-tags-p
hywiki-cache-default-file
hywiki-cache-edit
hywiki-cache-save
hywiki-clear-referent-hasht
hywiki-completing-read-glossary-term
hywiki-completion-at-point
hywiki-completion-exit-function
hywiki-consult-backlink(REFERENCE)
hywiki-consult-grep(&optional REGEXP MAX-MATCHES PATH-LIST PROMPT)
hywiki-consult-page-and-headline
hywiki-create-page
hywiki-create-referent
hywiki-create-referent-and-display
hywiki-delimited-p
hywiki-denote-file-to-wikiword
hywiki-denote-id-to-wikiword
hywiki-directory-changed
hywiki-directory-dired-edit
hywiki-directory-edit
hywiki-directory-get-checksum
hywiki-directory-get-mod-time
hywiki-directory-modified-p
hywiki-directory-set-checksum
hywiki-directory-treemacs-edit
hywiki-display-activity
hywiki-display-bookmark
hywiki-display-command
hywiki-display-denote
hywiki-display-elisp
hywiki-display-find
hywiki-display-global-button
hywiki-display-glossary-entry
hywiki-display-hyrolo
hywiki-display-info-index
hywiki-display-info-node
hywiki-display-key-series
hywiki-display-org-id
hywiki-display-org-roam-node
hywiki-display-page
hywiki-display-path-link
hywiki-display-referent
hywiki-display-referent-type
hywiki-display-sexpression
hywiki-display-spec
hywiki-find-page(&optional WIKIWORD)
hywiki-find-referent(&optional WIKIWORD PROMPT-FLAG)
hywiki-format-grep-to-reference
hywiki-format-reference-to-consult-grep
hywiki-get-buffer-page-name
hywiki-get-buffers
hywiki-get-buffers-in-windows
hywiki-get-buttonize-characters
hywiki-get-definition(TERM &optional DISPLAY-FLAG FILE)
hywiki-get-delimited-region
hywiki-get-entry(REFERENCE &optional DISPLAY-FLAG FILE REGEXP-FLAG)
hywiki-get-existing-page-file
hywiki-get-glossary-file
hywiki-get-glossary-terms
hywiki-get-page-file
hywiki-get-page-files
hywiki-get-page-headings
hywiki-get-page-list
hywiki-get-plural-wikiword
hywiki-get-reference-positions
hywiki-get-reference-range
hywiki-get-references
hywiki-get-referent
hywiki-get-referent-hasht
hywiki-get-referent-list
hywiki-get-singular-wikiword
hywiki-get-term-variant-regexp
hywiki-get-wikiword-list
hywiki-help
hywiki-highlight-on-yank
hywiki-highlight-page
hywiki-highlight-word-get-range
hywiki-highlight-word-move-range
hywiki-highlighted-word-at
hywiki-ignore-command-hooks-p
hywiki-in-page-p
hywiki-init
hywiki-insert-link(&optional ARG)
hywiki-kill-buffer-hook
hywiki-let-directory(OPTION VALUE)
hywiki-make-referent-hasht
hywiki-map-words(FUNC)
hywiki-maybe-at-wikiword-beginning
hywiki-maybe-dehighlight-balanced-pairs
hywiki-maybe-dehighlight-between-references
hywiki-maybe-dehighlight-off-reference
hywiki-maybe-dehighlight-org-element-backward
hywiki-maybe-dehighlight-org-element-forward
hywiki-maybe-dehighlight-reference(&optional ON-REFERENCE)
hywiki-maybe-dehighlight-references(&optional REGION-START REGION-END)
hywiki-maybe-dehighlight-sexp
hywiki-maybe-highlight-balanced-pairs[Arg list not available until function definition is loaded.]
hywiki-maybe-highlight-between-references
hywiki-maybe-highlight-off-reference
hywiki-maybe-highlight-org-element-backward
hywiki-maybe-highlight-org-element-forward
hywiki-maybe-highlight-reference(&optional ON-REFERENCE)
hywiki-maybe-highlight-references
hywiki-maybe-highlight-sexp
hywiki-maybe-highlight-wikiwords-in-frame
hywiki-message-spec
hywiki-mode(&optional ARG)
hywiki-mode-around-advice
hywiki-mode-disable
hywiki-mode-normalize
hywiki-non-page-elt
hywiki-org-directory-todo-regexp
hywiki-org-export-function
hywiki-org-format-heading(HEADING &optional NO-TAGS NO-TODO NO-PRIORITY NO-COMMENT NO-STATS)
hywiki-org-get-heading-match-regexp
hywiki-org-get-publish-project
hywiki-org-get-publish-property
hywiki-org-get-titles-from-headings
hywiki-org-link-complete
hywiki-org-link-export(LINK DESCRIPTION FORMAT INFO)
hywiki-org-link-store
hywiki-org-maybe-add-title
hywiki-org-set-publish-project
hywiki-org-to-heading-instance
hywiki-page-exists-p
hywiki-page-read-new
hywiki-page-read-reference
hywiki-potential-buffer-p
hywiki-publish-to-html
hywiki-read-headline-regexp
hywiki-reference-to-org-link
hywiki-reference-to-referent
hywiki-references-to-org-links
hywiki-referent-exists-p
hywiki-scan-sexps
hywiki-section-to-headline-reference
hywiki-set-directory(OPTION VALUE)
hywiki-string-to-wikiword
hywiki-tags-view(&optional TODO-ONLY MATCH VIEW-BUFFER-NAME)
hywiki-wikiword-to-string
hywiki-word-action-key-creation-allowed-p[Arg list not available until function definition is loaded.]
hywiki-word-activate
hywiki-word-add-completion-at-point
hywiki-word-at
hywiki-word-consult-grep(WORD)
hywiki-word-create(WIKIWORD &optional REF-TYPE-FLAG)
hywiki-word-create-and-display
hywiki-word-dehighlight-buffers
hywiki-word-dehighlight-in-buffers
hywiki-word-face-at-p
hywiki-word-from-reference
hywiki-word-get-range
hywiki-word-grep
hywiki-word-highlight-buffers
hywiki-word-highlight-in-buffers
hywiki-word-highlight-in-current-buffer
hywiki-word-highlight-in-frame
hywiki-word-highlight-post-command
hywiki-word-highlight-post-self-insert
hywiki-word-is-p
hywiki-word-not-followed-by-p
hywiki-word-read-new
hywiki-word-remove-completion-at-point
hywiki-word-set-auto-highlighting
hywiki-word-strip-suffix
hywiki-yank(REFERENCE &optional REGEXP-FLAG)

Defined faces (0)