showoff 0.19.1 → 0.19.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/showoff.rb +10 -4
- data/lib/showoff/version.rb +1 -1
- data/public/css/highlight/atelier-cave.dark.css +1 -0
- data/public/css/highlight/atelier-cave.light.css +1 -0
- data/public/css/highlight/atelier-dune.dark.css +1 -0
- data/public/css/highlight/atelier-dune.light.css +1 -0
- data/public/css/highlight/atelier-estuary.dark.css +1 -0
- data/public/css/highlight/atelier-estuary.light.css +1 -0
- data/public/css/highlight/atelier-forest.dark.css +1 -0
- data/public/css/highlight/atelier-forest.light.css +1 -0
- data/public/css/highlight/atelier-heath.dark.css +1 -0
- data/public/css/highlight/atelier-heath.light.css +1 -0
- data/public/css/highlight/atelier-lakeside.dark.css +1 -0
- data/public/css/highlight/atelier-lakeside.light.css +1 -0
- data/public/css/highlight/atelier-plateau.dark.css +1 -0
- data/public/css/highlight/atelier-plateau.light.css +1 -0
- data/public/css/highlight/atelier-savanna.dark.css +1 -0
- data/public/css/highlight/atelier-savanna.light.css +1 -0
- data/public/css/highlight/atelier-seaside.dark.css +1 -0
- data/public/css/highlight/atelier-seaside.light.css +1 -0
- data/public/css/highlight/atelier-sulphurpool.dark.css +1 -0
- data/public/css/highlight/atelier-sulphurpool.light.css +1 -0
- data/public/css/highlight/brown_paper.css +1 -0
- data/public/css/highlight/brown_papersq.png +1 -0
- data/public/css/highlight/ir_black.css +1 -0
- data/public/css/highlight/monokai_sublime.css +1 -0
- data/public/css/highlight/paraiso.dark.css +1 -0
- data/public/css/highlight/paraiso.light.css +1 -0
- data/public/css/highlight/school_book.css +1 -0
- data/public/css/highlight/school_book.png +1 -0
- data/public/css/highlight/solarized_dark.css +1 -0
- data/public/css/highlight/solarized_light.css +1 -0
- data/public/css/presenter.css +1 -0
- data/public/css/showoff.css +20 -11
- data/public/js/presenter.js +1 -1
- data/public/js/showoff.js +3 -3
- metadata +22 -22
- data/public/css/highlight/atelier-cave.dark.css +0 -83
- data/public/css/highlight/atelier-cave.light.css +0 -85
- data/public/css/highlight/atelier-dune.dark.css +0 -69
- data/public/css/highlight/atelier-dune.light.css +0 -69
- data/public/css/highlight/atelier-estuary.dark.css +0 -84
- data/public/css/highlight/atelier-estuary.light.css +0 -84
- data/public/css/highlight/atelier-forest.dark.css +0 -69
- data/public/css/highlight/atelier-forest.light.css +0 -69
- data/public/css/highlight/atelier-heath.dark.css +0 -69
- data/public/css/highlight/atelier-heath.light.css +0 -69
- data/public/css/highlight/atelier-lakeside.dark.css +0 -69
- data/public/css/highlight/atelier-lakeside.light.css +0 -69
- data/public/css/highlight/atelier-plateau.dark.css +0 -84
- data/public/css/highlight/atelier-plateau.light.css +0 -84
- data/public/css/highlight/atelier-savanna.dark.css +0 -84
- data/public/css/highlight/atelier-savanna.light.css +0 -84
- data/public/css/highlight/atelier-seaside.dark.css +0 -69
- data/public/css/highlight/atelier-seaside.light.css +0 -69
- data/public/css/highlight/atelier-sulphurpool.dark.css +0 -69
- data/public/css/highlight/atelier-sulphurpool.light.css +0 -69
- data/public/css/highlight/brown_paper.css +0 -64
- data/public/css/highlight/brown_papersq.png +0 -0
- data/public/css/highlight/ir_black.css +0 -73
- data/public/css/highlight/monokai_sublime.css +0 -83
- data/public/css/highlight/paraiso.dark.css +0 -72
- data/public/css/highlight/paraiso.light.css +0 -72
- data/public/css/highlight/school_book.css +0 -72
- data/public/css/highlight/school_book.png +0 -0
- data/public/css/highlight/solarized_dark.css +0 -84
- data/public/css/highlight/solarized_light.css +0 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a67c9a02bf519739e7c83abac3251b4c5172dd9
|
4
|
+
data.tar.gz: 379cfad6c8aa48c9b726a8c639674bfb91fb28f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d155da95f048d2beb231c1e9f68dfbf8fe6ba7733ad63cfeb103760b9b3bb31e61d9f22f2459b4ed94d82ca14a9f0b1a9f67caca0dcd0926ae965d7e1d58d410
|
7
|
+
data.tar.gz: 5cc8032013b1b8806ce42329de2ff43fce10a183e234edbd623668932f5622e3359734f0e55b953a61e783b3e5df34fb341c613c649c6fe8735a82b11693ac05
|
data/lib/showoff.rb
CHANGED
@@ -627,8 +627,7 @@ class ShowOff < Sinatra::Application
|
|
627
627
|
|
628
628
|
# Process links
|
629
629
|
doc.css('a').each do |link|
|
630
|
-
next unless link
|
631
|
-
next unless link.include? 'class'
|
630
|
+
next unless link['href']
|
632
631
|
next if link['href'].start_with? '#'
|
633
632
|
next if link['class'].split.include? 'processed' rescue nil
|
634
633
|
|
@@ -713,7 +712,14 @@ class ShowOff < Sinatra::Application
|
|
713
712
|
if opts[:toc]
|
714
713
|
toc = Nokogiri::HTML::DocumentFragment.parse("<p id=\"toc\"></p>")
|
715
714
|
|
716
|
-
|
715
|
+
case opts[:toc]
|
716
|
+
when :all
|
717
|
+
titles = doc.css('div.slide:not(.toc) > div.content:not(.cover) > h1:not(.section_title)')
|
718
|
+
else
|
719
|
+
titles = doc.css('div.subsection > h1:not(.section_title)')
|
720
|
+
end
|
721
|
+
|
722
|
+
titles.each do |section|
|
717
723
|
href = section.parent.parent['id']
|
718
724
|
frag = "<div class=\"tocentry\"><a href=\"##{href}\">#{section.content}</a></div>"
|
719
725
|
link = Nokogiri::HTML::DocumentFragment.parse(frag)
|
@@ -1293,7 +1299,7 @@ class ShowOff < Sinatra::Application
|
|
1293
1299
|
|
1294
1300
|
def supplemental(content, static=false)
|
1295
1301
|
# supplemental material is by definition separate from the presentation, so it doesn't make sense to attach notes
|
1296
|
-
@slides = get_slides_html(:static=>static, :supplemental=>content, :section=>false)
|
1302
|
+
@slides = get_slides_html(:static=>static, :supplemental=>content, :section=>false, :toc=>:all)
|
1297
1303
|
@favicon = settings.showoff_config['favicon']
|
1298
1304
|
@wrapper_classes = ['supplemental']
|
1299
1305
|
erb :onepage
|
data/lib/showoff/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
atelier-cave-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-cave-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-dune-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-dune-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-estuary-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-estuary-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-forest-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-forest-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-heath-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-heath-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-lakeside-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-lakeside-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-plateau-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-plateau-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-savanna-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-savanna-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-seaside-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-seaside-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-sulphurpool-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
atelier-sulphurpool-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
brown-paper.css
|
@@ -0,0 +1 @@
|
|
1
|
+
brown-papersq.png
|
@@ -0,0 +1 @@
|
|
1
|
+
ir-black.css
|
@@ -0,0 +1 @@
|
|
1
|
+
monokai-sublime.css
|
@@ -0,0 +1 @@
|
|
1
|
+
paraiso-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
paraiso-light.css
|
@@ -0,0 +1 @@
|
|
1
|
+
school-book.css
|
@@ -0,0 +1 @@
|
|
1
|
+
school-book.png
|
@@ -0,0 +1 @@
|
|
1
|
+
solarized-dark.css
|
@@ -0,0 +1 @@
|
|
1
|
+
solarized-light.css
|
data/public/css/presenter.css
CHANGED
data/public/css/showoff.css
CHANGED
@@ -783,24 +783,33 @@ form .element {
|
|
783
783
|
text-decoration: line-through;
|
784
784
|
font-weight: 100;
|
785
785
|
opacity: .7;
|
786
|
+
color: #e74c3c; /* red */
|
786
787
|
}
|
787
788
|
.slide.answerkey form label.correct,
|
788
789
|
.slide.answerkey form option.correct {
|
789
790
|
font-weight: 900;
|
790
|
-
}
|
791
|
-
/* Be careful with order here; these rules depend on cascading order */
|
792
|
-
.slide.answerkey input + option,
|
793
|
-
.slide.answerkey input + label.incorrect,
|
794
|
-
.slide.answerkey input:checked + label.correct,
|
795
|
-
.slide.answerkey input:checked + option.correct {
|
796
791
|
color: #00AA00; /* green */
|
797
792
|
}
|
798
|
-
|
799
|
-
.slide.answerkey input
|
800
|
-
|
801
|
-
|
802
|
-
|
793
|
+
|
794
|
+
.slide.answerkey input::before {
|
795
|
+
margin-left: -1em;
|
796
|
+
vertical-align: top;
|
797
|
+
font-family: FontAwesome;
|
798
|
+
font-weight: bold;
|
799
|
+
text-decoration: none;
|
803
800
|
}
|
801
|
+
/* Be careful with order here; these rules depend on cascading order */
|
802
|
+
.slide.answerkey input::before,
|
803
|
+
.slide.answerkey input.correct:checked::before {
|
804
|
+
content: "\f14a"; /* square checkmark */
|
805
|
+
color: #00AA00; /* green */
|
806
|
+
}
|
807
|
+
.slide.answerkey input:checked::before,
|
808
|
+
.slide.answerkey input.correct::before {
|
809
|
+
content: "\f00d"; /* times */
|
810
|
+
color: #e74c3c; /* red */
|
811
|
+
}
|
812
|
+
|
804
813
|
|
805
814
|
|
806
815
|
/*****************
|
data/public/js/presenter.js
CHANGED
@@ -385,7 +385,7 @@ function toggleNotes() {
|
|
385
385
|
if (mode.notes) {
|
386
386
|
try {
|
387
387
|
if(windowIsClosed(notesWindow)){
|
388
|
-
notesWindow = blankStyledWindow(I18n.t('notes.label'), 'width=350,height=450', 'notes', true);
|
388
|
+
notesWindow = blankStyledWindow(I18n.t('presenter.notes.label'), 'width=350,height=450', 'notes', true);
|
389
389
|
window.setTimeout(function() {
|
390
390
|
$(notesWindow.document.documentElement).addClass('floatingNotes');
|
391
391
|
|
data/public/js/showoff.js
CHANGED
@@ -536,13 +536,13 @@ function setupMenu() {
|
|
536
536
|
content = $(slide).find(".content");
|
537
537
|
slideTitle = content.text().split("\n").filter(Boolean)[0] || ''; // split() gives us an empty array when there's no content.
|
538
538
|
|
539
|
+
// just in case we've got any extra whitespace around.
|
540
|
+
slideTitle = slideTitle.trim();
|
541
|
+
|
539
542
|
// if no content (like photo only) fall back to slide name
|
540
543
|
if (slideTitle == "") {
|
541
544
|
slideTitle = content.attr('ref').split('/').pop();
|
542
545
|
}
|
543
|
-
|
544
|
-
// just in case we've got any extra whitespace around.
|
545
|
-
slideTitle = slideTitle.trim();
|
546
546
|
}
|
547
547
|
|
548
548
|
var navLink = $("<a>")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: showoff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.19.
|
4
|
+
version: 0.19.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Chacon
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
@@ -251,24 +251,23 @@ executables:
|
|
251
251
|
extensions: []
|
252
252
|
extra_rdoc_files: []
|
253
253
|
files:
|
254
|
+
- LICENSE
|
254
255
|
- README.md
|
255
256
|
- Rakefile
|
256
|
-
- LICENSE
|
257
257
|
- bin/showoff
|
258
258
|
- lib/commandline_parser.rb
|
259
259
|
- lib/keymap.rb
|
260
|
-
- lib/showoff/version.rb
|
261
260
|
- lib/showoff.rb
|
261
|
+
- lib/showoff/version.rb
|
262
262
|
- lib/showoff_utils.rb
|
263
|
-
-
|
264
|
-
-
|
265
|
-
-
|
266
|
-
-
|
267
|
-
-
|
268
|
-
-
|
269
|
-
-
|
270
|
-
-
|
271
|
-
- views/stats.erb
|
263
|
+
- locales/README.md
|
264
|
+
- locales/de.yml
|
265
|
+
- locales/en.yml
|
266
|
+
- locales/es.yml
|
267
|
+
- locales/fr.yml
|
268
|
+
- locales/ja.yml
|
269
|
+
- locales/nl.yml
|
270
|
+
- locales/pt.yml
|
272
271
|
- public/css/TimeCircles-89ac5ae.css
|
273
272
|
- public/css/disconnected-large.png
|
274
273
|
- public/css/disconnected.png
|
@@ -423,14 +422,15 @@ files:
|
|
423
422
|
- public/js/simpleStrings-0.0.1.js
|
424
423
|
- public/js/zoomline-0.0.1.js
|
425
424
|
- public/unsupported.html
|
426
|
-
-
|
427
|
-
-
|
428
|
-
-
|
429
|
-
-
|
430
|
-
-
|
431
|
-
-
|
432
|
-
-
|
433
|
-
-
|
425
|
+
- views/404.erb
|
426
|
+
- views/download.erb
|
427
|
+
- views/header.erb
|
428
|
+
- views/header_mini.erb
|
429
|
+
- views/help.erb
|
430
|
+
- views/index.erb
|
431
|
+
- views/onepage.erb
|
432
|
+
- views/presenter.erb
|
433
|
+
- views/stats.erb
|
434
434
|
homepage: https://puppetlabs.github.io/showoff
|
435
435
|
licenses:
|
436
436
|
- MIT
|
@@ -451,7 +451,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
451
451
|
version: '0'
|
452
452
|
requirements: []
|
453
453
|
rubyforge_project:
|
454
|
-
rubygems_version: 2.
|
454
|
+
rubygems_version: 2.5.2
|
455
455
|
signing_key:
|
456
456
|
specification_version: 4
|
457
457
|
summary: The best damn presentation software a developer could ever love.
|
@@ -1,83 +0,0 @@
|
|
1
|
-
/* Base16 Atelier Cave Dark - Theme */
|
2
|
-
/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
|
3
|
-
/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
|
4
|
-
|
5
|
-
/* Atelier-Cave Comment */
|
6
|
-
.hljs-comment,
|
7
|
-
.hljs-quote {
|
8
|
-
color: #7e7887;
|
9
|
-
}
|
10
|
-
|
11
|
-
/* Atelier-Cave Red */
|
12
|
-
.hljs-variable,
|
13
|
-
.hljs-template-variable,
|
14
|
-
.hljs-attribute,
|
15
|
-
.hljs-regexp,
|
16
|
-
.hljs-link,
|
17
|
-
.hljs-tag,
|
18
|
-
.hljs-name,
|
19
|
-
.hljs-selector-id,
|
20
|
-
.hljs-selector-class {
|
21
|
-
color: #be4678;
|
22
|
-
}
|
23
|
-
|
24
|
-
/* Atelier-Cave Orange */
|
25
|
-
.hljs-number,
|
26
|
-
.hljs-meta,
|
27
|
-
.hljs-built_in,
|
28
|
-
.hljs-builtin-name,
|
29
|
-
.hljs-literal,
|
30
|
-
.hljs-type,
|
31
|
-
.hljs-params {
|
32
|
-
color: #aa573c;
|
33
|
-
}
|
34
|
-
|
35
|
-
/* Atelier-Cave Green */
|
36
|
-
.hljs-string,
|
37
|
-
.hljs-symbol,
|
38
|
-
.hljs-bullet {
|
39
|
-
color: #2a9292;
|
40
|
-
}
|
41
|
-
|
42
|
-
/* Atelier-Cave Blue */
|
43
|
-
.hljs-title,
|
44
|
-
.hljs-section {
|
45
|
-
color: #576ddb;
|
46
|
-
}
|
47
|
-
|
48
|
-
/* Atelier-Cave Purple */
|
49
|
-
.hljs-keyword,
|
50
|
-
.hljs-selector-tag {
|
51
|
-
color: #955ae7;
|
52
|
-
}
|
53
|
-
|
54
|
-
.hljs-deletion,
|
55
|
-
.hljs-addition {
|
56
|
-
color: #19171c;
|
57
|
-
display: inline-block;
|
58
|
-
width: 100%;
|
59
|
-
}
|
60
|
-
|
61
|
-
.hljs-deletion {
|
62
|
-
background-color: #be4678;
|
63
|
-
}
|
64
|
-
|
65
|
-
.hljs-addition {
|
66
|
-
background-color: #2a9292;
|
67
|
-
}
|
68
|
-
|
69
|
-
.hljs {
|
70
|
-
display: block;
|
71
|
-
overflow-x: auto;
|
72
|
-
background: #19171c;
|
73
|
-
color: #8b8792;
|
74
|
-
padding: 0.5em;
|
75
|
-
}
|
76
|
-
|
77
|
-
.hljs-emphasis {
|
78
|
-
font-style: italic;
|
79
|
-
}
|
80
|
-
|
81
|
-
.hljs-strong {
|
82
|
-
font-weight: bold;
|
83
|
-
}
|
@@ -1,85 +0,0 @@
|
|
1
|
-
/* Base16 Atelier Cave Light - Theme */
|
2
|
-
/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
|
3
|
-
/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
|
4
|
-
|
5
|
-
/* Atelier-Cave Comment */
|
6
|
-
.hljs-comment,
|
7
|
-
.hljs-quote {
|
8
|
-
color: #655f6d;
|
9
|
-
}
|
10
|
-
|
11
|
-
/* Atelier-Cave Red */
|
12
|
-
.hljs-variable,
|
13
|
-
.hljs-template-variable,
|
14
|
-
.hljs-attribute,
|
15
|
-
.hljs-tag,
|
16
|
-
.hljs-name,
|
17
|
-
.hljs-regexp,
|
18
|
-
.hljs-link,
|
19
|
-
.hljs-name,
|
20
|
-
.hljs-name,
|
21
|
-
.hljs-selector-id,
|
22
|
-
.hljs-selector-class {
|
23
|
-
color: #be4678;
|
24
|
-
}
|
25
|
-
|
26
|
-
/* Atelier-Cave Orange */
|
27
|
-
.hljs-number,
|
28
|
-
.hljs-meta,
|
29
|
-
.hljs-built_in,
|
30
|
-
.hljs-builtin-name,
|
31
|
-
.hljs-literal,
|
32
|
-
.hljs-type,
|
33
|
-
.hljs-params {
|
34
|
-
color: #aa573c;
|
35
|
-
}
|
36
|
-
|
37
|
-
/* Atelier-Cave Green */
|
38
|
-
.hljs-string,
|
39
|
-
.hljs-symbol,
|
40
|
-
.hljs-bullet {
|
41
|
-
color: #2a9292;
|
42
|
-
}
|
43
|
-
|
44
|
-
/* Atelier-Cave Blue */
|
45
|
-
.hljs-title,
|
46
|
-
.hljs-section {
|
47
|
-
color: #576ddb;
|
48
|
-
}
|
49
|
-
|
50
|
-
/* Atelier-Cave Purple */
|
51
|
-
.hljs-keyword,
|
52
|
-
.hljs-selector-tag {
|
53
|
-
color: #955ae7;
|
54
|
-
}
|
55
|
-
|
56
|
-
.hljs-deletion,
|
57
|
-
.hljs-addition {
|
58
|
-
color: #19171c;
|
59
|
-
display: inline-block;
|
60
|
-
width: 100%;
|
61
|
-
}
|
62
|
-
|
63
|
-
.hljs-deletion {
|
64
|
-
background-color: #be4678;
|
65
|
-
}
|
66
|
-
|
67
|
-
.hljs-addition {
|
68
|
-
background-color: #2a9292;
|
69
|
-
}
|
70
|
-
|
71
|
-
.hljs {
|
72
|
-
display: block;
|
73
|
-
overflow-x: auto;
|
74
|
-
background: #efecf4;
|
75
|
-
color: #585260;
|
76
|
-
padding: 0.5em;
|
77
|
-
}
|
78
|
-
|
79
|
-
.hljs-emphasis {
|
80
|
-
font-style: italic;
|
81
|
-
}
|
82
|
-
|
83
|
-
.hljs-strong {
|
84
|
-
font-weight: bold;
|
85
|
-
}
|