Version 0.6.0 of package Dslide has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Dslide describes itself as: ================================================= Domain Specific sLIDEs. Programmable Presentation ================================================= More at https://elpa.nongnu.org/nongnu/dslide.html ## Summary: DSL IDE creates presentations out of org mode documents. Every single step in a presentation can be individually configured or customized. Org headings and elements are configured with extensible actions. Custom steps can be scripted with babel blocks. Keyboard macros can play back real command sequences. Frequent customizations can be made into custom actions. DSL IDE achieves a good result with no preparation but can achieve anything Emacs can display if you need it to. ## Recent NEWS: ━━━━━━━━━━━━━ DSLIDE NEWS ━━━━━━━━━━━━━ 1 v0.6.0 Fighting Spam 💌 :latest: ═════════════════════════ • There is less markup (especially for babel) • Old actions are easier to use • New actions (*KMACROS!*) fit a more clear pattern • That pattern has a long-term plan 1.1 Why Some Changes are Breaking 🤠 ──────────────────────────────────── This release captures a lot of the low-hanging fruit of the benefits expected in 0.7.0. For the most part, what was removed was markup that nobody wanted to write. 0.7.0 will continue in this direction, using less markup and having more of it be similar. 0.7.0 will also make it possible to mix steps from different actions. That will very nearly bring us to 1.0. There is a tricky outstanding architectural issue with actions tracking their own progress. If the changes to custom actions are significant, it will only because it also makes writing new custom actions much, much simpler. 1.2 More Changes Coming 🧑🔧 ──────────────────────────── ⛔ The `dslide-default-actions' value will soon go away, becoming deprecated in 0.7.0. Instead, we will use configurable dispatcher to match elements and set default arguments globally. The dispatcher will create actions on-demand. The propertize action is the closest one to working like they will in 0.7.0. ℹ️ Your custom actions will need to be registered in the dispatcher configuration after 0.7.0. 1.3 Added ➕ ──────────── • 🧪 Experimental new kmacro action can run keyboard kmacros to script "live demonstrations". Describe `dslide-action-kmacro' to view the documentation. There is a demo in the usual [] file. All related functions and variables are under the `dslide-action-kmacro' or `dslide-kmacro' prefixes. • 🧪 Experimental keyboard macro recording with `dslide-kmacro-transcribe-set-mark', every time you call `kmacro-end-macro', dslide will transcribe a macro playback expression into your presentation. All related commands, functions, and variables are under the `dslide-kmacro-transcribe' prefix • `dslide-deck-present' is a distinct command from `dslide-deck-start'. It will create a new frame instead of showing the presentation in the current frame. The `dslide-present-hook' will be run in this frame when the deck is ready. If you customize this hook, you can easily separate configuration for development and presentation. • Development now has its own hook `dslide-develop-hook'. Use this for more convenient buffer setup when using the `dslide-deck-develop' command to debug your presentation. • Babel blocks, which will now all be executed by default, respect the `:eval' parameter. Values such as `never' or `never-export' will skip the block. Other values are equivalent to `yes'. Values like `query' do *not* ask yet. Expect that in 0.7.0. 🚧 ┌──── │ #+begin_src elisp :eval never │ (message "All blocks are now on by default! You must opt out!") │ #+end_src └──── • `init' is now recognized as a direction by babel blocks and counts for both `begin' and `end'. It always runs when entering a slide, regardless of direction. It is the counterpart to `final', which always runs when exiting a slide. 1.4 Changed 🙅 ────────────── • Babel blocks are no longer configured with `#+attr_dslide:' affiliated keywords. Instead, they now read `:direction' as a normal babel block parameter. ⚠️ Old style will warn. ┌──── │ #+begin_src elisp :direction backwards │ (message "The old #+attr_dslide: backward style is no more!") │ #+end_src └──── To provide multiple directions, you can use quoted lists and vectors, like so: #+begin_src org ,#+begin_src elisp :direction '(begin backwards) (message "Lists must be quoted or Org mode tries to evaluate them") ,#+end_src … …
