From d8cee8aeab416cd952a481bd8199ed76397540ec Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Tue, 2 Feb 2016 10:17:22 +0100 Subject: [PATCH 1/3] Added license, updated Readme and added Changelog file --- CHANGELOG.md | 141 +++++++++++++++++++++++++++++++++++++++++++ LICENSE | 21 +++++++ README.md | 164 +++------------------------------------------------ 3 files changed, 170 insertions(+), 156 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 LICENSE diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ba1ec32 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,141 @@ + +VERSION HISTORY +----------------- + +### 0.5.3 ([browse](http://github.com/bartaz/impress.js/tree/0.5.3), [zip](http://github.com/bartaz/impress.js/zipball/0.5.3), [tar](http://github.com/bartaz/impress.js/tarball/0.5.3)) + +#### BUGFIX RELEASE + +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. + +This version fixes this issue. Unfortunately modern `transitionend` event is no longer used to detect when the +transition has finished, but old school (and more reliable) `setTimeout` is used. + + +### 0.5.2 ([browse](http://github.com/bartaz/impress.js/tree/0.5.2), [zip](http://github.com/bartaz/impress.js/zipball/0.5.2), [tar](http://github.com/bartaz/impress.js/tarball/0.5.2)) + +#### DOCUMENTATION RELEASE + +More descriptive comments added to demo CSS and impress.js source file, so now not only `index.html` is worth reading ;) + + +### 0.5.1 ([browse](http://github.com/bartaz/impress.js/tree/0.5.1), [zip](http://github.com/bartaz/impress.js/zipball/0.5.1), [tar](http://github.com/bartaz/impress.js/tarball/0.5.1)) + +#### BUGFIX RELEASE + +Changes in version 0.5 introduced a bug (#126) that was preventing clicks on links (or any clickable elements) on +currently active step. This release fixes this issue. + + +### 0.5 ([browse](http://github.com/bartaz/impress.js/tree/0.5), [zip](http://github.com/bartaz/impress.js/zipball/0.5), [tar](http://github.com/bartaz/impress.js/tarball/0.5)) + +#### CHANGELOG + +* 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 +* event `impress:init` is triggered on root presentation element (`#impress` by default) when presentation is initialized +* 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 +* 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`) +* additional `past`, `present` and `future` classes are added to step elements + - `future` class appears on steps that were not yet visited + - `present` class appears on currently visible step - it's different from `active` class as `present` class + is added when transition finishes (step is entered) + - `past` class is added to already visited steps (when the step is left) +* and good news, `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... +* additionally `goto()` method now supports new types of parameters: + - you can give it a number of step you want to go to: `impress().goto(7)` + - or its id: `impress().goto("the-best-slide-ever")` + - of course DOM element is still acceptable: `impress().goto( document.getElementById("overview") )` +* and if it's not enough, `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`. + + +### 0.4.1 ([browse](http://github.com/bartaz/impress.js/tree/0.4.1), [zip](http://github.com/bartaz/impress.js/zipball/0.4.1), [tar](http://github.com/bartaz/impress.js/tarball/0.4.1)) + +#### BUGFIX RELEASE + +Changes is version 0.4 introduced a bug causing JavaScript errors being thrown all over the place in fallback mode. +This release fixes this issue. + +It also adds a flag `impress.supported` that can be used in JavaScript to check if impress.js is supported in the browser. + + +### 0.4 ([browse](http://github.com/bartaz/impress.js/tree/0.4), [zip](http://github.com/bartaz/impress.js/zipball/0.4), [tar](http://github.com/bartaz/impress.js/tarball/0.4)) + +#### CHANGELOG + +* configuration options on `#impress` element: `data-perspective` (in px, defaults so 1000), + `data-transition-duration` (in ms, defaults to 1000) +* 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) +* `goto` API function was renamed to `stepTo` because `goto` is a future reserved work in JavaScript, + so **please make sure to update your code** +* 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 +* 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** +* basic validation of configuration options +* couple of typos and bugs fixed +* 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. + + +### 0.3 ([browse](http://github.com/bartaz/impress.js/tree/0.3), [zip](http://github.com/bartaz/impress.js/zipball/0.3), [tar](http://github.com/bartaz/impress.js/tarball/0.3)) + +#### CHANGELOG + +* minor CSS 3D fixes +* basic API to control the presentation flow from JavaScript +* touch event support +* basic support for iPad (iOS 5 and iOS 4 with polyfills) and Blackberry Playbook + +#### UPGRADING FROM PREVIOUS VERSIONS + +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. + + +### 0.2 ([browse](http://github.com/bartaz/impress.js/tree/0.2), [zip](http://github.com/bartaz/impress.js/zipball/0.2), [tar](http://github.com/bartaz/impress.js/tarball/0.2)) + +* tutorial/documentation added to `index.html` source file +* being even more strict with strict mode +* code clean-up +* couple of small bug-fixes + + +### 0.1 ([browse](http://github.com/bartaz/impress.js/tree/0.1), [zip](http://github.com/bartaz/impress.js/zipball/0.1), [tar](http://github.com/bartaz/impress.js/tarball/0.1)) + +First release. + +Contains basic functionality for step placement and transitions between them +with simple fallback for non-supporting browsers. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b6e56cb --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2016 Bartek Szopka + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index d6a3fff..6774330 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,8 @@ If you have fixed a bug or implemented a feature that you'd like to share, send (http://github.com/bartaz/impress.js/tree/dev). But remember that I only accept code that fits my vision of impress.js and my coding standards - so make sure you are open for discussion :) +**Note:** The team has changed, so there will be many changes in the upcoming versions.
+If you need informations about versions, check the [changelog](CHANGELOG.md). ABOUT THE NAME @@ -65,179 +67,31 @@ impress.js name in [courtesy of @skuzniak](http://twitter.com/skuzniak/status/14 It's an (un)fortunate coincidence that a Open/LibreOffice presentation tool is called Impress ;) - - -VERSION HISTORY ------------------ - -### 0.5.3 ([browse](http://github.com/bartaz/impress.js/tree/0.5.3), [zip](http://github.com/bartaz/impress.js/zipball/0.5.3), [tar](http://github.com/bartaz/impress.js/tarball/0.5.3)) - -#### BUGFIX RELEASE - -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. - -This version fixes this issue. Unfortunately modern `transitionend` event is no longer used to detect when the -transition has finished, but old school (and more reliable) `setTimeout` is used. - - -### 0.5.2 ([browse](http://github.com/bartaz/impress.js/tree/0.5.2), [zip](http://github.com/bartaz/impress.js/zipball/0.5.2), [tar](http://github.com/bartaz/impress.js/tarball/0.5.2)) - -#### DOCUMENTATION RELEASE - -More descriptive comments added to demo CSS and impress.js source file, so now not only `index.html` is worth reading ;) - - -### 0.5.1 ([browse](http://github.com/bartaz/impress.js/tree/0.5.1), [zip](http://github.com/bartaz/impress.js/zipball/0.5.1), [tar](http://github.com/bartaz/impress.js/tarball/0.5.1)) - -#### BUGFIX RELEASE - -Changes in version 0.5 introduced a bug (#126) that was preventing clicks on links (or any clickable elements) on -currently active step. This release fixes this issue. - - - -### 0.5 ([browse](http://github.com/bartaz/impress.js/tree/0.5), [zip](http://github.com/bartaz/impress.js/zipball/0.5), [tar](http://github.com/bartaz/impress.js/tarball/0.5)) - -#### CHANGELOG - -* 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 -* event `impress:init` is triggered on root presentation element (`#impress` by default) when presentation is initialized -* 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 -* 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`) -* additional `past`, `present` and `future` classes are added to step elements - - `future` class appears on steps that were not yet visited - - `present` class appears on currently visible step - it's different from `active` class as `present` class - is added when transition finishes (step is entered) - - `past` class is added to already visited steps (when the step is left) -* and good news, `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... -* additionally `goto()` method now supports new types of parameters: - - you can give it a number of step you want to go to: `impress().goto(7)` - - or its id: `impress().goto("the-best-slide-ever")` - - of course DOM element is still acceptable: `impress().goto( document.getElementById("overview") )` -* and if it's not enough, `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`. - - - -### 0.4.1 ([browse](http://github.com/bartaz/impress.js/tree/0.4.1), [zip](http://github.com/bartaz/impress.js/zipball/0.4.1), [tar](http://github.com/bartaz/impress.js/tarball/0.4.1)) - -#### BUGFIX RELEASE - -Changes is version 0.4 introduced a bug causing JavaScript errors being thrown all over the place in fallback mode. -This release fixes this issue. - -It also adds a flag `impress.supported` that can be used in JavaScript to check if impress.js is supported in the browser. - - - -### 0.4 ([browse](http://github.com/bartaz/impress.js/tree/0.4), [zip](http://github.com/bartaz/impress.js/zipball/0.4), [tar](http://github.com/bartaz/impress.js/tarball/0.4)) - -#### CHANGELOG - -* configuration options on `#impress` element: `data-perspective` (in px, defaults so 1000), - `data-transition-duration` (in ms, defaults to 1000) -* 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) -* `goto` API function was renamed to `stepTo` because `goto` is a future reserved work in JavaScript, - so **please make sure to update your code** -* 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 -* 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** -* basic validation of configuration options -* couple of typos and bugs fixed -* 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 impress.js work only on Blackberry Playbook with latest OS. Fortunately, [it seems that most of the +So currently, on Blackberry Playbook, impress.js work only with latest OS. Fortunately, [it seems that most of the users](http://twitter.com/n_adam_stanley/status/178188611827679233) [are quite quick with updating their devices] (http://twitter.com/brcewane/status/178230406196379648) - -### 0.3 ([browse](http://github.com/bartaz/impress.js/tree/0.3), [zip](http://github.com/bartaz/impress.js/zipball/0.3), [tar](http://github.com/bartaz/impress.js/tarball/0.3)) - -#### CHANGELOG - -* minor CSS 3D fixes -* basic API to control the presentation flow from JavaScript -* touch event support -* basic support for iPad (iOS 5 and iOS 4 with polyfills) and Blackberry Playbook - -#### UPGRADING FROM PREVIOUS VERSIONS - -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. - - -### 0.2 ([browse](http://github.com/bartaz/impress.js/tree/0.2), [zip](http://github.com/bartaz/impress.js/zipball/0.2), [tar](http://github.com/bartaz/impress.js/tarball/0.2)) - -* tutorial/documentation added to `index.html` source file -* being even more strict with strict mode -* code clean-up -* couple of small bug-fixes - - -### 0.1 ([browse](http://github.com/bartaz/impress.js/tree/0.1), [zip](http://github.com/bartaz/impress.js/zipball/0.1), [tar](http://github.com/bartaz/impress.js/tarball/0.1)) - -First release. - -Contains basic functionality for step placement and transitions between them -with simple fallback for non-supporting browsers. - - - BROWSER SUPPORT ----------------- ### TL;DR; Currently impress.js works fine in latest Chrome/Chromium browser, Safari 5.1 and Firefox 10. -With addition of some HTML5 polyfills (see below for details) it should work in Internet Explorer 10 -(currently available as Developers Preview). +With addition of some HTML5 polyfills (see below for details) it should work in Internet Explorer 10, 11 and Edge. It doesn't work in Opera, as it doesn't support CSS 3D transforms. +If you find impress.js working on other browsers, feel free to tell us and we'll update this documentation. + As a presentation tool it was not developed with mobile browsers in mind, but some tablets are good enough to run it, so it should work quite well on iPad (iOS 5, or iOS 4 with HTML5 polyfills) and -Blackberry Playbook. +Blackberry Playbook. Inform us of any bug and we will try to fix this. ### Still interested? Read more... @@ -296,8 +150,6 @@ requires polyfills to work. LICENSE --------- -Copyright 2011-2012 Bartek Szopka - -Released under the MIT and GPL (version 2 or later) Licenses. +View the [LICENSE](LICENSE) file for more information. From fb0f88293d2e5fa01faa18faea8992662954401b Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Tue, 2 Feb 2016 11:56:57 +0100 Subject: [PATCH 2/3] Fix notes from @bartaz --- CHANGELOG.md | 10 ++++++++++ LICENSE | 2 +- README.md | 20 ++------------------ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba1ec32..06a515a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -107,6 +107,16 @@ and now they are added to `body` element, so if your CSS code depends on this, i 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](http://twitter.com/n_adam_stanley/status/178188611827679233) [are quite quick with updating their devices] +(http://twitter.com/brcewane/status/178230406196379648) + ### 0.3 ([browse](http://github.com/bartaz/impress.js/tree/0.3), [zip](http://github.com/bartaz/impress.js/zipball/0.3), [tar](http://github.com/bartaz/impress.js/tarball/0.3)) diff --git a/LICENSE b/LICENSE index b6e56cb..2d2b0e4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2016 Bartek Szopka +Copyright (c) 2011-2016 Bartek Szopka Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 6774330..1f447ea 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ If you have fixed a bug or implemented a feature that you'd like to share, send (http://github.com/bartaz/impress.js/tree/dev). But remember that I only accept code that fits my vision of impress.js and my coding standards - so make sure you are open for discussion :) -**Note:** The team has changed, so there will be many changes in the upcoming versions.
+**Note:** The team has changed, so there will be many changes in the upcoming versions. If you need informations about versions, check the [changelog](CHANGELOG.md). @@ -67,16 +67,6 @@ impress.js name in [courtesy of @skuzniak](http://twitter.com/skuzniak/status/14 It's an (un)fortunate coincidence that a Open/LibreOffice presentation tool is called Impress ;) -#### 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](http://twitter.com/n_adam_stanley/status/178188611827679233) [are quite quick with updating their devices] -(http://twitter.com/brcewane/status/178230406196379648) - BROWSER SUPPORT ----------------- @@ -146,10 +136,4 @@ found a good way to handle its small screen. Also note that iOS supports `classList` and `dataset` APIs starting with version 5, so iOS 4.X and older requires polyfills to work. - -LICENSE ---------- - -View the [LICENSE](LICENSE) file for more information. - - +Copyright 2011-2016 Bartek Szopka - [Licence](LICENCE) From a33f2ec76a64b24f360868b78ec13bb1ea8a54a7 Mon Sep 17 00:00:00 2001 From: Alex Rock Ancelet Date: Tue, 2 Feb 2016 18:33:23 +0100 Subject: [PATCH 3/3] Fix license typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f447ea..90cf8cb 100644 --- a/README.md +++ b/README.md @@ -136,4 +136,4 @@ found a good way to handle its small screen. Also note that iOS supports `classList` and `dataset` APIs starting with version 5, so iOS 4.X and older requires polyfills to work. -Copyright 2011-2016 Bartek Szopka - [Licence](LICENCE) +Copyright 2011-2016 Bartek Szopka - Released under the MIT [License](LICENSE)