The main purpose of this elisp is to handle each tree in an org buffer as a slide by simple narrowing. This emacs lisp is a minor mode for Emacs Org-mode.
Main features:
There are various packages to make a presentation with org-mode. See http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html. For more simple use, presentation.el may suitable.
(require 'org-tree-slide)
in your .emacs
OR
(auto-install-from-url "https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el")
(for auto-install users)(require 'org-tree-slide)
in your .emacs
Then open an org file, just type C-<
and C->
, which means C-M-,
and C-M-.
, you can see a presentation will begin with a header, slide-in effect, and slide number in mode line.
It is recommended to change the keybindings to make your presentation smoothly. Here is an example.
(with-eval-after-load "org-tree-slide" (define-key org-tree-slide-mode-map (kbd "<f9>") 'org-tree-slide-move-previous-tree) (define-key org-tree-slide-mode-map (kbd "<f10>") 'org-tree-slide-move-next-tree) )
If you are an el-get user, just do
M-x el-get-install RET org-tree-slide
Now, you can install `org-tree-slide’ via MELPA.
org-tree-slide-compt.el
before activating org-tree-slide.el.Normally, presentations will appear in full screen or frame maximized. moom is useful in such cases since the package can change frame position and size by keyboard and the font size will be increased suitably for your presentation.
Assigning a single key to org-tree-slide-mode
is recommended.
(global-set-key (kbd "<f8>") 'org-tree-slide-mode) (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
OR
(define-key org-mode-map (kbd "<f8>") 'org-tree-slide-mode) (define-key org-mode-map (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
Three useful profiles are available. Please select a profile that is the most suitable for your using scenario.
If you select simple
profile, call the following command while org-tree-slide-mode
is ON.
M-x org-tree-slide-simple-profile
If you want to use this setting as the default, put the following configuration including recommended settings into your .emacs
.
(when (require 'org-tree-slide nil t) (global-set-key (kbd "<f8>") 'org-tree-slide-mode) (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle) (org-tree-slide-simple-profile))
org-tree-slide-presentation-profile
and org-tree-slide-narrowing-control-profile
are also available.
This profile will display trees in your org buffer by simple narrowing. You can change trees without widen
command. Most of the visual effect is disabled.
Type M-x org-tree-slide-simple-profile
while org-tree-slide-mode
is ON.
org-comment-string
(e.g. COMMENT)This profile is the default setting of org-tree-slide. If an org buffer includes #+title:
, #+email:
, and #+author:
, org-tree-slide attempts to use those variables in the slide header. A date in the header will be set with the presentation of the day. You can enjoy a slide-in effect, the current slide number in mode line.
If you want to show the content of your presentation, type C-x s c
or M-x org-tree-slide-content
. All of the headings will be shown in a buffer like a Table Of Content except some headings configured as skipping by org-tree-slide-skip-outline-level
. Find a heading that you want to show, and type C->
, the presentation will be resumed.
It is possible to skip slides when a heading level is higher than or equal to a value of org-tree-slide-skip-outline-level
. see User variables.
To exit a presentation, set org-tree-slide-mode
OFF. The cursor move to the head of the buffer and the trees will be rendered according to the value of #+startup:
if possible.
M-x org-tree-slide-presentation-profile
org-comment-string
(e.g. COMMENT)This profile will display trees restricted to TODO status
without a header and slide-in effect. It is very useful to concentrate your focus on the current TODO item that is not done, and go to the next task by typing of C->
. This is “TODO Pursuit with narrowing”. If you want to track every kind of tree including finished items, toggle M-x org-tree-slide-skip-done-toggle
OFF.
When you exit org-tree-slide-mode
, the cursor will keep the same position, it is therefore possible to focus again by toggle M-x org-tree-slide-mode
.
If you feel the cursor moving is very slow, please change a value of org-tree-slide-modeline-display
to 'outside
or nil
.
M-x org-tree-slide-narrowing-control-profile
org-comment-string
(e.g. COMMENT)5-1. Useful settings for experts[*1] { nil | t | ‘inherit } t: skip only the current heading with COMMENT, child headings without COMMENT will be shown, ‘inherit: skip headings with COMMENT and its child headings, nil: show even if it has COMMENT. (note)
org-tree-slide-skip-comments-toggle
will switch betweent
andnil
normally, but iforg-tree-slide-skip-comments
is specified as'inherit
, then the toggle will switch between'inherit
andt
.[*2] { nil | ‘lighter | ‘outside } ‘outside: shown in the mode line outside of lighter, ‘lighter: shown in lighter (slow), nil: nothing to be shown.
[*3] ‘(:next ” Next >>” :previous “<< Previous” :content “<< CONTENT >>”) If you prefer to show nothing for entering content mode, then specify as ‘(:next ” Next >>” :previous “<< Previous” :content nil)
If you like this elisp, the following setting is more useful. Try it!
In this case, <f8>
/ <f9>
/ <f10>
/ <f11>
are assigned in order to control org-tree-slide.
(when (require 'org-tree-slide nil t) (global-set-key (kbd "<f8>") 'org-tree-slide-mode) (global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle) (define-key org-tree-slide-mode-map (kbd "<f9>") 'org-tree-slide-move-previous-tree) (define-key org-tree-slide-mode-map (kbd "<f10>") 'org-tree-slide-move-next-tree) (define-key org-tree-slide-mode-map (kbd "<f11>") 'org-tree-slide-content) (setq org-tree-slide-skip-outline-level 4) (org-tree-slide-narrowing-control-profile) (setq org-tree-slide-skip-comments 'inherit) (setq org-tree-slide-skip-done nil))
C->
)C-<
)C-x s c
)These functions will toggle org-tree-slide-mode
ON, automatically.
NOTE: For senior user, some hook were renamed, please update your configurations
The following code could be useful if you want to make #+
lines invisible during presentation.
(with-eval-after-load "org-tree-slide" (defvar my-hide-org-meta-line-p nil) (defun my-hide-org-meta-line () (interactive) (setq my-hide-org-meta-line-p t) (set-face-attribute 'org-meta-line nil :foreground (face-attribute 'default :background))) (defun my-show-org-meta-line () (interactive) (setq my-hide-org-meta-line-p nil) (set-face-attribute 'org-meta-line nil :foreground nil)) (defun my-toggle-org-meta-line () (interactive) (if my-hide-org-meta-line-p (my-show-org-meta-line) (my-hide-org-meta-line))) (add-hook 'org-tree-slide-play-hook #'my-hide-org-meta-line) (add-hook 'org-tree-slide-stop-hook #'my-show-org-meta-line))
see also ChangeLog for details
Version Date Description v2.8.0 2015-02-20@21:27 Changed Keymap, and renamed/added hooks v2.7.0 2013-07-21@05:21 Support buffers without headings v2.6.0 2012-11-21@02:14 Support dark color theme v2.5.0 2011-12-12@18:16 Remove auto-play function (TBD) v2.4.0 2011-12-08@10:51 Support TODO pursuit in a slideshow v2.3.0 2011-12-07@16:17 Support displaying a slide number v2.2.0 2011-12-07@02:15 Support minor mode v2.0.0 2011-12-01@17:41 Add profiles and support org 6.33x v1.0.0 2011-09-28@20:59 Release the initial versionThe author is Takaaki ISHIKAWA (takaxp@ieee.org). Feel free to email me or use a mention of twitter (@takaxp)
We can watch some videos that kindly introduce org-tree-slide.el
:
Thank you!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4