emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole 99cc9cbd75 9/9: Merge pull request #569 from


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 99cc9cbd75 9/9: Merge pull request #569 from rswgnu/rsw
Date: Sun, 11 Aug 2024 03:58:28 -0400 (EDT)

branch: externals/hyperbole
commit 99cc9cbd750c9fcb46fbd420ceafff348090b8e0
Merge: 68b68ded5f 185affeb56
Author: Robert Weiner <rsw@gnu.org>
Commit: GitHub <noreply@github.com>

    Merge pull request #569 from rswgnu/rsw
    
    HyWiki - Publish a HyWiki to HTML: {M-x hywiki-publish-to-html RET}
---
 ChangeLog        |  68 ++++++++++++----
 hsys-org-roam.el |  10 +--
 hynote.el        |  34 ++++++--
 hywiki.el        | 232 ++++++++++++++++++++++++++++++++++++++++---------------
 4 files changed, 254 insertions(+), 90 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d1b8e1c30e..0e77f3d563 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2024-08-11  Bob Weiner  <rsw@gnu.org>
+
+* hywiki.el (hywiki-maybe-highlight-page-names-in-frame): Reduce sit-for
+    to 0 since just want to trigger redisplay.
+            (hywiki-publish-to-html): Retrieve HyWiki project by name.
+           (hywiki-directory): Change to a defcustom so can set this before
+    loading Hyperoble.
+
+2024-08-10  Bob Weiner  <rsw@gnu.org>
+
+* hynote.el: Update commentary to current functionality.
+             (hynote-get-file): Add ".otl" and ".outl" suffixes for Emacs
+    outline and HyRolo files.
+
+* hywiki.el (hywiki-org-export-function): Add and use as advice on
+    'org-element--generate-copy-script'.
+            (hywiki-get-page): Fix so just returns nil if page name is invalid
+     or not found.
+            (hywiki-org-link-resolve ,hywiki-org-link-export): Handle nil as a
+     'link' arg value.  In resolve function, remove any hy: prefix and return
+     nil if wiki page is not found.  In export function, return 'link' arg
+     with no markup if wiki page is not found.
+            (hywiki-org-publishing-directory): Add as location to exported 
HyWiki
+     pages to.
+            (hywiki-org-publishing-function): Add as Org function used to 
export
+     each HyWiki page.
+            (hywiki-org-publish-project-alist): Add with properties for
+     exporting a HyWiki.
+            (hywiki-org-get-publish-project, hywiki-org-get-publish-property):
+     Add to simplify HyWiki Org publish property handling.
+            (hywiki-publish-to-html): Add to export HyWiki pages to html.  With
+     a prefix argument, regenerate all html pages.
+
 2024-08-08  Mats Lidell  <matsl@gnu.org>
 
 * test/hibtypes-tests.el (elisp-compiler-msg-test): Add test.
@@ -16,24 +49,28 @@
 
 2024-07-31  Bob Weiner  <rsw@gnu.org>
 
-* hibtypes.el (org-uuid-regexp): Add variable def for when missing in certain 
earlier Org
-    versions.
+* hibtypes.el (org-uuid-regexp): Add variable def for when missing in certain
+    earlier Org versions.
 
-* test/hsys-org-tests.el (hsys-org---agenda-tags-string): Fix to current tag 
handling code.
+* test/hsys-org-tests.el (hsys-org---agenda-tags-string): Fix to current tag
+    handling code.
 
 2024-07-28  Bob Weiner  <rsw@gnu.org>
 
-* hproperty.el (hproperty:but-add): Add a button only when a button with the 
same property
-    value, start, and end does not already exist, to prevent duplicates.
+* hproperty.el (hproperty:but-add): Add a button only when a button with the
+    same property value, start, and end does not already exist, to prevent
+    duplicates.
 
