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 `