impress.js

It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.

MIT License

Downloads
206
Stars
37.5K
Committers
83

Bot releases are hidden (Show)

impress.js - v2.0.0 Latest Release

Published by henrikingo about 2 years ago

This release includes new features and fixes since Apr 11, 2020, when v1.1.0 was released.

Major features and improvements:

  • The default target resolution used inside impress.js code for various layout and transformations, is now 1920x1080 (Full HD). In addition the max scale factor by default is now 3 x the default, meaning for larger resolutions, impress.js will stretch the slide contents to fill the available screen.
    • NOTE: This change may affect your layout if you've used the default target resolution in your presentations. See DOCUMENTATION.md for how to explicitly set the wanted resolution.
  • The Rel plugin now supports relative coordinates also for rotations. This means you can now define all coordinates relative to the previous step position and rotation. Huge thank you to new contributor Thawk for this amazing piece of math.
  • Fixes to defining coordinates with relative-to-screen-size units (h and w).
  • Use element attribute title, if available, in the navigation-ui drop box
  • Support custom ordering for substeps

Thanks to Tim Gates, kdxcxs, Bartek Szopka, Daniel Sockwell, thawk, Ikko Ashimine, hugocvx, Christoph Neumann, Henrik Ingo for features, fixes, and cleanup, whether small or large, in this release.

impress.js - v1.1.0

Published by henrikingo over 4 years ago

This release includes new features and fixes since March 2018 when 1.0 was released.

New Plugin:

  • The media plugin can autoplay and autopause/autostop and elements when entering and leaving a step.

Improvements:

  • Rel plugin can now use relative positioning relative to any previous step.
  • Shift+space now moves to previous slide
  • Add support for PowerPoint keybindings, as these are used by various remote controllers.
  • Update node modules used for testing and a package-lock file.
  • Support Maruku dialect in the Markdown plugin
  • Autoplay plugin can now be enabled/disabled with url parameter

Fixes:

  • Slides would zoom too large when swiping
  • Teardown should only reset element attributes that impress.js had actually modified.

Notice: DOCUMENTATION.md now has details on attributes of the #impress root element that can be used to target different screen sizes. Please be aware that the default (1024x768) is planned to change in 2021. (Probably to 1920x1080.) You are advised to use these attributes explicitly to provide for a smooth upgrade path.

Contributors: Holger Teichert, Diego Zilioti, Guilherme Weizenmann, Moritz, Will Soares, Christoph Weiler, Jason Cooke, Oliver Sanders, Tobias Bora, Eduardo Moreira, Mohamed Feddad, Ingrid-Regina Vähi.

impress.js - v1.0.0

Published by henrikingo over 6 years ago

impress.js 1.0, the first stable release

  • 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

You can read more about this release on my blog: http://openlife.cc/blogs/2018/march/impressjs-10-released

impress.js - v1.0.0-beta2

Published by henrikingo almost 7 years ago

As remaining issues in the queue have been fixed, it's time for another beta release!

Improvements since 1.0.0-beta1:

  • Change the support for form fields. Now any keys typed into a text input field will no longer propagate outside of the text input element. In particular, typing "parrot" in a text field will no longer open the presenter console.
  • The "click to open speaker console" big button didn't work due to syntax error. Now works.

Thanks to Naja Melan and Blaine Carter for contributing fixes, and several others for reporting issues!

impress.js - v1.0.0-beta1

Published by henrikingo almost 7 years ago

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
impress.js - v0.6.0

Published by FagnerMartinsBrack over 8 years ago

The first release after 4 years of inactivity, thanks everyone!

Changelog

  • 24cef7f: Add comment of some CSS tricks in the impress-demo.css file
  • 028a298: Removed double dashes -- from index.html comments as Firefox was marking them as invalid
  • 9ccb39d: Example and Demos moved to the Wiki
  • #193: Bower support
  • #511: Change license to MIT
  • #499: Fix issues with meta keys
  • 8159876: Fix IE support in the README
  • #562: Rework introduction to sound less elitist
  • #563: Create the official impress.js reference documentation
  • #565: Document browser support and remove note for mobile
  • #426: Published on npm: http://npmjs.com/package/impress.js