-* hywiki.el (hywiki-maybe-highlight-page-name): Fix to dehighlight wiki words 
only if within
-    double square or angle brackets (leaving these to Org to handle).
-    (hywiki-buttonize-non-character-commands): Add 'delete-' commands.
-    (hywiki--highlighting-done-flag): Add and use in 
'hywiki-maybe-highlight-page-name'.
-    (hywiki-maybe-highlight-org-element-backward,
-     hywiki-maybe-highlight-org-element-forward): Add these two functions.
-    (hywiki-maybe-highlight-page-names): Fix to not use whole buffer highlight 
flag when
-       given a region.
+* hywiki.el (hywiki-maybe-highlight-page-name): Fix to dehighlight wiki words
+    only if within double square or angle brackets (leaving these to Org to
+    handle).
+            (hywiki-buttonize-non-character-commands): Add 'delete-' commands.
+            (hywiki--highlighting-done-flag): Add and use in
+    'hywiki-maybe-highlight-page-name'.
+            (hywiki-maybe-highlight-org-element-backward,
+            (hywiki-maybe-highlight-org-element-forward): Add these two 
functions.
+            (hywiki-maybe-highlight-page-names): Fix to not use whole buffer
+    highlight flag when given a region.
 
 * hsys-org-roam.el (hsys-org-roam-tags-view):
   hsys-org.el (hsys-org-tags-view):
@@ -44,8 +81,9 @@
     'org-consult-agenda-function' to 'agenda-tags-view-function' since does
     not require the consult package and don't want to override any org
     package name.  Improve doc string.
-              (hsys-org--agenda-tags-string): Improve doc string and fix to 
return
-    non-nil only when point is within a tag string.  Simplify return value 
creation.
+              (hsys-org--agenda-tags-string): Improve doc string and fix to
+    return non-nil only when point is within a tag string.  Simplify return
+    value creation.
 
 2024-07-28  Mats Lidell  <matsl@gnu.org>
 
diff --git a/hsys-org-roam.el b/hsys-org-roam.el
index 9f16e40320..99082e6425 100644
--- a/hsys-org-roam.el
+++ b/hsys-org-roam.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    26-Feb-23 at 11:20:15 by Bob Weiner
-;; Last-Mod:      8-Aug-24 at 23:49:13 by Mats Lidell
+;; Last-Mod:     11-Aug-24 at 00:46:33 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -33,13 +33,13 @@
 ;;; ************************************************************************
 
 (defvar consult-org-roam-grep-func)
-(defvar org-roam-directory)
 (defvar hsys-org-at-tags-p)
-(defvar org-agenda-files)
 (defvar org-agenda-buffer-tmp-name)
-(declare-function org-roam-db-autosync-mode "ext:org-roam")
-(declare-function hypb:require-package "hypb")
+(defvar org-agenda-files)
+(defvar org-roam-directory)
 (declare-function hsys-org-at-tags-p "hsys-org")
+(declare-function hypb:require-package "hypb")
+(declare-function org-roam-db-autosync-mode "ext:org-roam")
 
 ;;; ************************************************************************
 ;;; Public functions
diff --git a/hynote.el b/hynote.el
index 0bbe4bc258..76b3a590f9 100644
--- a/hynote.el
+++ b/hynote.el
@@ -14,11 +14,29 @@
 
 ;;; Commentary:
 ;;
-;;  This is Hyperbole's note taking system, HyNote.  It utilizes the
-;;  Org mode or the Koutliner file format plus UUIds and HyRolo for note 
lookups.
+;;  This is a start on Hyperbole's note taking system, HyNote, which
+;;  presently simply provides an experience similar to HyWikiWords
+;;  for Org and Org Roam file and headline links.  In the future, it
+;;  will also provide a universal way to easily link to information
+;;  across many file formats.
+;;
+;;  HyNote supports Org, Markdown, Koutline and Emacs Outline file
+;;  formats.  It uses UUIDs and HyRolo for quick note lookups across
+;;  matching files in `hynote-directory-list'.
 ;;
 ;;  See all the autoloaded functions herein for interactive commands.
-;;  See the Info manual entry "(hyperbole)HyNote" for usage information.
+;;
+;;  HyNote adds an implicit button type to Hyperbole:
+;;    `hynote-file' displays Org and Org Roam links without the need
+;;    for any delimiters or file suffixes, e.g. my-org-file-stem#headline
+;;    would jump to the headline in the my-org-file.  There is no
+;;    highlighting on such links but they flash when activated and {C-h A}
+;;    will show what they do.
+;;
+;;  This is one of the lowest priority implicit button types, so such link
+;;  buttons trigger only when other types are not recognized first.  Note
+;;  that the `hywiki-word' type is recognized ahead of the `hynote-file'
+;;  type.
 
 ;;; Code:
 ;;; ************************************************************************
@@ -106,14 +124,14 @@ After successfully finding a file and reading it into a 
buffer, run
 
 (defun hynote-get-file (file-stem-name)
   "Return existing file path in `hynote-directory-list' from FILE-STEM-NAME.
-File name must end with `hyrolo-file-suffix-regexp'.  No
-validation of FILE-STEM-NAME is done."
+File name must end with standard suffixes from `hyrolo-file-suffix-regexp'.
+No validation of FILE-STEM-NAME is done."
   ;; Remove any #section from `file-stem-name'
   (setq file-stem-name (if (string-match "#" file-stem-name)
                           (substring file-stem-name 0 (match-beginning 0))
                         file-stem-name))
-  (locate-file file-stem-name hynote-directory-list 
-              '(".org" ".md" ".kotl" ".kot")))
+  (locate-file file-stem-name hynote-directory-list
+              '(".kotl" ".kot" ".md" ".org" ".otl" ".outl")))
 
 (defun hynote-get-files ()
   "Return `hynote-directory-list' files ending with 
`hyrolo-file-suffix-regexp'.
@@ -126,7 +144,7 @@ File names returned are relative to 
`hynote-directory-list'."
    hynote-directory-list))
 
 (defun hynote-get-file-stems ()
-  "Return the list of existing HyWiki files sans their `hynote-file-suffixes'.
+  "Return the list of existing HyNote files sans their `hynote-file-suffixes'.
 This includes both Hynote page files and others.  Stems returned are
 relative to `hynote-directory-list'."
   (mapcar #'file-name-sans-extension (hynote-get-files)))
diff --git a/hywiki.el b/hywiki.el
index c27030da33..2121646ba4 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    21-Apr-24 at 22:41:13
-;; Last-Mod:      8-Aug-24 at 23:22:05 by Mats Lidell
+;; Last-Mod:     11-Aug-24 at 01:09:50 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -82,18 +82,35 @@
 ;;  `hywiki-highlight-all-in-prog-modes' (default =
 ;;  '(lisp-interaction-mode)).
 ;;
-;;  HyWiki adds two implicit button types to Hyperbole:
+;;  HyWiki adds one implicit button type to Hyperbole:
 ;;    `hywiki-word' creates and displays HyWikiWord pages;
-;;    `hywiki-file' displays existing `hywiki-directory' non-HyWikiWord
-;;  Org files that have been added manually.  For example, if you
-;;  add the file, my-file.org, there, you would be able to jump to it
-;;  by adding 'my-file' anywhere that HyWikiWords are recognized.  It
-;;  won't be highlighted as it isn't a HyWikiWord but it behaves
-;;  similarly when activated.
+;;  This is one of the lowest priority implicit button types so that
+;;  it triggers only when other types are not recognized first.
 ;;
-;;  These are the lowest priority implicit button types so they trigger
-;;  only when other types are not recognized first.  The hywiki-word
-;;  type is recognized ahead of the hywiki-file type.
+;;  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}.
 
 ;;; Code:
 ;;; ************************************************************************
@@ -164,8 +181,11 @@ Use nil for no HyWiki mode indicator."
 (defvar hywiki-file-suffix ".org"
   "File suffix (including period) to use when creating HyWiki pages.")
 
-(defvar hywiki-directory '"~/hywiki/"
-  "Directory in which to find HyWiki page files.")
+(defcustom hywiki-directory '"~/hywiki/"
+  "Directory that holds all HyWiki pages in Org format.
+See `hywiki-org-publishing-directory' for exported pages in html format."
+  :type 'string
+  :group 'hyperbole-hywiki)
 
 (defvar-local hywiki-buffer-highlighted-state nil
   "State of HyWikiWords highlighting in the associated buffer.
@@ -205,6 +225,35 @@ Presently, there are no key bindings; this is for future 
use.")
 Otherwise, this prefix is not needed and HyWiki word Org links
 override standard Org link lookups.  See \"(org)Internal Links\".")
 
+(defcustom hywiki-org-publishing-directory "~/public_hywiki"
+  "Directory where HyWiki pages are converted into html and published."
+  :type 'string
+  :group 'hyperbole-hywiki)
+
+(defcustom hywiki-org-publishing-function 'org-html-publish-to-html
+  "HyWiki Org publish function used to export a HyWiki page to html."
+  :type 'symbol
+  :group 'hyperbole-hywiki)
+
+(defvar hywiki-org-publish-project-alist
+  (list
+   "hywiki"
+   :auto-sitemap t
+   :base-directory (expand-file-name hywiki-directory)
+   :html-head (format
+              "<link rel=\"stylesheet\" type=\"text/css\" 
href=\"%sman/hyperbole.css\"/>"
+              hyperb:dir)
+   ;; !! TODO: The :makeindex property is disabled for now, until a process is
+   ;; developed to force the Org publish process to regenerate the
+   ;; index after index entries are inserted into the temporary Org
+   ;; buffer prior to export to HTML.
+   :makeindex nil
+   :publishing-function hywiki-org-publishing-function
+   :publishing-directory hywiki-org-publishing-directory
+   :section-numbers t
+   :with-toc nil)
+  "HyWiki-specific export properties added to `org-publish-project-alist'.")
+
 (defvar-local hywiki-page-flag nil
   "Set to t after a `find-file' of a HyWiki page file, else nil.
 The file must be below `hywiki-directory'.
@@ -508,12 +557,25 @@ per file to the absolute value of MAX-MATCHES, if given 
and not 0.  If
 
 (defun hywiki-convert-words-to-org-links ()
   "Convert all highlighted HyWiki words in current buffer to Org links."
-  (hywiki-map-words (lambda (overlay)
-                     (goto-char (overlay-end overlay))
-                     (insert "]]")
-                     (goto-char (overlay-start overlay))
-                     (insert "[[" hywiki-org-link-type ":")
-                     (delete-overlay overlay))))
+  (let ((make-index (hywiki-org-get-publish-property :makeindex))
+       wiki-word)
+    (hywiki-map-words (lambda (overlay)
+                       (goto-char (overlay-end overlay))
+                       (if make-index
+                           (progn
+                             (setq wiki-word (buffer-substring-no-properties
+                                              (overlay-start overlay)
+                                              (overlay-end overlay)))
+                             (when (string-match (concat hywiki-org-link-type 
":")
+                                                 wiki-word)
+                               (setq wiki-word (substring wiki-word (match-end 
0))))
+                             (insert "]]\n#+INDEX: " wiki-word "\n"))
+                         (insert "]]"))
+                       (goto-char (overlay-start overlay))
+                       (if (looking-at (concat hywiki-org-link-type ":"))
+                           (insert "[[")
+                         (insert "[[" hywiki-org-link-type ":"))
+                       (delete-overlay overlay)))))
 
 (defun hywiki-maybe-at-wikiword-beginning ()
   "Return non-nil if previous character is one preceding a HyWiki word.
@@ -899,7 +961,7 @@ the current page unless they have sections attached."
      (with-selected-window window
        ;; Display buffer before `normal-mode' triggers possibly
        ;; long-running font-locking
-       (sit-for 0.1)
+       (sit-for 0)
        (hywiki-maybe-highlight-page-names)))
    nil frame))
 
@@ -941,18 +1003,16 @@ relative to `hywiki-directory'."
 
 (defun hywiki-get-page (page-name)
   "Return the absolute path of HyWiki PAGE-NAME or nil if it does not exist."
-  (if (and (stringp page-name) (not (string-empty-p page-name))
+  (when (and (stringp page-name) (not (string-empty-p page-name))
           (string-match hywiki-word-with-optional-section-exact-regexp 
page-name))
-      (progn
-       (when (match-string-no-properties 2 page-name)
-         ;; Remove any #section suffix in PAGE-NAME.
-         (setq page-name (match-string-no-properties 1 page-name)))
+    (when (match-string-no-properties 2 page-name)
+      ;; Remove any #section suffix in PAGE-NAME.
+      (setq page-name (match-string-no-properties 1 page-name)))
 
-       (or (hash-get page-name (hywiki-get-page-hasht))
-           ;; If page exists but not yet in lookup hash table, add it.
-           (when (file-readable-p (hywiki-get-file page-name))
-             (hywiki-add-page page-name))))
-    (user-error "(hywiki-get-page): Invalid page name: '%s'; must be 
capitalized, all alpha" page-name)))
+    (or (hash-get page-name (hywiki-get-page-hasht))
+       ;; If page exists but not yet in lookup hash table, add it.
+       (when (file-readable-p (hywiki-get-file page-name))
+         (hywiki-add-page page-name)))))
 
 (defun hywiki-get-file (file-stem-name)
   "Return possibly non-existent path in `hywiki-directory' from FILE-STEM-NAME.
@@ -1033,6 +1093,23 @@ Use `hywiki-get-page' to determine whether a HyWiki page 
exists."
                         collect key))))
           ('sorted t))))))
 
+(defun hywiki-org-export-function (&rest _)
+  "Add to `write-contents-functions' to convert HyWikiWord links to Org links.
+This is done automatically by loading HyWiki."
+  (require 'org-element)
+  (when (and (derived-mode-p 'org-mode)
+            (hyperb:stack-frame '(org-export-as)))
+    (hywiki-convert-words-to-org-links)))
+
+(defun hywiki-org-get-publish-project ()
+  "Return the HyWiki Org publish project, a named set of properties."
+  (require 'ox-publish)
+  (cons "hywiki" (alist-get "hywiki" org-publish-project-alist nil nil 
#'equal)))
+
+(defun hywiki-org-get-publish-property (property)
+  "Return the value of HyWiki Org publish PROPERTY symbol."
+  (org-publish-property property (hywiki-org-get-publish-project)))
+
 (defun hywiki-org-link-complete (&optional _arg)
   "Complete HyWiki page names for `org-insert-link'."
   (concat
@@ -1057,52 +1134,77 @@ Use `hywiki-get-page' to determine whether a HyWiki 
page exists."
 ;;; Next two functions derived from the denote package.
 ;;;###autoload
 (defun hywiki-org-link-export (link description format)
-  "Export a HyWikiWord `hy:' link to various formats.
+  "Export a HyWikiWord Org-format `hy:' link to various formats.
 The LINK, DESCRIPTION, and FORMAT are provided by the export
 backend."
   (let* ((path-word-section (hywiki-org-link-resolve link :full-data))
-         (path (file-relative-name (nth 0 path-word-section)))
-         (path-stem (file-name-sans-extension path))
-         (word (nth 1 path-word-section))
-         (section (nth 2 path-word-section))
+         (path (when path-word-section
+                (file-relative-name (nth 0 path-word-section))))
+         (path-stem (when path
+                     (file-name-sans-extension path)))
+         (word (when path-word-section
+                (nth 1 path-word-section)))
+         (section (when path-word-section
+                   (nth 2 path-word-section)))
          (desc (cond (description)
-                     (section (format "%s:%s#%s"
-                                     hywiki-org-link-type word section))
-                     (t (concat hywiki-org-link-type ":" word)))))
-    (pcase format
-      (`ascii (format "[%s] <%s:%s>" hywiki-org-link-type desc path))
-      (`html (format "<a href=\"%s.html%s\">%s</a>"
-                    path-stem (if section (concat "#" section) "")
-                    desc))
-      (`latex (format "\\href{%s}{%s}" (replace-regexp-in-string 
"[\\{}$%&_#~^]" "\\\\\\&" path) desc))
-      (`md (format "[%s](%s)" desc path))
-      (`texinfo (format "@uref{%s,%s}" path desc))
-      (_ path))))
+                     (section (when word
+                               (format "%s#%s" word section)))
+                     (word)
+                    (t ""))))
+    (if path
+       (pcase format
+         (`ascii (format "[%s] <%s:%s>" hywiki-org-link-type desc path))
+         (`html (format "<a href=\"%s.html%s\">%s</a>"
+                        path-stem (if section (concat "#" section) "")
+                        desc))
+         (`latex (format "\\href{%s}{%s}" (replace-regexp-in-string 
"[\\{}$%&_#~^]" "\\\\\\&" path) desc))
+         (`md (format "[%s](%s)" desc path))
+         (`texinfo (format "@uref{%s,%s}" path desc))
+         (_ path))
+      link)))
 
 (defun hywiki-org-link-resolve (link &optional full-data)
   "Resolve HyWiki word LINK to page, with or without additional section.
 With optional FULL-DATA non-nil, return a list in the form of (path
-word section)."
-  (let* ((section (and (string-match "\\(#\\|::\\)\\(.*\\)\\'" link)
-                     (match-string 2 link)))
-         (word (if (and section (not (string-empty-p section)))
-                 (substring link 0 (match-beginning 0))
-               link))
-         (path (hywiki-get-page word)))
-    (cond
-     (full-data
-      (list path word section))
-     ((and section (not (string-empty-p section)))
-      (concat path "::" section))
-     (t path))))
-
-(eval-after-load 'org
+word section).  If page is not found, return nil."
+  (when (stringp link)
+    (when (string-match (concat "\\`" hywiki-org-link-type ":") link)
+      ;; Remove hy: link prefix
+      (setq link (substring link (match-end 0))))
+    (let* ((section (and (string-match "\\(#\\|::\\)\\(.*\\)\\'" link)
+                        (match-string 2 link)))
+           (word (if (and section (not (string-empty-p section)))
+                     (substring link 0 (match-beginning 0))
+                  link))
+           (path (and word (hywiki-get-page word))))
+      (when path
+       (cond
+        (full-data
+         (list path word section))
+        ((and section (not (string-empty-p section)))
+         (concat path "::" section))
+        (t path))))))
+
+(eval-after-load "org"
   '(org-link-set-parameters hywiki-org-link-type
                             :complete #'hywiki-org-link-complete
                            :export #'hywiki-org-link-export
                            :follow #'hywiki-find-page
                            :store #'hywiki-org-link-store))
 
+(defun hywiki-publish-to-html (&optional all-pages-flag)
+  "Publish/export updated HyWiki pages to html.
+With an optional prefix arg, ALL-PAGES-FLAG, regenerate all html
+pages rather than only those HyWiki pages which have changed
+since a prior publish.
+
+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}."
+  (interactive "P")
+  (org-publish-project "hywiki" all-pages-flag))
+
 ;;;###autoload
 (defun hywiki-tags-view (&optional todo-only match view-buffer-name)
   "Prompt for colon-separated Org tags and display matching HyWiki page 
sections.
@@ -1177,6 +1279,12 @@ Highlight/dehighlight HyWiki page names across all 
frames on change."
 ;;; Public initializations
 ;;; ************************************************************************
 
+(eval-after-load "org-element"
+  '(advice-add 'org-element--generate-copy-script :before 
#'hywiki-org-export-function))
+
+(eval-after-load "ox-publish"
+  '(add-to-list 'org-publish-project-alist hywiki-org-publish-project-alist t))
+
 (add-variable-watcher 'hywiki-word-highlight-flag
                      'hywiki-word-highlight-flag-changed)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]