showoff 0.19.4 → 0.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +24 -12
  3. data/bin/showoff +47 -24
  4. data/lib/keymap.rb +19 -5
  5. data/lib/showoff.rb +96 -44
  6. data/lib/showoff/compiler.rb +106 -0
  7. data/lib/showoff/compiler/downloads.rb +91 -0
  8. data/lib/showoff/compiler/fixups.rb +142 -0
  9. data/lib/showoff/compiler/form.rb +236 -0
  10. data/lib/showoff/compiler/glossary.rb +164 -0
  11. data/lib/showoff/compiler/i18n.rb +24 -0
  12. data/lib/showoff/compiler/notes.rb +73 -0
  13. data/lib/showoff/compiler/table_of_contents.rb +51 -0
  14. data/lib/showoff/compiler/variables.rb +71 -0
  15. data/lib/showoff/config.rb +218 -0
  16. data/lib/showoff/locale.rb +132 -0
  17. data/lib/showoff/logger.rb +15 -0
  18. data/lib/showoff/monkeypatches.rb +28 -0
  19. data/lib/showoff/presentation.rb +181 -0
  20. data/lib/showoff/presentation/section.rb +70 -0
  21. data/lib/showoff/presentation/slide.rb +113 -0
  22. data/lib/showoff/state.rb +89 -0
  23. data/lib/showoff/version.rb +2 -2
  24. data/lib/showoff_ng.rb +99 -0
  25. data/lib/showoff_utils.rb +27 -21
  26. data/public/css/font-awesome-5.6.1/css/all.min.css +5 -0
  27. data/public/css/font-awesome-5.6.1/webfonts/fa-brands-400.eot +0 -0
  28. data/public/css/font-awesome-5.6.1/webfonts/fa-brands-400.svg +1260 -0
  29. data/public/css/font-awesome-5.6.1/webfonts/fa-brands-400.ttf +0 -0
  30. data/public/css/font-awesome-5.6.1/webfonts/fa-brands-400.woff +0 -0
  31. data/public/css/font-awesome-5.6.1/webfonts/fa-brands-400.woff2 +0 -0
  32. data/public/css/font-awesome-5.6.1/webfonts/fa-regular-400.eot +0 -0
  33. data/public/css/font-awesome-5.6.1/webfonts/fa-regular-400.svg +471 -0
  34. data/public/css/font-awesome-5.6.1/webfonts/fa-regular-400.ttf +0 -0
  35. data/public/css/font-awesome-5.6.1/webfonts/fa-regular-400.woff +0 -0
  36. data/public/css/font-awesome-5.6.1/webfonts/fa-regular-400.woff2 +0 -0
  37. data/public/css/font-awesome-5.6.1/webfonts/fa-solid-900.eot +0 -0
  38. data/public/css/font-awesome-5.6.1/webfonts/fa-solid-900.svg +2760 -0
  39. data/public/css/font-awesome-5.6.1/webfonts/fa-solid-900.ttf +0 -0
  40. data/public/css/font-awesome-5.6.1/webfonts/fa-solid-900.woff +0 -0
  41. data/public/css/font-awesome-5.6.1/webfonts/fa-solid-900.woff2 +0 -0
  42. data/public/css/presenter.css +1 -0
  43. data/public/css/showoff.css +42 -10
  44. data/public/js/highlight.pack-9.15.10.js +22614 -0
  45. data/public/js/highlightjs-line-numbers.min.js +1 -0
  46. data/public/js/presenter.js +13 -11
  47. data/public/js/showoff.js +39 -31
  48. data/views/download.erb +2 -2
  49. data/views/header.erb +27 -26
  50. data/views/header_mini.erb +8 -8
  51. data/views/index.erb +56 -56
  52. data/views/onepage.erb +10 -16
  53. data/views/presenter.erb +124 -123
  54. data/views/slide.erb +29 -0
  55. data/views/stats.erb +1 -1
  56. metadata +113 -100
  57. data/locales/id.yml +0 -2
  58. data/public/css/font-awesome-4.4.0/css/font-awesome.min.css +0 -4
  59. data/public/css/font-awesome-4.4.0/fonts/FontAwesome.otf +0 -0
  60. data/public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.eot +0 -0
  61. data/public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.svg +0 -640
  62. data/public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.ttf +0 -0
  63. data/public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.woff +0 -0
  64. data/public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.woff2 +0 -0
  65. data/public/js/highlight.pack-9.2.0.js +0 -15448
data/views/onepage.erb CHANGED
@@ -3,6 +3,7 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
6
+ <% if @baseurl %><base href="<%= @baseurl %>" /> <% end %>
6
7
  <title><%= @title %></title>
