showoff 0.15.3 → 0.15.4
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.
- checksums.yaml +4 -4
- data/lib/showoff/version.rb +1 -1
- data/lib/showoff.rb +26 -0
- data/public/css/mermaid-6.0.0.css +274 -0
- data/public/css/showoff.css +7 -0
- data/public/js/mermaid-6.0.0-min.js +30 -0
- data/public/js/showoff.js +7 -1
- data/views/header.erb +3 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1365af2ab2a7098157389c2b50e549f2d142db0
|
4
|
+
data.tar.gz: 483b890328201a844ea2f69ae1f4123bfae6ecc2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c65507cec293d851664342e4db7aae7e9d57dda4f47fb8ef132b3637f1454dd7ca47e33b267f33b579ab614818f31beab24415475dc5bcc78610bf5085a80883
|
7
|
+
data.tar.gz: 6f72ce0aa88793fe127dabb72c1373d0b0fd02b4371d672e773b2fa3fc4c5c1ffb84eb6c234e2be57c163efbc27589e06ec3203a2821d3334286e6d3aa7a776b
|
data/lib/showoff/version.rb
CHANGED
data/lib/showoff.rb
CHANGED
@@ -424,6 +424,8 @@ class ShowOff < Sinatra::Application
|
|
424
424
|
content += "<canvas class=\"annotations\"></canvas>\n"
|
425
425
|
content += "</div>\n"
|
426
426
|
|
427
|
+
content = final_slide_fixup(content)
|
428
|
+
|
427
429
|
final += update_commandline_code(content)
|
428
430
|
|
429
431
|
if seq
|
@@ -523,6 +525,30 @@ class ShowOff < Sinatra::Application
|
|
523
525
|
doc.to_html
|
524
526
|
end
|
525
527
|
|
528
|
+
# TODO: damn, this one is bad. It's named generically so we can add to it if needed.
|
529
|
+
#
|
530
|
+
# This method is intended to be the dumping ground for the slide fixups that we can't do in
|
531
|
+
# other places until we get #615 implemented. Then this method should be refactored away.
|
532
|
+
#
|
533
|
+
def final_slide_fixup(text)
|
534
|
+
# Turn this into a document for munging
|
535
|
+
doc = Nokogiri::HTML::DocumentFragment.parse(text)
|
536
|
+
slide = doc.at_css 'div.slide'
|
537
|
+
content = doc.at_css 'div.content'
|
538
|
+
|
539
|
+
# move each notes section outside of the content div
|
540
|
+
doc.css('div.notes-section').each do |note|
|
541
|
+
content.add_next_sibling(note)
|
542
|
+
end
|
543
|
+
|
544
|
+
# this is a list of classes that we want applied *only* to content, and not to the slide,
|
545
|
+
# typically so that overly aggressive selectors don't match more than they should.
|
546
|
+
blacklist = ['bigtext']
|
547
|
+
slide['class'] = slide['class'].split.reject { |klass| blacklist.include? klass }.join(' ')
|
548
|
+
|
549
|
+
doc.to_html
|
550
|
+
end
|
551
|
+
|
526
552
|
def process_content_for_all_slides(content, num_slides, opts={})
|
527
553
|
content.gsub!("~~~NUM_SLIDES~~~", num_slides.to_s)
|
528
554
|
|
@@ -0,0 +1,274 @@
|
|
1
|
+
/* Flowchart variables */
|
2
|
+
/* Sequence Diagram variables */
|
3
|
+
/* Gantt chart variables */
|
4
|
+
/* Updated with Showoff selector to reduce collisions! */
|
5
|
+
.language-render-diagram .mermaid .label {
|
6
|
+
color: #333;
|
7
|
+
}
|
8
|
+
.language-render-diagram .node rect,
|
9
|
+
.language-render-diagram .node circle,
|
10
|
+
.language-render-diagram .node ellipse,
|
11
|
+
.language-render-diagram .node polygon {
|
12
|
+
fill: #ECECFF;
|
13
|
+
stroke: #CCCCFF;
|
14
|
+
stroke-width: 1px;
|
15
|
+
}
|
16
|
+
.language-render-diagram .edgePath .path {
|
17
|
+
stroke: #333333;
|
18
|
+
}
|
19
|
+
.language-render-diagram .edgeLabel {
|
20
|
+
background-color: #e8e8e8;
|
21
|
+
}
|
22
|
+
.language-render-diagram .cluster rect {
|
23
|
+
fill: #ffffde !important;
|
24
|
+
rx: 4 !important;
|
25
|
+
stroke: #aaaa33 !important;
|
26
|
+
stroke-width: 1px !important;
|
27
|
+
}
|
28
|
+
.language-render-diagram .cluster text {
|
29
|
+
fill: #333;
|
30
|
+
}
|
31
|
+
.language-render-diagram .actor {
|
32
|
+
stroke: #CCCCFF;
|
33
|
+
fill: #ECECFF;
|
34
|
+
}
|
35
|
+
.language-render-diagram text.actor {
|
36
|
+
fill: black;
|
37
|
+
stroke: none;
|
38
|
+
}
|
39
|
+
.language-render-diagram .actor-line {
|
40
|
+
stroke: grey;
|
41
|
+
}
|
42
|
+
.language-render-diagram .messageLine0 {
|
43
|
+
stroke-width: 1.5;
|
44
|
+
stroke-dasharray: "2 2";
|
45
|
+
marker-end: "url(#arrowhead)";
|
46
|
+
stroke: #333;
|
47
|
+
}
|
48
|
+
.language-render-diagram .messageLine1 {
|
49
|
+
stroke-width: 1.5;
|
50
|
+
stroke-dasharray: "2 2";
|
51
|
+
stroke: #333;
|
52
|
+
}
|
53
|
+
.language-render-diagram #arrowhead {
|
54
|
+
fill: #333;
|
55
|
+
}
|
56
|
+
.language-render-diagram #crosshead path {
|
57
|
+
fill: #333 !important;
|
58
|
+
stroke: #333 !important;
|
59
|
+
}
|
60
|
+
.language-render-diagram .messageText {
|
61
|
+
fill: #333;
|
62
|
+
stroke: none;
|
63
|
+
}
|
64
|
+
.language-render-diagram .labelBox {
|
65
|
+
stroke: #CCCCFF;
|
66
|
+
fill: #ECECFF;
|
67
|
+
}
|
68
|
+
.language-render-diagram .labelText {
|
69
|
+
fill: black;
|
70
|
+
stroke: none;
|
71
|
+
}
|
72
|
+
.language-render-diagram .loopText {
|
73
|
+
fill: black;
|
74
|
+
stroke: none;
|
75
|
+
}
|
76
|
+
.language-render-diagram .loopLine {
|
77
|
+
stroke-width: 2;
|
78
|
+
stroke-dasharray: "2 2";
|
79
|
+
marker-end: "url(#arrowhead)";
|
80
|
+
stroke: #CCCCFF;
|
81
|
+
}
|
82
|
+
.language-render-diagram .note {
|
83
|
+
stroke: #aaaa33;
|
84
|
+
fill: #fff5ad;
|
85
|
+
}
|
86
|
+
.language-render-diagram .noteText {
|
87
|
+
fill: black;
|
88
|
+
stroke: none;
|
89
|
+
font-family: 'trebuchet ms', verdana, arial;
|
90
|
+
font-size: 14px;
|
91
|
+
}
|
92
|
+
/** Section styling */
|
93
|
+
.language-render-diagram .section {
|
94
|
+
stroke: none;
|
95
|
+
opacity: 0.2;
|
96
|
+
}
|
97
|
+
.language-render-diagram .section0 {
|
98
|
+
fill: rgba(102, 102, 255, 0.49);
|
99
|
+
}
|
100
|
+
.language-render-diagram .section2 {
|
101
|
+
fill: #fff400;
|
102
|
+
}
|
103
|
+
.language-render-diagram .section1,
|
104
|
+
.language-render-diagram .section3 {
|
105
|
+
fill: white;
|
106
|
+
opacity: 0.2;
|
107
|
+
}
|
108
|
+
.language-render-diagram .sectionTitle0 {
|
109
|
+
fill: #333;
|
110
|
+
}
|
111
|
+
.language-render-diagram .sectionTitle1 {
|
112
|
+
fill: #333;
|
113
|
+
}
|
114
|
+
.language-render-diagram .sectionTitle2 {
|
115
|
+
fill: #333;
|
116
|
+
}
|
117
|
+
.language-render-diagram .sectionTitle3 {
|
118
|
+
fill: #333;
|
119
|
+
}
|
120
|
+
.language-render-diagram .sectionTitle {
|
121
|
+
text-anchor: start;
|
122
|
+
font-size: 11px;
|
123
|
+
text-height: 14px;
|
124
|
+
}
|
125
|
+
/* Grid and axis */
|
126
|
+
.language-render-diagram .grid .tick {
|
127
|
+
stroke: lightgrey;
|
128
|
+
opacity: 0.3;
|
129
|
+
shape-rendering: crispEdges;
|
130
|
+
}
|
131
|
+
.language-render-diagram .grid path {
|
132
|
+
stroke-width: 0;
|
133
|
+
}
|
134
|
+
/* Today line */
|
135
|
+
.language-render-diagram .today {
|
136
|
+
fill: none;
|
137
|
+
stroke: red;
|
138
|
+
stroke-width: 2px;
|
139
|
+
}
|
140
|
+
/* Task styling */
|
141
|
+
/* Default task */
|
142
|
+
.language-render-diagram .task {
|
143
|
+
stroke-width: 2;
|
144
|
+
}
|
145
|
+
.language-render-diagram .taskText {
|
146
|
+
text-anchor: middle;
|
147
|
+
font-size: 11px;
|
148
|
+
}
|
149
|
+
.language-render-diagram .taskTextOutsideRight {
|
150
|
+
fill: black;
|
151
|
+
text-anchor: start;
|
152
|
+
font-size: 11px;
|
153
|
+
}
|
154
|
+
.language-render-diagram .taskTextOutsideLeft {
|
155
|
+
fill: black;
|
156
|
+
text-anchor: end;
|
157
|
+
font-size: 11px;
|
158
|
+
}
|
159
|
+
/* Specific task settings for the sections*/
|
160
|
+
.language-render-diagram .taskText0,
|
161
|
+
.language-render-diagram .taskText1,
|
162
|
+
.language-render-diagram .taskText2,
|
163
|
+
.language-render-diagram .taskText3 {
|
164
|
+
fill: white;
|
165
|
+
}
|
166
|
+
.language-render-diagram .task0,
|
167
|
+
.language-render-diagram .task1,
|
168
|
+
.language-render-diagram .task2,
|
169
|
+
.language-render-diagram .task3 {
|
170
|
+
fill: #8a90dd;
|
171
|
+
stroke: #534fbc;
|
172
|
+
}
|
173
|
+
.language-render-diagram .taskTextOutside0,
|
174
|
+
.language-render-diagram .taskTextOutside2 {
|
175
|
+
fill: black;
|
176
|
+
}
|
177
|
+
.language-render-diagram .taskTextOutside1,
|
178
|
+
.language-render-diagram .taskTextOutside3 {
|
179
|
+
fill: black;
|
180
|
+
}
|
181
|
+
/* Active task */
|
182
|
+
.language-render-diagram .active0,
|
183
|
+
.language-render-diagram .active1,
|
184
|
+
.language-render-diagram .active2,
|
185
|
+
.language-render-diagram .active3 {
|
186
|
+
fill: #bfc7ff;
|
187
|
+
stroke: #534fbc;
|
188
|
+
}
|
189
|
+
.language-render-diagram .activeText0,
|
190
|
+
.language-render-diagram .activeText1,
|
191
|
+
.language-render-diagram .activeText2,
|
192
|
+
.language-render-diagram .activeText3 {
|
193
|
+
fill: black !important;
|
194
|
+
}
|
195
|
+
/* Completed task */
|
196
|
+
.language-render-diagram .done0,
|
197
|
+
.language-render-diagram .done1,
|
198
|
+
.language-render-diagram .done2,
|
199
|
+
.language-render-diagram .done3 {
|
200
|
+
stroke: grey;
|
201
|
+
fill: lightgrey;
|
202
|
+
stroke-width: 2;
|
203
|
+
}
|
204
|
+
.language-render-diagram .doneText0,
|
205
|
+
.language-render-diagram .doneText1,
|
206
|
+
.language-render-diagram .doneText2,
|
207
|
+
.language-render-diagram .doneText3 {
|
208
|
+
fill: black !important;
|
209
|
+
}
|
210
|
+
/* Tasks on the critical line */
|
211
|
+
.language-render-diagram .crit0,
|
212
|
+
.language-render-diagram .crit1,
|
213
|
+
.language-render-diagram .crit2,
|
214
|
+
.language-render-diagram .crit3 {
|
215
|
+
stroke: #ff8888;
|
216
|
+
fill: red;
|
217
|
+
stroke-width: 2;
|
218
|
+
}
|
219
|
+
.language-render-diagram .activeCrit0,
|
220
|
+
.language-render-diagram .activeCrit1,
|
221
|
+
.language-render-diagram .activeCrit2,
|
222
|
+
.language-render-diagram .activeCrit3 {
|
223
|
+
stroke: #ff8888;
|
224
|
+
fill: #bfc7ff;
|
225
|
+
stroke-width: 2;
|
226
|
+
}
|
227
|
+
.language-render-diagram .doneCrit0,
|
228
|
+
.language-render-diagram .doneCrit1,
|
229
|
+
.language-render-diagram .doneCrit2,
|
230
|
+
.language-render-diagram .doneCrit3 {
|
231
|
+
stroke: #ff8888;
|
232
|
+
fill: lightgrey;
|
233
|
+
stroke-width: 2;
|
234
|
+
cursor: pointer;
|
235
|
+
shape-rendering: crispEdges;
|
236
|
+
}
|
237
|
+
.language-render-diagram .doneCritText0,
|
238
|
+
.language-render-diagram .doneCritText1,
|
239
|
+
.language-render-diagram .doneCritText2,
|
240
|
+
.language-render-diagram .doneCritText3 {
|
241
|
+
fill: black !important;
|
242
|
+
}
|
243
|
+
.language-render-diagram .activeCritText0,
|
244
|
+
.language-render-diagram .activeCritText1,
|
245
|
+
.language-render-diagram .activeCritText2,
|
246
|
+
.language-render-diagram .activeCritText3 {
|
247
|
+
fill: black !important;
|
248
|
+
}
|
249
|
+
.language-render-diagram .titleText {
|
250
|
+
text-anchor: middle;
|
251
|
+
font-size: 18px;
|
252
|
+
fill: black;
|
253
|
+
}
|
254
|
+
/*
|
255
|
+
|
256
|
+
|
257
|
+
*/
|
258
|
+
.language-render-diagram .node text {
|
259
|
+
font-family: 'trebuchet ms', verdana, arial;
|
260
|
+
font-size: 14px;
|
261
|
+
}
|
262
|
+
.language-render-diagram div.mermaidTooltip {
|
263
|
+
position: absolute;
|
264
|
+
text-align: center;
|
265
|
+
max-width: 200px;
|
266
|
+
padding: 2px;
|
267
|
+
font-family: 'trebuchet ms', verdana, arial;
|
268
|
+
font-size: 12px;
|
269
|
+
background: #ffffde;
|
270
|
+
border: 1px solid #aaaa33;
|
271
|
+
border-radius: 2px;
|
272
|
+
pointer-events: none;
|
273
|
+
z-index: 100;
|
274
|
+
}
|
data/public/css/showoff.css
CHANGED
@@ -620,6 +620,13 @@ pre.highlight code.language-powershellconsole.nochrome {
|
|
620
620
|
overflow: hidden;
|
621
621
|
}
|
622
622
|
|
623
|
+
/* Diagram styling: overriding mermaid.css as needed */
|
624
|
+
.language-render-diagram,
|
625
|
+
.language-render-diagram .noteText,
|
626
|
+
.language-render-diagram .node text,
|
627
|
+
.language-render-diagram div.mermaidTooltip {
|
628
|
+
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
629
|
+
}
|
623
630
|
|
624
631
|
|
625
632
|
/**********************************
|