github nyblnet/bento v1.2.7
bento/slides v1.2.7

3 hours ago

Download the single file below and open it in any modern browser — it's the document, the viewer and the editor in one. Shipped files self-update through the signed release channel.

  • One page for PowerPoint, in and out: bento.page/convert. Drop a
    .pptx to open it as a bento/slides deck, or drop a bento/slides deck (or
    its document JSON) to save it as PowerPoint. The page detects what you
    dropped and offers what it can become; there's a sample deck to try. As
    before, nothing is uploaded: the conversion runs in your browser, and the
    page only downloads the signed bento/slides release when it makes a deck.
    bento.page/import now opens this page, so its links keep working. In
    slides, the Save menu has both ways in: "Import PowerPoint…" opens the page
    ready for a .pptx, and "Export for PowerPoint…" opens it for this deck's
    saved file.
  • Saving as PowerPoint keeps more of your deck. Speaker notes, links,
    tables, charts, pictures and hidden slides come across, and now code
    blocks too (as editable text in Consolas, indentation kept) and embedded
    documents (as a picture of what they show). WebP pictures are converted to
    PNG on bento.page/convert. Interactive states come along as hidden slides
    that their links lead to (untick the box on the page, or pass --no-states,
    to leave them out). After each conversion you get a list of
    what was approximated or left out, and on which slides: animations show
    their final frame, Morph becomes a plain cut, formulas stay as their LaTeX
    source, and code loses its syntax colours. Page numbers stay right after
    hidden slides. Every export is checked before it is written, so you never
    get a file PowerPoint wants to repair. From a terminal:
    node convert/cli.mjs deck.bento.html --to pptx (with --no-states and
    --report r.json). Export is a page, a library and a command-line tool
    rather than a button in the app, so every shared file stays small and the
    app stays focused.
  • Security: update this file. This release closes further issues found in
    our own review.
    None needs anything from you beyond updating, except one
    step if you share decks live: open each shared deck after updating and use
    Reset access once.
    What each issue was is described here once people have
    had time to update.
  • An edit made while the deck is saving is no longer marked saved. Saving
    takes a moment, and an edit made in that moment — by you, or by someone in a
    live session — used to be shown as saved while the file on disk was still
    missing it. The unsaved-changes dot now goes out only when the file holds
    exactly what is on screen; otherwise it stays on and the next save (or
    auto-save) writes the edit. ⌘S, auto-save and "Update this file" also wait
    for each other instead of writing the file at the same time.
  • Turn text into code without leaving the text box. Type a fenced block
    — a line of three backticks (optionally with a language, like ```js
    or ```python), your code, and a closing line of three backticks —
    and when you finish editing it becomes a real Code element: highlighted,
    with its language set, and able to morph between slides. If the box held
    only the fence it turns into the Code element in place; text above or below
    stays as text boxes stacked around it. Pasting fenced text works the same,
    into a text box or straight onto the slide. Backticks inside the code are
    kept as typed, and an unclosed fence stays plain text. You can also select
    one or more lines and press ` to set them in code style; press it
    again to undo that.
  • Ghost Cut: move elements with ⇧⌘X (Ctrl+Shift+X). The selection fades
    where it stands instead of disappearing; paste moves it to the pointer — on
    this slide or another — keeping it the same element, in one undoable step.
    Escape puts it back. It is also copied, so pasting in another deck works as
    after ⌘C. Plain ⌘X is unchanged. Thanks to senthan-07 (#679).
  • Long speaker notes scroll in presenter view. Notes that are taller than
    the space beside the current and next slides now get their own vertical
    scrollbar instead of being cut off.
  • Dollar amounts next to escaped dollars stay text. In a line like
    "$10, and $x$", the first dollar could pair with an escaped one and the
    words between were treated as a formula: the editor flagged them as a
    formula that failed to render. An escaped \$ now never opens or closes a
    formula, inline or display, while an escaped dollar inside a formula still
    belongs to it.
  • Copy several slides at once. With several slides selected in the
    sidebar, ⌘C (or Copy in the context menu) now copies all of them, in deck
    order, ready to paste into any deck; it used to copy only the current
    slide. Interactive states stay behind for now, since a pasted state would
    arrive as an ordinary slide cut off from its parent. Thanks to tikurahul
    (#615).
  • Screen readers announce what each Save-as and Share command does. The
    menus keep one-line rows with the description on hover, and the same text
    is now read out as the command's description; the Save-as list scrolls when
    a short window cannot hold it. The Share menu's actions are plain rows like
    Save as, rather than a stack of boxed buttons. Dialog
    titles are a little smaller (17px), keyboard shortcuts in the help sheet are
    set in the interface font and line up on the right, and keyboard focus
    draws a clear amber ring. Also fixed: the Save caret's ▾ vanished at
    medium window widths, rows in the phone ⋯ menu were centred, and menus in
    the dark theme cast a navy shadow that did not show.
  • Save is the top bar's primary button; the bar's other buttons line up.
    Save and its save-as caret are now filled with the text colour, like the
    primary buttons in dialogs, in light and dark themes. The amber
    unsaved-changes dot has a dark ring so it still shows on the light fill of
    the dark theme. The ? help button is now the same 36×30 as its neighbours
    (it was 28×29). The bento/slides wordmark is a real button: it can be
    reached with Tab, Enter opens About, screen readers name it, and on a phone
    it is a 44px target. Switching the interface language no longer leaves the
    old top bar's resize listener, size observer and menu listeners running
    behind the new one. Found by spaces' top-bar parity check (#567).

Don't miss a new bento release

NewReleases is sending notifications on new releases.