7
8
 
8
9
  <% if @favicon %>
@@ -10,38 +11,31 @@
10
11
  <% end %>
11
12
 
12
13
  <% if @inline %>
13
-
14
- <%= inline_css(['font-awesome-4.4.0/css/font-awesome.min.css', 'mermaid-6.0.0.css', "highlight/#{@highlightStyle}.css"], 'public/css') %>
14
+ <%= inline_css(['font-awesome-5.6.1/css/all.min.css', 'mermaid-6.0.0.css', "highlight/#{@highlightStyle}.css"], 'public/css') %>
15
15
  <%= inline_css(['showoff.css', 'onepage.css'], 'public/css') %>
16
16
  <%= inline_css(css_files) %>
17
17
 
18
- <%= inline_js(['jquery-2.1.4.min.js', 'showoff.js', 'highlight.pack-9.2.0.js'], 'public/js') %>
18
+ <%= inline_js(['jquery-2.1.4.min.js', 'showoff.js', 'highlight.pack-9.15.10.js', 'highlightjs-line-numbers.min.js'], 'public/js') %>
19
19
  <%= inline_js(['bigtext-0.1.8.js', 'simpleStrings-0.0.1.js', 'mermaid-6.0.0-min.js'], 'public/js') %>
20
20
 
21
- <%= inline_js(@languages, 'public/js') if @languages %>
22
21
  <%= inline_js(js_files) %>
23
22
 
24
23
  <% else %>