impress.js - v0.5.3

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • 2da949e: Version 0.5 introduced events including impress:stepenter, but this event was not triggered properly in some specific transition types (for example when only scale was changing between steps). It was caused by the fact that in such cases expected transitionend event was not triggered. Unfortunately modern transitionend event is no longer used to detect when the transition has finished, but old school (and more reliable) setTimeout is used.
impress.js - v0.5.2

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • c87d7df: More descriptive comments added to impress.js source file, so now not only index.html is worth reading
impress.js - v0.5.1

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • #126: Changes in version 0.5 introduced a bug that was preventing clicks on links (or any clickable elements) on currently active step.
impress.js - v0.5.0

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • 8220ab9...e06cda1 b3d680e: API changed, so that impress() function no longer automatically initialize presentation; new method called init was added to API and it should be used to start the presentation. impress:init event is triggered on root presentation element (#impress by default) when presentation is initialized
  • c64d9fb: new CSS classes were added: impress-disabled is added to body element by the impress.js script and it's changed to impress-enabled when init() function is called
  • 1bbf205 b3d680e: Events added when step is entered and left - custom impress:stepenter and impress:stepleave events are triggered on step elements and can be handled like any other DOM events (with addEventListener)
  • b0a139e...5fd0f58: Additional past, present and future classes are added to step elements
  • 1a21865: goto() API method is back! it seems that goto was a future reserved word but isn't anymore, so we can use this short and pretty name instead of camelCassy stepTo - and yes, that means API changed again...
  • 9d99c03: additionally goto() method now supports new types of parameters
  • b0c5644: goto() also accepts second parameter to define the transition duration in ms, for example impress().goto("make-it-quick", 300) or impress().goto("now", 0)

UPGRADING FROM PREVIOUS VERSIONS

In current version calling impress() doesn't automatically initialize the presentation. You need to call init() function from the API. So in a place were you called impress() to initialize impress.js simply change this call to impress().init().

Version 0.4 changed goto API method into stepTo. It turned out that goto is not a reserved word anymore, so it can be used in JavaScript. That's why version 0.5 brings it back and removes stepTo.

So if you have been using version 0.4 and have any reference to stepTo API method make sure to change it to goto.

impress.js - v0.4.1

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • 78f2ce6: Fix changes is version 0.4 that introduced a bug causing JavaScript errors being thrown all over the place in fallback mode. It also adds a flag impress.supported that can be used in JavaScript to check if impress.js is supported in the browser.
impress.js - v0.4.0

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • 811e045: Fix Firefox perspective
  • 2131784: Configs data-perspective (in px, defaults so 1000), data-transition-duration (in ms, defaults to 1000)
  • eb4df9c: Automatic scaling to fit window size, with configuration options data-width (in px, defaults to 1024), data-height (in px, defaults to 768), max-scale (defaults to 1), min-scale (defaults to 0)
    207c823: goto API function was renamed to stepTo because goto is a future reserved work in JavaScript, so please make sure to update your code
  • 9d495ab: Fallback impress-not-supported class is now set on body element instead of #impress element and it's replaced with impress-supported when browser supports all required features
  • 9d495ab: Classes step-ID used to indicate progress of the presentation are now renamed to impress-on-ID and are set on body element, so please make sure to update your code
  • 5ff0398: Basic validation of configuration options
  • e1786e3: Couple of typos and bugs fixed, courtesy of @gustaff-weldon
  • 047c1c2: favicon added

UPGRADING FROM PREVIOUS VERSIONS

If in your custom JavaScript code you were using goto() function from impress.js API make sure to change it
to stepTo().

If in your CSS you were using classes based on currently active step with step- prefix, such as step-bored
(where bored is the id of the step element) make sure to change it to impress-on- prefix
(for example impress-on-bored). Also in previous versions these classes were assigned to #impress element
and now they are added to body element, so if your CSS code depends on this, it also should be updated.

Same happened to impress-not-supported class name - it was moved from #impress element to body, so update
your CSS if it's needed.

NOTE ON BLACKBERRY PLAYBOOK

Changes and fixes added in this version have broken the experience on Blackberry Playbook with OS in version 1.0.
It happened due to a bug in the Playbook browser in this version. Fortunately in version 2.0 of Playbook OS this
bug was fixed and impress.js works fine.

So currently, on Blackberry Playbook, impress.js work only with latest OS. Fortunately, it seems that most of the
users
are quite quick with updating their devices

impress.js - v0.3.0

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • 7b4393cf: Fix Firefox 3D Bug that requires transform-style.
  • 343299c6: enable clicking on elements 'hiding' behind body in 3D
  • cfe64485: Basic API to control the presentation flow from JavaScript
  • db5857af: Add touch support
  • 2b22ee3b...23244841: Basic support for iPad (iOS 5 and iOS 4 with polyfills) and Blackberry Playbook

Breaking Changes

Because API was introduced the way impress.js script is initialized was changed a bit. You not only have to include impress.js script file, but also call impress() function.

See the source of index.html for example and more details.

impress.js - v0.2.0

Published by FagnerMartinsBrack over 8 years ago

Changelog

  • d8f70bdb15c4c685fd5cdfb28336b07ad7f69f98: Use strict mode
  • 5ea857e6c2c09783bbe91fa66c4caccd15557c32: Yoda documentation added to the index.html file
  • 65c456cb47fde46945e793e18c145541d624de3a / 8cd464a92660b311d9d40894f0b43b2ef191e0a1: Fixes laggy transitions in Chrome
  • 11e5ddc77a7927305f20016cf507791050837aca: Add mousewheel event listener
  • bb0113e5be76fabde364363e2e6a72784b641dfe: Disabled animation on the beggining of the presentation
  • e96893311ed2ef247175f96110dd880779da403a: Clarify IE support
impress.js - v0.1.0

Published by FagnerMartinsBrack over 8 years ago

First impressive release.

Contains basic functionality for step placement and transitions between them with simple fallback for non-supporting browsers.

Package Rankings
Top 3.59% on Proxy.golang.org
Top 3.77% on Npmjs.org
Badges
Extracted from project README
CircleCI