From bcf66a459ad7b88f4df9701bc9a0c0a49fd383c1 Mon Sep 17 00:00:00 2001 From: boyska Date: Wed, 24 Jun 2015 13:35:00 +0200 Subject: [PATCH] libreant slides --- content/pages/talk.md | 1 + content/talks/libreant/LICENSE | 19 + content/talks/libreant/README.md | 278 ++++ content/talks/libreant/css/print/paper.css | 173 ++ content/talks/libreant/css/print/pdf.css | 159 ++ content/talks/libreant/css/reveal.css | 1184 ++++++++++++++ .../talks/libreant/css/shaders/tile-flip.fs | 64 + .../talks/libreant/css/shaders/tile-flip.vs | 141 ++ content/talks/libreant/css/theme/README.md | 5 + content/talks/libreant/css/theme/beige.css | 163 ++ content/talks/libreant/css/theme/default.css | 163 ++ content/talks/libreant/css/theme/serif.css | 150 ++ content/talks/libreant/css/theme/simple.css | 152 ++ content/talks/libreant/css/theme/sky.css | 156 ++ .../libreant/css/theme/source/beige.scss | 50 + .../libreant/css/theme/source/default.scss | 42 + .../libreant/css/theme/source/serif.scss | 33 + .../libreant/css/theme/source/simple.scss | 38 + .../talks/libreant/css/theme/source/sky.scss | 41 + .../libreant/css/theme/template/mixins.scss | 29 + .../libreant/css/theme/template/settings.scss | 33 + .../libreant/css/theme/template/theme.scss | 163 ++ content/talks/libreant/img/graph.png | Bin 0 -> 113856 bytes content/talks/libreant/img/logo.svg | 115 ++ content/talks/libreant/img/logo_black.png | Bin 0 -> 10571 bytes content/talks/libreant/index.html | 290 ++++ content/talks/libreant/js/reveal.js | 1385 +++++++++++++++++ content/talks/libreant/js/reveal.min.js | 83 + content/talks/libreant/lib/css/zenburn.css | 115 ++ .../lib/font/league_gothic-webfont.eot | Bin 0 -> 18485 bytes .../lib/font/league_gothic-webfont.svg | 230 +++ .../lib/font/league_gothic-webfont.ttf | Bin 0 -> 42324 bytes .../lib/font/league_gothic-webfont.woff | Bin 0 -> 21288 bytes .../libreant/lib/font/league_gothic_license | 2 + content/talks/libreant/lib/js/classList.js | 2 + content/talks/libreant/lib/js/head.min.js | 8 + content/talks/libreant/lib/js/html5shiv.js | 7 + content/talks/libreant/package.json | 20 + .../libreant/plugin/highlight/highlight.js | 14 + .../libreant/plugin/markdown/markdown.js | 32 + .../libreant/plugin/markdown/showdown.js | 62 + .../libreant/plugin/notes-server/client.js | 57 + .../libreant/plugin/notes-server/index.js | 58 + .../libreant/plugin/notes-server/notes.html | 139 ++ .../talks/libreant/plugin/notes/notes.html | 142 ++ content/talks/libreant/plugin/notes/notes.js | 98 ++ content/talks/libreant/plugin/zoom-js/zoom.js | 251 +++ 47 files changed, 6347 insertions(+) create mode 100644 content/talks/libreant/LICENSE create mode 100644 content/talks/libreant/README.md create mode 100644 content/talks/libreant/css/print/paper.css create mode 100644 content/talks/libreant/css/print/pdf.css create mode 100644 content/talks/libreant/css/reveal.css create mode 100644 content/talks/libreant/css/shaders/tile-flip.fs create mode 100644 content/talks/libreant/css/shaders/tile-flip.vs create mode 100644 content/talks/libreant/css/theme/README.md create mode 100644 content/talks/libreant/css/theme/beige.css create mode 100644 content/talks/libreant/css/theme/default.css create mode 100644 content/talks/libreant/css/theme/serif.css create mode 100644 content/talks/libreant/css/theme/simple.css create mode 100644 content/talks/libreant/css/theme/sky.css create mode 100644 content/talks/libreant/css/theme/source/beige.scss create mode 100644 content/talks/libreant/css/theme/source/default.scss create mode 100644 content/talks/libreant/css/theme/source/serif.scss create mode 100644 content/talks/libreant/css/theme/source/simple.scss create mode 100644 content/talks/libreant/css/theme/source/sky.scss create mode 100644 content/talks/libreant/css/theme/template/mixins.scss create mode 100644 content/talks/libreant/css/theme/template/settings.scss create mode 100644 content/talks/libreant/css/theme/template/theme.scss create mode 100644 content/talks/libreant/img/graph.png create mode 100644 content/talks/libreant/img/logo.svg create mode 100755 content/talks/libreant/img/logo_black.png create mode 100644 content/talks/libreant/index.html create mode 100644 content/talks/libreant/js/reveal.js create mode 100644 content/talks/libreant/js/reveal.min.js create mode 100644 content/talks/libreant/lib/css/zenburn.css create mode 100755 content/talks/libreant/lib/font/league_gothic-webfont.eot create mode 100644 content/talks/libreant/lib/font/league_gothic-webfont.svg create mode 100644 content/talks/libreant/lib/font/league_gothic-webfont.ttf create mode 100644 content/talks/libreant/lib/font/league_gothic-webfont.woff create mode 100644 content/talks/libreant/lib/font/league_gothic_license create mode 100644 content/talks/libreant/lib/js/classList.js create mode 100644 content/talks/libreant/lib/js/head.min.js create mode 100644 content/talks/libreant/lib/js/html5shiv.js create mode 100644 content/talks/libreant/package.json create mode 100644 content/talks/libreant/plugin/highlight/highlight.js create mode 100644 content/talks/libreant/plugin/markdown/markdown.js create mode 100644 content/talks/libreant/plugin/markdown/showdown.js create mode 100644 content/talks/libreant/plugin/notes-server/client.js create mode 100644 content/talks/libreant/plugin/notes-server/index.js create mode 100644 content/talks/libreant/plugin/notes-server/notes.html create mode 100644 content/talks/libreant/plugin/notes/notes.html create mode 100644 content/talks/libreant/plugin/notes/notes.js create mode 100644 content/talks/libreant/plugin/zoom-js/zoom.js diff --git a/content/pages/talk.md b/content/pages/talk.md index cb11ca8..65be7bf 100644 --- a/content/pages/talk.md +++ b/content/pages/talk.md @@ -96,6 +96,7 @@ nel talk mostrero' come si usano alcune librerie utili a simulare la navigazione #### Libreant +([SLIDE]({filename}/talks/libreant/index.html)) Un software per l'archiviazione e la gestione di libri, pensato per coniugare librerie cartacee e digitali. La struttura del db e' tale da poter archiviare differenti tipi di testi con differenti metadati. Punto di forza del progetto e' la possibilita' di federare piu' nodi [documentazione](https://libreant.rtfd.org) [codice](https://github.com/insomnia-lab/libreant) diff --git a/content/talks/libreant/LICENSE b/content/talks/libreant/LICENSE new file mode 100644 index 0000000..23a2d5a --- /dev/null +++ b/content/talks/libreant/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se + +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. \ No newline at end of file diff --git a/content/talks/libreant/README.md b/content/talks/libreant/README.md new file mode 100644 index 0000000..dd7d820 --- /dev/null +++ b/content/talks/libreant/README.md @@ -0,0 +1,278 @@ +# reveal.js + +A framework for easily creating beautiful presentations using HTML. [Check out the live demo](http://lab.hakim.se/reveal-js/). + +reveal.js comes with a broad range of features including [nested slides](https://github.com/hakimel/reveal.js#markup), [markdown contents](https://github.com/hakimel/reveal.js#markdown), [PDF export](https://github.com/hakimel/reveal.js#pdf-export), [speaker notes](https://github.com/hakimel/reveal.js#speaker-notes) and a [JavaScript API](https://github.com/hakimel/reveal.js#api). It's best viewed in a browser with support for CSS 3D transforms but [fallbacks](https://github.com/hakimel/reveal.js/wiki/Browser-Support) are available to make sure your presentation can still be viewed elsewhere. + + +#### More reading in the Wiki: +- [Changelog](https://github.com/hakimel/reveal.js/wiki/Changelog): Up-to-date version history. +- [Examples](https://github.com/hakimel/reveal.js/wiki/Example-Presentations): Presentations created with reveal.js, add your own! +- [Browser Support](https://github.com/hakimel/reveal.js/wiki/Browser-Support): Explanation of browser support and fallbacks. + +## rvl.io + +Slides are written using HTML or markdown but there's also an online editor for those of you who prefer a more traditional user interface. Give it a try at [www.rvl.io](http://www.rvl.io). + + +## Instructions + +### Markup + +Markup heirarchy needs to be ``
`` where the ``
`` represents one slide and can be repeated indefinitely. If you place multiple ``
``'s inside of another ``
`` they will be shown as vertical slides. The first of the vertical slides is the "root" of the others (at the top), and it will be included in the horizontal sequence. For example: + +```html +
+
+
Single Horizontal Slide
+
+
Vertical Slide 1
+
Vertical Slide 2
+
+
+
+``` + +### Markdown + +It's possible to write your slides using Markdown. To enable Markdown, add the ```data-markdown``` attribute to your ```
``` elements and wrap the contents in a ``` +
+``` + + +### Configuration + +At the end of your page you need to initialize reveal by running the following code. Note that all config values are optional and will default as specified below. + +```javascript +Reveal.initialize({ + // Display controls in the bottom right corner + controls: true, + + // Display a presentation progress bar + progress: true, + + // Push each slide change to the browser history + history: false, + + // Enable keyboard shortcuts for navigation + keyboard: true, + + // Enable the slide overview mode + overview: true, + + // Loop the presentation + loop: false, + + // Number of milliseconds between automatically proceeding to the + // next slide, disabled when set to 0, this value can be overwritten + // by using a data-autoslide attribute on your slides + autoSlide: 0, + + // Enable slide navigation via mouse wheel + mouseWheel: true, + + // Apply a 3D roll to links on hover + rollingLinks: true, + + // Transition style + transition: 'default' // default/cube/page/concave/zoom/linear/none +}); +``` + +### Dependencies + +Reveal.js doesn't _rely_ on any third party scripts to work but a few optional libraries are included by default. These libraries are loaded as dependencies in the order they appear, for example: + +```javascript +Reveal.initialize({ + dependencies: [ + // Cross-browser shim that fully implements classList - https://github.com/eligrey/classList.js/ + { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } }, + // Interpret Markdown in
elements + { src: 'plugin/markdown/showdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, + { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, + // Syntax highlight for elements + { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, + // Zoom in and out with Alt+click + { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } }, + // Speaker notes + { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } } + ] +}); +``` + +You can add your own extensions using the same syntax. The following properties are available for each dependency object: +- **src**: Path to the script to load +- **async**: [optional] Flags if the script should load after reveal.js has started, defaults to false +- **callback**: [optional] Function to execute when the script has loaded +- **condition**: [optional] Function which must return true for the script to be loaded + + +### API + +The Reveal class provides a minimal JavaScript API for controlling navigation and reading state: + +```javascript +// Navigation +Reveal.slide( indexh, indexv ); +Reveal.left(); +Reveal.right(); +Reveal.up(); +Reveal.down(); +Reveal.prev(); +Reveal.next(); +Reveal.prevFragment(); +Reveal.nextFragment(); +Reveal.toggleOverview(); + +// Retrieves the previous and current slide elements +Reveal.getPreviousSlide(); +Reveal.getCurrentSlide(); + +Reveal.getIndices(); // { h: 0, v: 0 } } +``` + +### States + +If you set ``data-state="somestate"`` on a slide ``
``, "somestate" will be applied as a class on the document element when that slide is opened. This allows you to apply broad style changes to the page based on the active slide. + +Furthermore you can also listen to these changes in state via JavaScript: + +```javascript +Reveal.addEventListener( 'somestate', function() { + // TODO: Sprinkle magic +}, false ); +``` + +### Ready event + +The 'ready' event is fired when reveal.js has loaded all (synchronous) dependencies and is ready to start navigating. + +```javascript +Reveal.addEventListener( 'ready', function( event ) { + // event.currentSlide, event.indexh, event.indexv +} ); +``` + +### Slide change event + +An 'slidechanged' event is fired each time the slide is changed (regardless of state). The event object holds the index values of the current slide as well as a reference to the previous and current slide HTML nodes. + +```javascript +Reveal.addEventListener( 'slidechanged', function( event ) { + // event.previousSlide, event.currentSlide, event.indexh, event.indexv +} ); +``` + +### Internal links + +It's easy to link between slides. The first example below targets the index of another slide whereas the second targets a slide with an ID attribute (```
```): + +```html +Link +Link +``` +### Fullscreen mode +Just press »F« on your keyboard to show your presentation in fullscreen mode. Press the »ESC« key to exit fullscreen mode. + +### Fragments +Fragments are used to highlight individual elements on a slide. Every elmement with the class ```fragment``` will be stepped through before moving on to the next slide. Here's an example: http://lab.hakim.se/reveal-js/#/16 + +The default fragment style is to start out invisible and fade in. This style can be changed by appending a different class to the fragment: + +```html +
+

grow

+

shrink

+

roll-in

+

fade-out

+

highlight-red

+

highlight-green

+

highlight-blue

+
+``` + +### Fragment events + +When a slide fragment is either shown or hidden reveal.js will dispatch an event. + +```javascript +Reveal.addEventListener( 'fragmentshown', function( event ) { + // event.fragment = the fragment DOM element +} ); +Reveal.addEventListener( 'fragmenthidden', function( event ) { + // event.fragment = the fragment DOM element +} ); +``` + + +## PDF Export + +Presentations can be exported to PDF via a special print stylesheet. This feature requires that you use [Google Chrome](http://google.com/chrome). +Here's an example of an exported presentation that's been uploaded to SlideShare: http://www.slideshare.net/hakimel/revealjs-13872948. + +1. Open your presentation with [css/print/pdf.css](https://github.com/hakimel/reveal.js/blob/master/css/print/pdf.css) included on the page. The default index HTML lets you add *print-pdf* anywhere in the query to include the stylesheet, for example: [lab.hakim.se/reveal-js?print-pdf](http://lab.hakim.se/reveal-js?print-pdf). +2. Open the in-browser print dialog (CMD+P). +3. Change the **Destination** setting to **Save as PDF**. +4. Change the **Layout** to **Landscape**. +5. Change the **Margins** to **None**. +6. Click **Save**. + +![Chrome Print Settings](https://s3.amazonaws.com/hakim-static/reveal-js/pdf-print-settings.png) + + +## Speaker Notes + +reveal.js comes with a speaker notes plugin which can be used to present per-slide notes in a separate browser window. The notes window also gives you a preview of the next upcoming slide so it may be helpful even if you haven't written any notes. Append ```?notes``` to presentation URL or press the 's' key on your keyboard to open the notes window. + +By default notes are written using standard HTML, see below, but you can add a ```data-markdown``` attribute to the ```