25
- <% ['font-awesome-4.4.0/css/font-awesome.min.css', 'mermaid-6.0.0.css', "highlight/#{@highlightStyle}.css",
24
+ <% ['font-awesome-5.6.1/css/all.min.css', 'mermaid-6.0.0.css', "highlight/#{@highlightStyle}.css",
26
25
  'showoff.css', 'onepage.css'].each do |css_file| %>
27
- <link rel="stylesheet" href="<%= @asset_path %>/css/<%= css_file %>" type="text/css"/>
26
+ <link rel="stylesheet" href="css/<%= css_file %>" type="text/css"/>
28
27
  <% end %>
29
28
 
30
29
  <% css_files.each do |css_file| %>
31
- <link rel="stylesheet" href="<%= @asset_path %>/file/<%= css_file %>" type="text/css"/>
30
+ <link rel="stylesheet" href="<%= css_file %>" type="text/css"/>
32
31
  <% end %>
33
32
 
34
- <% ['jquery-2.1.4.min.js', 'showoff.js', 'highlight.pack-9.2.0.js',
35
- 'bigtext-0.1.8.js', 'simpleStrings-0.0.1.js', 'mermaid-6.0.0-min.js'].each do |js_file| %>
36
- <script type="text/javascript" src="<%= @asset_path %>/js/<%= js_file %>"></script>
33
+ <% ['jquery-2.1.4.min.js', 'showoff.js', 'highlight.pack-9.15.10.js',
34
+ 'highlightjs-line-numbers.min.js', 'bigtext-0.1.8.js', 'simpleStrings-0.0.1.js', 'mermaid-6.0.0-min.js'].each do |js_file| %>
35
+ <script type="text/javascript" src="js/<%= js_file %>"></script>
37
36
  <% end %>
38
37
  <% js_files.each do |js_file| %>
39
- <script type="text/javascript" src="<%= @asset_path %>/file/<%= js_file %>"></script>
40
- <% end %>
41
- <% if @languages %>
42
- <% @languages.each do |l| %>
43
- <script type="text/javascript" src="<%= @asset_path %>/js<%= l %>"></script>
44
- <% end %>
38
+ <script type="text/javascript" src="<%= js_file %>"></script>
45
39
  <% end %>
46
40
 
47
41
  <% end %>
data/views/presenter.erb CHANGED
@@ -3,122 +3,11 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
4
  <head>
5
5
  <%= erb :header %>
6
- <link rel="stylesheet" href="<%= @asset_path %>/css/presenter.css?v=<%= SHOWOFF_VERSION %>" type="text/css"/>
7
- <link href="<%= @asset_path %>/css/TimeCircles-89ac5ae.css" rel="stylesheet">
6
+ <link rel="stylesheet" type="text/css" href="css/presenter.css?v=<%= SHOWOFF_VERSION %>" />
7
+ <link rel="stylesheet" type="text/css" href="css/TimeCircles-89ac5ae.css" />
8
8
 
9
- <script type="text/javascript" src="<%= @asset_path %>/js/TimeCircles-89ac5ae.js"></script>
10
- <script type="text/javascript" src="<%= @asset_path %>/js/presenter.js?v=<%= SHOWOFF_VERSION %>"></script>
11
-
12
- <script type="text/javascript">
13
- editUrl = "<%= @edit %>";
14
- issueUrl = "<%= @issues %>";
15
- autoTour = false;
16
-
17
- // increment this each time we add features with new tour stops.
18
- tourVersion = 1;
19
-
20
- $(function() {
21
- tours['showoff:activity'] = [
22
- {
23
- element: ".currentSlide .count",
24
- intro: I18n.t('tour.activity.count')
25
- }
26
- ];
27
-
28
- tours['showoff:form'] = [
29
- {
30
- element: "#notes",
31
- intro: I18n.t('tour.form.responses'),
32
- scrollToElement: false
33
- },
34
- {
35
- element: ".currentSlide input.display",
36
- intro: I18n.t('tour.form.display')
37
- }
38
- ];
39
-
40
- tours['showoff:presenter'] = [
41
- {
42
- intro: I18n.t('tour.welcome'),
43
- version: 1
44
- },
45
- {
46
- element: "#slaveWindow",
47
- intro: I18n.t('tour.displayview'),
48
- version: 1
49
- },
50
- {
51
- element: "#annotationLabel",
52
- intro: I18n.t('tour.annotations'),
53
- version: 1
54
- },
55
- {
56
- element: "#timerSection",
57
- intro: I18n.t('tour.timer'),
58
- version: 1
59
- },
60
- {
61
- element: "#feedbackPace",
62
- intro: I18n.t('tour.pace'),
63
- version: 1
64
- },
65
- {
66
- element: "#questions",
67
- intro: I18n.t('tour.questions'),
68
- version: 1
69
- },
70
- {
71
- element: "#notes-controls",
72
- intro: I18n.t('tour.notes'),
73
- highlightClass: "tourDark",
74
- version: 1
75
- },
76
- {
77
- element: "#slideSource",
78
- intro: I18n.t('tour.slidesource'),
79
- version: 1
80
- },
81
- {
82
- element: "#settings",
83
- intro: I18n.t('tour.settings'),
84
- version: 1
85
- },
86
- {
87
- element: "#edit",
88
- intro: I18n.t('tour.edit'),
89
- version: 1
90
- },
91
- {
92
- element: "#report",
93
- intro: I18n.t('tour.report'),
94
- version: 1
95
- }
96
- ].filter(function(item) {
97
- // filter out tips for features that have been turned off
98
- return ((item['element'] == undefined) || document.querySelector(item['element']));
99
- });
100
-
101
- // Only autoshow when served from localhost, since we don't know if we have a consistent domain for our cookie otherwise.
102
- if ( location.hostname == 'localhost' || location.hostname == '127.0.0.1' ) {
103
-
104
- // enables the flag that shows feature tours
105
- autoTour = true;
106
-
107
- var clientTour = document.cookieHash['tourVersion'] || 0;
108
- if(clientTour < tourVersion) {
109
- // now make a temporary duplicate of only recent items
110
- tours['showoff:presenter:auto'] = tours['showoff:presenter'].filter(function(item) {
111
- return (item['version'] > clientTour);
112
- });
113
-
114
- // we don't need to let this record, because we've already tested clientTour
115
- showTour('showoff:presenter:auto', false);
116
- }
117
-
118
- }
119
- });
120
-
121
- </script>
9
+ <script type="text/javascript" src="js/TimeCircles-89ac5ae.js"></script>
10
+ <script type="text/javascript" src="js/presenter.js?v=<%= SHOWOFF_VERSION %>"></script>
122
11
  </head>
123
12
 
124
13
  <body class="presenter">
@@ -174,7 +63,7 @@
174
63
  <div class="right obscure"> </div>
175
64
  <span id="paceSlow"><%= I18n.t('presenter.pace.faster') %></span>
176
65
  <span id="paceFast"><%= I18n.t('presenter.pace.slower') %></span>
177
- <img id="paceMarker" src="<%= @asset_path %>/css/paceMarker.png" />
66
+ <img id="paceMarker" src="css/paceMarker.png" />
178
67
  </div>
179
68
  <% end %>
180
69
 
@@ -194,23 +83,23 @@
194
83
  <div id="presenter">
195
84
  <div id="frame">
196
85
  <div id="preview">
197
- <img id="disconnected" src="<%= @asset_path %>/css/disconnected-large.png" />
86
+ <img id="disconnected" src="css/disconnected-large.png" />
198
87
  <div id="prevSlide" class="thumb"><div class="container"></div><h3 class="label"><%= I18n.t('presenter.preview.previous') %></h3></div>
199
88
  <div id="nextSlide" class="thumb"><div class="container"></div><h3 class="label"><%= I18n.t('presenter.preview.next') %></h3></div>
200
89
  <div id="preso"><%= I18n.t('loading') %></div>
201
90
  </div>
202
91
  <div id="annotationToolbar">
203
92
  <label><%= I18n.t('presenter.annotation.tools') %></label>
204
- <i class="fa fa-pencil tool default active" data-action="draw" aria-hidden="true"></i>
93
+ <i class="fa fa-pencil-alt tool default active" data-action="draw" aria-hidden="true"></i>
205
94
  <i class="fa fa-arrow-right tool" data-action="rightArrow" aria-hidden="true"></i>
206
95
  <i class="fa fa-arrow-left tool" data-action="leftArrow" aria-hidden="true"></i>
207
96
  <i class="fa fa-bullseye tool" data-action="highlight" aria-hidden="true"></i>
208
97
  <i class="fa fa-eraser tool" data-action="erase" aria-hidden="true"></i>
209
98
  <label><%= I18n.t('presenter.annotation.lines') %></label>
210
- <i class="fa fa-square-o lines color1 active" aria-hidden="true"></i>
211
- <i class="fa fa-square-o lines color2" aria-hidden="true"></i>
212
- <i class="fa fa-square-o lines color3" aria-hidden="true"></i>
213
- <i class="fa fa-square-o lines color4" aria-hidden="true"></i>
99
+ <i class="fa fa-signature lines color1 active" aria-hidden="true"></i>
100
+ <i class="fa fa-signature lines color2" aria-hidden="true"></i>
101
+ <i class="fa fa-signature lines color3" aria-hidden="true"></i>
102
+ <i class="fa fa-signature lines color4" aria-hidden="true"></i>
214
103
  <label><%= I18n.t('presenter.annotation.shapes') %></label>
215
104
  <i class="fa fa-square shapes color1" aria-hidden="true"></i>
216
105
  <i class="fa fa-square shapes color2" aria-hidden="true"></i>
@@ -241,7 +130,7 @@
241
130
  <ul class="section-selector"></ul>
242
131
  <div class="controls" id="notes-controls">
243
132
  <a class="no-mobile fa fa-minus small" aria-hidden="true" href="#"></a>
244
- <a class="no-mobile fa fa-dot-circle-o small" aria-hidden="true" href="#"></a>
133
+ <a class="no-mobile fa fa-circle small" aria-hidden="true" href="#"></a>
245
134
  <a class="no-mobile fa fa-plus small" aria-hidden="true" href="#"></a>
246
135
  <span class="spacer"> </span>
247
136
  <a id="notesToggle" class="no-mobile fa fa-external-link-square" aria-hidden="true" href="#"></a>
@@ -311,5 +200,117 @@
311
200
  <%= @slides %>
312
201
  </div>
313
202
  </div><!-- end pagewrapper -->
203
+
204
+ <script defer type="text/javascript">
205
+ editUrl = "<%= @edit %>";
206
+ issueUrl = "<%= @issues %>";
207
+ autoTour = false;
208
+
209
+ // increment this each time we add features with new tour stops.
210
+ tourVersion = 1;
211
+
212
+ $(function() {
213
+ tours['showoff:activity'] = [
214
+ {
215
+ element: ".currentSlide .count",
216
+ intro: I18n.t('tour.activity.count')
217
+ }
218
+ ];
219
+
220
+ tours['showoff:form'] = [
221
+ {
222
+ element: "#notes",
223
+ intro: I18n.t('tour.form.responses'),
224
+ scrollToElement: false
225
+ },
226
+ {
227
+ element: ".currentSlide input.display",
228
+ intro: I18n.t('tour.form.display')
229
+ }
230
+ ];
231
+
232
+ tours['showoff:presenter'] = [
233
+ {
234
+ intro: I18n.t('tour.welcome'),
235
+ version: 1
236
+ },
237
+ {
238
+ element: "#slaveWindow",
239
+ intro: I18n.t('tour.displayview'),
240
+ version: 1
241
+ },
242
+ {
243
+ element: "#annotationLabel",
244
+ intro: I18n.t('tour.annotations'),
245
+ version: 1
246
+ },
247
+ {
248
+ element: "#timerSection",
249
+ intro: I18n.t('tour.timer'),
250
+ version: 1
251
+ },
252
+ {
253
+ element: "#feedbackPace",
254
+ intro: I18n.t('tour.pace'),
255
+ version: 1
256
+ },
257
+ {
258
+ element: "#questions",
259
+ intro: I18n.t('tour.questions'),
260
+ version: 1
261
+ },
262
+ {
263
+ element: "#notes-controls",
264
+ intro: I18n.t('tour.notes'),
265
+ highlightClass: "tourDark",
266
+ version: 1
267
+ },
268
+ {
269
+ element: "#slideSource",
270
+ intro: I18n.t('tour.slidesource'),
271
+ version: 1
272
+ },
273
+ {
274
+ element: "#settings",
275
+ intro: I18n.t('tour.settings'),
276
+ version: 1
277
+ },
278
+ {
279
+ element: "#edit",
280
+ intro: I18n.t('tour.edit'),
281
+ version: 1
282
+ },
283
+ {
284
+ element: "#report",
285
+ intro: I18n.t('tour.report'),
286
+ version: 1
287
+ }
288
+ ].filter(function(item) {
289
+ // filter out tips for features that have been turned off
290
+ return ((item['element'] == undefined) || document.querySelector(item['element']));
291
+ });
292
+
293
+ // Only autoshow when served from localhost, since we don't know if we have a consistent domain for our cookie otherwise.
294
+ if ( location.hostname == 'localhost' || location.hostname == '127.0.0.1' ) {
295
+
296
+ // enables the flag that shows feature tours
297
+ autoTour = true;
298
+
299
+ var clientTour = document.cookieHash['tourVersion'] || 0;
300
+ if(clientTour < tourVersion) {
301
+ // now make a temporary duplicate of only recent items
302
+ tours['showoff:presenter:auto'] = tours['showoff:presenter'].filter(function(item) {
303
+ return (item['version'] > clientTour);
304
+ });
305
+
306
+ // we don't need to let this record, because we've already tested clientTour
307
+ showTour('showoff:presenter:auto', false);
308
+ }
309
+
310
+ }
311
+ });
312
+
313
+ </script>
314
+
314
315
  </body>
315
316
  </html>
data/views/slide.erb ADDED
@@ -0,0 +1,29 @@
1
+ <%
2
+ if background
3
+ bgstyle="background-image: url('#{background}');"
4
+ else
5
+ bgstyle=''
6
+ end
7
+ -%>
8
+ <div id="<%= id %>" class="slide <%= slideClasses.join(' ') %>" style="<%= bgstyle %>"
9
+ data-section="<%= section %>" data-title="<%= name %>" data-transition="<%= transition %>" >
10
+ <div class="content <%= classes.join(' ') %>" ref="<%= ref %>">
11
+ <% if section_title -%>
12
+ <!-- renderers like wkhtmltopdf need an <h1> tag to use for a section title -->
13
+ <h1 class="section_title"><%= section_title %></h1>
14
+ <% end -%>
15
+
16
+ <%= content %>
17
+
18
+ </div>
19
+ <% notes.each do |section| -%>
20
+ <%= section %>
21
+ <% end -%>
22
+ <% if classes.include? 'activity' -%>
23
+ <span class="activityToggle">
24
+ <label for="activity-<%= ref %>"><%= I18n.t('activity_complete') %></label>
25
+ <input type="checkbox" class="activity" name="activity-<%= ref %>" id="activity-<%= ref %>" />
26
+ </span>
27
+ <% end -%>
28
+ <canvas class="annotations"></canvas>
29
+ </div>
data/views/stats.erb CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  <script type="text/javascript">
12
12
  $(document).ready(function(){
13
- $.getJSON("/stats_data", function( json ) {
13
+ $.getJSON("stats_data", function( json ) {
14
14
  setupStats(json);
15
15
  });
16
16
  });
metadata CHANGED
@@ -1,242 +1,228 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: showoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.4
4
+ version: 0.20.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chacon
8
8
  - Ben Ford
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-02-13 00:00:00.000000000 Z
12
+ date: 2021-04-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: sinatra
15
+ name: commonmarker
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.3'
20
+ version: '0.21'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.3'
27
+ version: '0.21'
28
28
  - !ruby/object:Gem::Dependency
29
- name: gli
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '2.0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '2.0'
42
- - !ruby/object:Gem::Dependency
43
- name: tilt
29
+ name: fidget
44
30
  requirement: !ruby/object:Gem::Requirement
45
31
  requirements:
46
- - - ">="
32
+ - - "~>"
47
33
  - !ruby/object:Gem::Version
48
- version: 2.0.3
34
+ version: '0.0'
49
35
  type: :runtime
50
36
  prerelease: false
51
37
  version_requirements: !ruby/object:Gem::Requirement
52
38
  requirements:
53
- - - ">="
39
+ - - "~>"
54
40
  - !ruby/object:Gem::Version
55
- version: 2.0.3
41
+ version: '0.0'
56
42
  - !ruby/object:Gem::Dependency
57
- name: fidget
43
+ name: gli
58
44
  requirement: !ruby/object:Gem::Requirement
59
45
  requirements:
60
- - - ">="
46
+ - - "~>"
61
47
  - !ruby/object:Gem::Version
62
- version: 0.0.3
48
+ version: '2.20'
63
49
  type: :runtime
64
50
  prerelease: false
65
51
  version_requirements: !ruby/object:Gem::Requirement
66
52
  requirements:
67
- - - ">="
53
+ - - "~>"
68
54
  - !ruby/object:Gem::Version
69
- version: 0.0.3
55
+ version: '2.20'
70
56
  - !ruby/object:Gem::Dependency
71
- name: json
57
+ name: htmlentities
72
58
  requirement: !ruby/object:Gem::Requirement
73
59
  requirements:
74
- - - ">="
60
+ - - "~>"
75
61
  - !ruby/object:Gem::Version
76
- version: '0'
62
+ version: '4.3'
77
63
  type: :runtime
78
64
  prerelease: false
79
65
  version_requirements: !ruby/object:Gem::Requirement
80
66
  requirements:
81
- - - ">="
67
+ - - "~>"
82
68
  - !ruby/object:Gem::Version
83
- version: '0'
69
+ version: '4.3'
84
70
  - !ruby/object:Gem::Dependency
85
- name: parslet
71
+ name: i18n
86
72
  requirement: !ruby/object:Gem::Requirement
87
73
  requirements:
88
- - - ">="
74
+ - - "~>"
89
75
  - !ruby/object:Gem::Version
90
- version: '0'
76
+ version: '1.8'
91
77
  type: :runtime
92
78
  prerelease: false
93
79
  version_requirements: !ruby/object:Gem::Requirement
94
80
  requirements:
95
- - - ">="
81
+ - - "~>"
96
82
  - !ruby/object:Gem::Version
97
- version: '0'
83
+ version: '1.8'
98
84
  - !ruby/object:Gem::Dependency
99
- name: htmlentities
85
+ name: iso-639
100
86
  requirement: !ruby/object:Gem::Requirement
101
87
  requirements:
102
- - - ">="
88
+ - - "~>"
103
89
  - !ruby/object:Gem::Version
104
- version: '0'
90
+ version: '0.3'
105
91
  type: :runtime
106
92
  prerelease: false
107
93
  version_requirements: !ruby/object:Gem::Requirement
108
94
  requirements:
109
- - - ">="
95
+ - - "~>"
110
96
  - !ruby/object:Gem::Version
111
- version: '0'
97
+ version: '0.3'
112
98
  - !ruby/object:Gem::Dependency
113
- name: redcarpet
99
+ name: json
114
100
  requirement: !ruby/object:Gem::Requirement
115
101
  requirements:
116
- - - ">="
102
+ - - "~>"
117
103
  - !ruby/object:Gem::Version
118
- version: '0'
104
+ version: '2.5'
119
105
  type: :runtime
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
108
  requirements:
123
- - - ">="
109
+ - - "~>"
124
110
  - !ruby/object:Gem::Version
125
- version: '0'
111
+ version: '2.5'
126
112
  - !ruby/object:Gem::Dependency
127
113
  name: nokogiri
128
114
  requirement: !ruby/object:Gem::Requirement
129
115
  requirements:
130
- - - ">="
116
+ - - "~>"
131
117
  - !ruby/object:Gem::Version
132
- version: '0'
118
+ version: '1.11'
133
119
  type: :runtime
134
120
  prerelease: false
135
121
  version_requirements: !ruby/object:Gem::Requirement
136
122
  requirements:
137
- - - ">="
123
+ - - "~>"
138
124
  - !ruby/object:Gem::Version
139
- version: '0'
125
+ version: '1.11'
140
126
  - !ruby/object:Gem::Dependency
141
- name: i18n
127
+ name: parslet
142
128
  requirement: !ruby/object:Gem::Requirement
143
129
  requirements:
144
- - - ">="
130
+ - - "~>"
145
131
  - !ruby/object:Gem::Version
146
- version: '0'
132
+ version: '2.0'
147
133
  type: :runtime
148
134
  prerelease: false
149
135
  version_requirements: !ruby/object:Gem::Requirement
150
136
  requirements:
151
- - - ">="
137
+ - - "~>"
152
138
  - !ruby/object:Gem::Version
153
- version: '0'
139
+ version: '2.0'
154
140
  - !ruby/object:Gem::Dependency
155
- name: iso-639
141
+ name: rack-contrib
156
142
  requirement: !ruby/object:Gem::Requirement
157
143
  requirements:
158
- - - ">="
144
+ - - "~>"
159
145
  - !ruby/object:Gem::Version
160
- version: '0'
146
+ version: '2.3'
161
147
  type: :runtime
162
148
  prerelease: false
163
149
  version_requirements: !ruby/object:Gem::Requirement
164
150
  requirements:
165
- - - ">="
151
+ - - "~>"
166
152
  - !ruby/object:Gem::Version
167
- version: '0'
153
+ version: '2.3'
168
154
  - !ruby/object:Gem::Dependency
169
- name: rack-contrib
155
+ name: redcarpet
170
156
  requirement: !ruby/object:Gem::Requirement
171
157
  requirements:
172
- - - ">="
158
+ - - "~>"
173
159
  - !ruby/object:Gem::Version
174
- version: '0'
160
+ version: '3.5'
175
161
  type: :runtime
176
162
  prerelease: false
177
163
  version_requirements: !ruby/object:Gem::Requirement
178
164
  requirements:
179
- - - ">="
165
+ - - "~>"
180
166
  - !ruby/object:Gem::Version
181
- version: '0'
167
+ version: '3.5'
182
168
  - !ruby/object:Gem::Dependency
183
- name: sinatra-websocket
169
+ name: sinatra
184
170
  requirement: !ruby/object:Gem::Requirement
185
171
  requirements:
186
- - - ">="
172
+ - - "~>"
187
173
  - !ruby/object:Gem::Version
188
- version: '0'
174
+ version: '2.1'
189
175
  type: :runtime
190
176
  prerelease: false
191
177
  version_requirements: !ruby/object:Gem::Requirement
192
178
  requirements:
193
- - - ">="
179
+ - - "~>"
194
180
  - !ruby/object:Gem::Version
195
- version: '0'
181
+ version: '2.1'
196
182
  - !ruby/object:Gem::Dependency
197
- name: thin
183
+ name: sinatra-websocket
198
184
  requirement: !ruby/object:Gem::Requirement
199
185
  requirements:
200
186
  - - "~>"
201
187
  - !ruby/object:Gem::Version
202
- version: '1.3'
188
+ version: '0.3'
203
189
  type: :runtime
204
190
  prerelease: false
205
191
  version_requirements: !ruby/object:Gem::Requirement
206
192
  requirements:
207
193
  - - "~>"
208
194
  - !ruby/object:Gem::Version
209
- version: '1.3'
195
+ version: '0.3'
210
196
  - !ruby/object:Gem::Dependency
211
- name: commonmarker
197
+ name: tilt
212
198
  requirement: !ruby/object:Gem::Requirement
213
199
  requirements:
214
- - - "<="
200
+ - - "~>"
215
201
  - !ruby/object:Gem::Version
216
- version: 0.14.4
202
+ version: '2.0'
217
203
  type: :runtime
218
204
  prerelease: false
219
205
  version_requirements: !ruby/object:Gem::Requirement
220
206
  requirements:
221
- - - "<="
207
+ - - "~>"
222
208
  - !ruby/object:Gem::Version
223
- version: 0.14.4
209
+ version: '2.0'
224
210
  - !ruby/object:Gem::Dependency
225
211
  name: mg
226
212
  requirement: !ruby/object:Gem::Requirement
227
213
  requirements:
228
- - - ">="
214
+ - - "~>"
229
215
  - !ruby/object:Gem::Version
230
- version: '0'
216
+ version: '0.0'
231
217
  type: :development
232
218
  prerelease: false
233
219
  version_requirements: !ruby/object:Gem::Requirement
234
220
  requirements:
235
- - - ">="
221
+ - - "~>"
236
222
  - !ruby/object:Gem::Version
237
- version: '0'
223
+ version: '0.0'
238
224
  description: |2
239
- ShowOff is a Sinatra web app that reads simple configuration files for a
225
+ Showoff is a Sinatra web app that reads simple configuration files for a
240
226
  presentation. It is sort of like a Keynote web app engine. I am using it
241
227
  to do all my talks in 2010, because I have a deep hatred in my heart for
242
228
  Keynote and yet it is by far the best in the field.
@@ -258,27 +244,53 @@ files:
258
244
  - lib/commandline_parser.rb
259
245
  - lib/keymap.rb
260
246
  - lib/showoff.rb
247
+ - lib/showoff/compiler.rb
248
+ - lib/showoff/compiler/downloads.rb
249
+ - lib/showoff/compiler/fixups.rb
250
+ - lib/showoff/compiler/form.rb
251
+ - lib/showoff/compiler/glossary.rb
252
+ - lib/showoff/compiler/i18n.rb
253
+ - lib/showoff/compiler/notes.rb
254
+ - lib/showoff/compiler/table_of_contents.rb
255
+ - lib/showoff/compiler/variables.rb
256
+ - lib/showoff/config.rb
257
+ - lib/showoff/locale.rb
258
+ - lib/showoff/logger.rb
259
+ - lib/showoff/monkeypatches.rb
260
+ - lib/showoff/presentation.rb
261
+ - lib/showoff/presentation/section.rb
262
+ - lib/showoff/presentation/slide.rb
263
+ - lib/showoff/state.rb
261
264
  - lib/showoff/version.rb
265
+ - lib/showoff_ng.rb
262
266
  - lib/showoff_utils.rb
263
267
  - locales/README.md
264
268
  - locales/de.yml
265
269
  - locales/en.yml
266
270
  - locales/es.yml
267
271
  - locales/fr.yml
268
- - locales/id.yml
269
272
  - locales/ja.yml
270
273
  - locales/nl.yml
271
274
  - locales/pt.yml
272
275
  - public/css/TimeCircles-89ac5ae.css
273
276
  - public/css/disconnected-large.png
274
277
  - public/css/disconnected.png
275
- - public/css/font-awesome-4.4.0/css/font-awesome.min.css
276
- - public/css/font-awesome-4.4.0/fonts/FontAwesome.otf
277
- - public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.eot
278
- - public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.svg
279
- - public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.ttf
280
- - public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.woff
281
- - public/css/font-awesome-4.4.0/fonts/fontawesome-webfont.woff2
278
+ - public/css/font-awesome-5.6.1/css/all.min.css
279
+ - public/css/font-awesome-5.6.1/webfonts/fa-brands-400.eot
280
+ - public/css/font-awesome-5.6.1/webfonts/fa-brands-400.svg
281
+ - public/css/font-awesome-5.6.1/webfonts/fa-brands-400.ttf
282
+ - public/css/font-awesome-5.6.1/webfonts/fa-brands-400.woff
283
+ - public/css/font-awesome-5.6.1/webfonts/fa-brands-400.woff2
284
+ - public/css/font-awesome-5.6.1/webfonts/fa-regular-400.eot
285
+ - public/css/font-awesome-5.6.1/webfonts/fa-regular-400.svg
286
+ - public/css/font-awesome-5.6.1/webfonts/fa-regular-400.ttf
287
+ - public/css/font-awesome-5.6.1/webfonts/fa-regular-400.woff
288
+ - public/css/font-awesome-5.6.1/webfonts/fa-regular-400.woff2
289
+ - public/css/font-awesome-5.6.1/webfonts/fa-solid-900.eot
290
+ - public/css/font-awesome-5.6.1/webfonts/fa-solid-900.svg
291
+ - public/css/font-awesome-5.6.1/webfonts/fa-solid-900.ttf
292
+ - public/css/font-awesome-5.6.1/webfonts/fa-solid-900.woff
293
+ - public/css/font-awesome-5.6.1/webfonts/fa-solid-900.woff2
282
294
  - public/css/highlight/agate.css
283
295
  - public/css/highlight/androidstudio.css
284
296
  - public/css/highlight/arduino-light.css
@@ -408,7 +420,8 @@ files:
408
420
  - public/js/annotations.js
409
421
  - public/js/bigtext-0.1.8.js
410
422
  - public/js/coffee-script-1.1.3-pre.js
411
- - public/js/highlight.pack-9.2.0.js
423
+ - public/js/highlight.pack-9.15.10.js
424
+ - public/js/highlightjs-line-numbers.min.js
412
425
  - public/js/intro-2.5.local.js
413
426
  - public/js/jTypeWriter-1.1.js
414
427
  - public/js/jquery-2.1.4.min.js
@@ -431,12 +444,13 @@ files:
431
444
  - views/index.erb
432
445
  - views/onepage.erb
433
446
  - views/presenter.erb
447
+ - views/slide.erb
434
448
  - views/stats.erb
435
449
  homepage: https://puppetlabs.github.io/showoff
436
450
  licenses:
437
451
  - MIT
438
452
  metadata: {}
439
- post_install_message:
453
+ post_install_message:
440
454
  rdoc_options: []
441
455
  require_paths:
442
456
  - lib
@@ -451,9 +465,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
451
465
  - !ruby/object:Gem::Version
452
466
  version: '0'
453
467
  requirements: []
454
- rubyforge_project:
455
- rubygems_version: 2.5.2
456
- signing_key:
468
+ rubygems_version: 3.2.13
469
+ signing_key:
457
470
  specification_version: 4
458
471
  summary: The best damn presentation software a developer could ever love.
459
472
  test_files: []