Convert to org-present from the org-tree-slide

Simpler and I now have hooks to make it look like what I want.
This commit is contained in:
Howard Abrams 2022-03-21 16:58:00 -07:00
parent 6237637f90
commit 0396c09af4
3 changed files with 75 additions and 32 deletions

View file

@ -1318,12 +1318,11 @@ Let's try [[https://github.com/bastibe/annotate.el][annotate-mode]], which allow
#+END_SRC
Keep the annotations simple, almost /tag-like/, and then the summary allows you to display them.
** Demo It
Making demonstrations /within/ Emacs with my [[https://github.com/howardabrams/demo-it][demo-it]] project. While it is on MELPA, I want to use my own cloned version to make sure I can keep debugging aspects of it. Especially since its use of [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] has separated.
Making demonstrations /within/ Emacs with my [[https://github.com/howardabrams/demo-it][demo-it]] project. While it is on MELPA, I want to use my own cloned version to make sure I can keep debugging aspects of it. Especially since its use of [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] has separated so that I can use [[https://github.com/rlister/org-present][org-present]].
#+BEGIN_SRC emacs-lisp
(use-package demo-it
:straight (:type git :protocol ssh :host github :repo "howardabrams/demo-it")
:commands (demo-it-create demo-it-start))
#+END_SRC
* Technical Artifacts :noexport:

View file

@ -193,7 +193,7 @@ In the interim, lets use [[https://github.com/minad/org-modern][org-modern]]
#+BEGIN_SRC emacs-lisp
(use-package org-modern
:straight (:type git :protocol ssh :host github :repo "minad/org-modern")
:custom (org-modern-label-border 0.4
:custom (org-modern-label-border 0.1
org-modern-variable-pitch t
org-modern-tag nil ; Letting svg-tag do this
org-modern-list . '((?+ . "◦")
@ -217,13 +217,66 @@ I like the idea that I will paste HTML text from the clipboard and have it conve
(shell-command "xclip -t text/html -o | pandoc -r html -w org" t)))
#+END_SRC
* Presentations
The [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] still seems to be the best presentation tool for Org files, but I really need to issue a pull request to fix a few warnings.
Used to use [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] for showing org files as presentations. Converted to use [[https://github.com/rlister/org-present][org-present]]. I love the /hooks/ as that makes it easier to pull out much of my =demo-it= configuration. My concern with =org-present= is that it only jumps from one top-level to another top-level header.
#+BEGIN_SRC emacs-lisp
(use-package org-tree-slide
(use-package org-present
:init
(setq org-tree-slide-skip-outline-level 4)
(defvar ha-org-present-mode-line mode-line-format "Cache previous mode-line format state")
:config
(org-tree-slide-simple-profile))
(defun org-blocks-hide-headers ()
"Make the headers and other block metadata invisible. See `org-blocks-show-headers'."
(add-to-invisibility-spec 'ha-org-block-headers)
(defun hide-this (regexp)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(let ((start (match-beginning 0)) (end (1+ (match-end 0))))
(overlay-put (make-overlay start end) 'invisible 'ha-org-block-headers))))
(defun hide-these (patterns)
(when patterns
(hide-this (car patterns))
(hide-these (cdr patterns))))
(save-excursion
(hide-these (list (rx bol (zero-or-more space)
"#+" (or "begin" "end") "_"
(one-or-more any) eol)
(rx bol (zero-or-more space)
"#+" (or "name" "header" "results" "property" "options"
"filetags") ":"
(zero-or-more any) eol)
(rx bol (zero-or-more space)
":" (or "properties" "header-args" "end") ":"
(zero-or-more any) eol)))))
(defun org-blocks-show-headers ()
"Un-invisibilize the headers and other block metadata invisible.
In other words, this undoes what `org-blocks-hide-headers' did."
(remove-from-invisibility-spec 'ha-org-block-headers))
(defun org-present-start ()
(goto-char (point-min)) (re-search-forward (rx bol "*"))
(org-blocks-hide-headers)
(org-present-big)
(setq mode-line-format nil)
(org-display-inline-images)
(blink-cursor-mode -1)
(setq cursor-type nil))
(defun org-present-end ()
(org-present-small)
(org-blocks-show-headers)
(setq mode-line-format ha-org-present-mode-line-format)
(setq cursor-type t)
(blink-cursor-mode 1)
(org-present-read-write))
:hook
(org-present-mode . org-present-start)
(org-present-mode-quit . org-present-end))
#+END_SRC
* Technical Artifacts :noexport:
Let's provide a name so that the file can be required:

View file

@ -10,47 +10,38 @@
#+FILETAGS: :work:
* Work Issues
$0
* Onboarding Work
See [[file:Onboarding-Work.org][Onboard-Work]] for all details.
* Distractions and Support
Anything that doesn't fit the above goes here.
* Meeting Notes :meeting:
* Scrum Status :status:
* Sprint Demonstration
SCHEDULED: <`(sprint-date-from-start 12)`> DEADLINE: <`(sprint-date-from-start 13)`>
New approach for giving presentations. First create [[file:`(file-name-sans-extension (buffer-name))`-demo.org][`(file-name-sans-extension (buffer-name))`-demo.org]], and then add the bits to the code below.
* Sprint Retrospective
SCHEDULED: <`(sprint-date-from-start 14)`>
#+BEGIN_SRC emacs-lisp :results silent
(defun org-present-file (filename)
(find-file (filename))
(delete-other-windows)
(org-present))
* Notes for Next Sprint
** Support Section
We should always allow the display of this file for a demonstration.
#+BEGIN_SRC elisp :results silent
(use-package demo-it
:load-path "~/Other/demo-it"
:config
(demo-it-create :advanced-mode :single-window
(demo-it-presentation (buffer-file-name) 3 :both "Sprint Demonstration")
(osx-browse-url-forwork "https://...")
(demo-it-load-fancy-file "~/work/wpc4/wpc/dashboards/wpc4/hypervisor.yml"
:line 116 133)
(demo-it-presentation-return-noadvance)
;; ...
))
(demo-it-create :advanced-mode :single-window
(org-present-file "`(file-name-sans-extension (buffer-name))`-demo.org")
(org-present-next)
(osx-browse-url-forwork "https://...")
(demo-it-load-fancy-file "~/work/wpc4/wpc/dashboards/wpc4/hypervisor.yml" :line 116 133)
;; ...
)
#+END_SRC
Have fun and start the show: =demo-it-start= and hit ~F5~ (or the ~Num~ key on Keyboardio).
Have fun and start the show: =demo-it-start= and hit ~F5~.
* Notes for Next Sprint
#+DESCRIPTION: Notes taken during Sprint #`(sprint-number)`
#+PROPERTY: header-args: :results drawer :tangle no :eval no-export :comments org