diff --git a/.gitignore b/.gitignore index c6d3bfd..4fae73f 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ bin/ src/ slides/ main +node_modules diff --git a/Makefile b/Makefile index 6acc056..9fd568b 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,14 @@ +GIT_SUMMARY := $(shell git describe --tags --dirty --always) REPO=msoedov/hacker-slides default: repo repo: - @echo $(REPO) + @echo $(REPO):$(GIT_SUMMARY) build: @GOOS=linux CGO_ENABLE=0 go build main.go - @docker build -t $(REPO) . + @docker build -t $(REPO):$(GIT_SUMMARY) . push: - @docker push $(REPO) + @docker push $(REPO):$(GIT_SUMMARY) diff --git a/package.json b/package.json index 0743e52..d59b141 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "reveal.js": "^3.4.1" + "reveal.js": "^3.5.0" } } diff --git a/static/reveal.js/Gruntfile.js b/static/reveal.js/Gruntfile.js index 96a4f52..aa04b68 100644 --- a/static/reveal.js/Gruntfile.js +++ b/static/reveal.js/Gruntfile.js @@ -15,7 +15,7 @@ module.exports = function(grunt) { ' * http://lab.hakim.se/reveal-js\n' + ' * MIT licensed\n' + ' *\n' + - ' * Copyright (C) 2016 Hakim El Hattab, http://hakim.se\n' + + ' * Copyright (C) 2017 Hakim El Hattab, http://hakim.se\n' + ' */' }, @@ -44,7 +44,7 @@ module.exports = function(grunt) { { expand: true, cwd: 'css/theme/source', - src: ['*.scss'], + src: ['*.sass', '*.scss'], dest: 'css/theme', ext: '.css' } @@ -122,7 +122,12 @@ module.exports = function(grunt) { tasks: 'js' }, theme: { - files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ], + files: [ + 'css/theme/source/*.sass', + 'css/theme/source/*.scss', + 'css/theme/template/*.sass', + 'css/theme/template/*.scss' + ], tasks: 'css-themes' }, css: { diff --git a/static/reveal.js/LICENSE b/static/reveal.js/LICENSE index 924cd89..c3e6e5f 100644 --- a/static/reveal.js/LICENSE +++ b/static/reveal.js/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2016 Hakim El Hattab, http://hakim.se, and reveal.js contributors +Copyright (C) 2017 Hakim El Hattab, http://hakim.se, and reveal.js contributors 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/static/reveal.js/README.md b/static/reveal.js/README.md index 8878842..7ec759a 100644 --- a/static/reveal.js/README.md +++ b/static/reveal.js/README.md @@ -105,17 +105,17 @@ The presentation markup hierarchy needs to be `.reveal > .slides > section` wher ### 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 ` +
``` @@ -187,6 +187,9 @@ Reveal.initialize({ // Display a presentation progress bar progress: true, + // Set default timing of 2 minutes per slide + defaultTiming: 120, + // Display the page number of the current slide slideNumber: false, @@ -228,6 +231,12 @@ Reveal.initialize({ // Flags if speaker notes should be visible to all viewers showNotes: false, + // Global override for autolaying embedded media (video/audio/iframe) + // - null: Media will only autoplay if data-autoplay is present + // - true: All media will autoplay, regardless of individual setting + // - false: No media will autoplay, regardless of individual setting + autoPlayMedia: null, + // 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 @@ -270,7 +279,10 @@ Reveal.initialize({ // - Calculated automatically unless specified // - Set to 0 to disable movement along an axis parallaxBackgroundHorizontal: null, - parallaxBackgroundVertical: null + parallaxBackgroundVertical: null, + + // The display mode that will be used to show slides + display: 'block' }); ``` @@ -463,14 +475,15 @@ Reveal.nextFragment(); // Randomize the order of slides Reveal.shuffle(); -// Shows a help overlay with keyboard shortcuts -Reveal.showHelp(); - // Toggle presentation states, optionally pass true/false to force on/off Reveal.toggleOverview(); Reveal.togglePause(); Reveal.toggleAutoSlide(); +// Shows a help overlay with keyboard shortcuts, optionally pass true/false +// to force on/off +Reveal.toggleHelp(); + // Change a config value at runtime Reveal.configure({ controls: true }); @@ -484,9 +497,11 @@ Reveal.getScale(); Reveal.getPreviousSlide(); Reveal.getCurrentSlide(); -Reveal.getIndices(); // { h: 0, v: 0 } } -Reveal.getProgress(); // 0-1 -Reveal.getTotalSlides(); +Reveal.getIndices(); // { h: 0, v: 0 } } +Reveal.getPastSlideCount(); +Reveal.getProgress(); // (0 == first slide, 1 == last slide) +Reveal.getSlides(); // Array of all slides +Reveal.getTotalSlides(); // total number of slides // Returns the speaker notes for the current slide Reveal.getSlideNotes(); @@ -544,7 +559,7 @@ Reveal.addEventListener( 'somestate', function() { Slides are contained within a limited portion of the screen by default to allow them to fit any display and scale uniformly. You can apply full page backgrounds outside of the slide area by adding a ```data-background``` attribute to your ```
``` elements. Four different types of backgrounds are supported: color, image, video and iframe. -##### Color Backgrounds +#### Color Backgrounds All CSS color formats are supported, like rgba() or hsl(). ```html
@@ -552,7 +567,7 @@ All CSS color formats are supported, like rgba() or hsl().
``` -##### Image Backgrounds +#### Image Backgrounds By default, background images are resized to cover the full page. Available options: | Attribute | Default | Description | @@ -570,7 +585,7 @@ By default, background images are resized to cover the full page. Available opti
``` -##### Video Backgrounds +#### Video Backgrounds Automatically plays a full size video behind the slide. | Attribute | Default | Description | @@ -578,6 +593,7 @@ Automatically plays a full size video behind the slide. | data-background-video | | A single video source, or a comma separated list of video sources. | | data-background-video-loop | false | Flags if the video should play repeatedly. | | data-background-video-muted | false | Flags if the audio should be muted. | +| data-background-size | cover | Use `cover` for full screen and some cropping or `contain` for letterboxing. | ```html
@@ -585,15 +601,15 @@ Automatically plays a full size video behind the slide.
``` -##### Iframe Backgrounds -Embeds a web page as a background. Note that since the iframe is in the background layer, behind your slides, it is not possible to interact with the embedded page. +#### Iframe Backgrounds +Embeds a web page as a slide background that covers 100% of the reveal.js width and height. The iframe is in the background layer, behind your slides, and as such it's not possible to interact with it by default. To make your background interactive, you can add the `data-background-interactive` attribute. ```html -
+

Iframe

``` -##### Background Transitions +#### Background Transitions Backgrounds transition using a fade animation by default. This can be changed to a linear sliding transition by passing ```backgroundTransition: 'slide'``` to the ```Reveal.initialize()``` call. Alternatively you can set ```data-background-transition``` on any section with a background to override that specific transition. @@ -749,7 +765,7 @@ By default, Reveal is configured with [highlight.js](https://highlightjs.org/) f ``` ### Slide number -If you would like to display the page number of the current slide you can do so using the ```slideNumber``` configuration value. +If you would like to display the page number of the current slide you can do so using the ```slideNumber``` and ```showSlideNumber``` configuration values. ```javascript // Shows the slide number using default formatting @@ -762,6 +778,12 @@ Reveal.configure({ slideNumber: true }); // "c/t": flattened slide number / total slides Reveal.configure({ slideNumber: 'c/t' }); +// Control which views the slide number displays on using the "showSlideNumber" value: +// "all": show on all views (default) +// "speaker": only show slide numbers on speaker notes view +// "print": only show slide numbers when printing to PDF +Reveal.configure({ showSlideNumber: 'speaker' }); + ``` @@ -778,20 +800,26 @@ Reveal.addEventListener( 'overviewhidden', function( event ) { /* ... */ } ); Reveal.toggleOverview(); ``` + ### Fullscreen mode Just press »F« on your keyboard to show your presentation in fullscreen mode. Press the »ESC« key to exit fullscreen mode. ### Embedded media -Embedded HTML5 `