gnu-emacs-sources
[Top][All Lists]
Advanced

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

[NonGNU ELPA] Dslide version 0.6.0


From: ELPA update
Subject: [NonGNU ELPA] Dslide version 0.6.0
Date: Tue, 17 Dec 2024 17:05:18 -0500

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
  …  …



reply via email to

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