It turns out input[type=text] will only find input fields where
the type attribute is explicitly set to text, but would skip
fields that left it out and defaulted to type text. This changes
to catch all types of input elements.
The media plugin can autoplay and autopause/autostop <audio> and <video> elements when entering and leaving a step.
Support for impressConsole: don't autoplay in preview window and play but mute clips in current window.
The previous attempt at merely reading a property of event.target was
incorrect. It worked at first but errors reappeared later, so must
have been a reace.
This wraps the entire navigation event handlers in the try-catch, and
then checks for the very specific error and suppresses it. Other errors
are rethrown as is.
Changed the onclick handler to trigger the impress:console:open event
and not use the impressConsole() global function any more. The latter
is considered deprecated now that impressConsole is integrated into
impress.js itself.
Also catch some errors that appear in event handlers when the target
for the click event was immediately removed from DOM.
Fixes#651
1.0.0-beta1: Merge 2 years worth of work from dev to master!
Highlights
* New plugin based architecture allows adding more features without bloating core src/impress.js file
* Source files are in src/ and compiled into js/impress.js with npm run build. End users should continue to use js/impress.js as before.
* 19 new plugins
* Integrates impressConsole.js by default (press 'P' to open speaker console)
* Markdown support for those that are too much in a hurry to type HTML
* 5 new demo presentations under examples/ show case the new features
* Removes the code that prevented impress.js from running on mobile phones
Explains the plugins, lib and build.js, etc.
Also delete the contributor guidelines in .github. We won't be using
those going forward, what README.md says is enough.
This demo presentation is written entirely in Markdown, as provided
by the combination of the extras plugin, and extras/markdown/markdown.js
The idea for using Markdown instead of HTML came from users who felt that
sometimes when you just need to quickly toss together some slides, using
Markdown is faster than HTML. Same approach is also familiar to Hovercraft
users, where RST is converted to a traditional HTML based impress.js presentation.
Unlike Hovercraft, using Markdown.js allows you to write Markdown directly into
your html file that is the presentation. It is converted in the browser, and no
separate command line tool is necessary. As a result you can also mix and match:
some slides can be HTML (when needed) and some in Markdown.
Add one presentation that provides a very simple demo, using
impress.js to create a very traditional "slide show". Possibly
it's an easier way to learn impress.js (it's commented, just like
the official demo.) It uses the relative positioning plugin and
uses "speaker notes", which aren't shown in the presentation,
but are picked up and shown in the speaker console (press 'P').
Also uses autoplay, forms... and includes short demo of all the extra
addons from extras/. (Highlight.js, Markdown.js, Mathjax.js, Mermaid.js)
The toolbar plugin produces a generic toolbar container, which then can contain
buttons, drop-downs or any html inside it. The user can position and otherwise
style the toolbar, and any widgets inside it will follow.
Other plugins that wish to expose graphical controls (navigation-ui, autoplay)
will use the impress:toolbar:appendChild event to 'send' their controls to
this plugin.
Originally from https://github.com/m42e/impress.js-progress and
adapted for the new plugin api. Also made the sample CSS produce
a smaller bar and font.
Adds event.detail.next to impress:stepleave event in impress.js.