showoff 0.9.11.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/bin/showoff +4 -0
  3. data/lib/keymap.rb +30 -0
  4. data/lib/showoff/version.rb +1 -1
  5. data/lib/showoff.rb +91 -29
  6. data/public/css/highlight/agate.css +137 -0
  7. data/public/css/highlight/androidstudio.css +53 -0
  8. data/public/css/highlight/arta.css +138 -0
  9. data/public/css/highlight/ascetic.css +52 -0
  10. data/public/css/highlight/atelier-cave.dark.css +113 -0
  11. data/public/css/highlight/atelier-cave.light.css +113 -0
  12. data/public/css/highlight/atelier-dune.dark.css +94 -0
  13. data/public/css/highlight/atelier-dune.light.css +94 -0
  14. data/public/css/highlight/atelier-estuary.dark.css +113 -0
  15. data/public/css/highlight/atelier-estuary.light.css +113 -0
  16. data/public/css/highlight/atelier-forest.dark.css +94 -0
  17. data/public/css/highlight/atelier-forest.light.css +94 -0
  18. data/public/css/highlight/atelier-heath.dark.css +94 -0
  19. data/public/css/highlight/atelier-heath.light.css +94 -0
  20. data/public/css/highlight/atelier-lakeside.dark.css +94 -0
  21. data/public/css/highlight/atelier-lakeside.light.css +94 -0
  22. data/public/css/highlight/atelier-plateau.dark.css +113 -0
  23. data/public/css/highlight/atelier-plateau.light.css +113 -0
  24. data/public/css/highlight/atelier-savanna.dark.css +113 -0
  25. data/public/css/highlight/atelier-savanna.light.css +113 -0
  26. data/public/css/highlight/atelier-seaside.dark.css +94 -0
  27. data/public/css/highlight/atelier-seaside.light.css +94 -0
  28. data/public/css/highlight/atelier-sulphurpool.dark.css +94 -0
  29. data/public/css/highlight/atelier-sulphurpool.light.css +94 -0
  30. data/public/css/highlight/brown_paper.css +103 -0
  31. data/public/css/highlight/brown_papersq.png +0 -0
  32. data/public/css/highlight/codepen-embed.css +97 -0
  33. data/public/css/highlight/color-brewer.css +165 -0
  34. data/public/css/highlight/dark.css +103 -0
  35. data/public/css/highlight/darkula.css +152 -0
  36. data/public/css/highlight/default.css +155 -0
  37. data/public/css/highlight/docco.css +134 -0
  38. data/public/css/highlight/far.css +110 -0
  39. data/public/css/highlight/foundation.css +135 -0
  40. data/public/css/highlight/github-gist.css +211 -0
  41. data/public/css/highlight/github.css +123 -0
  42. data/public/css/highlight/googlecode.css +144 -0
  43. data/public/css/highlight/hybrid.css +164 -0
  44. data/public/css/highlight/idea.css +122 -0
  45. data/public/css/highlight/ir_black.css +106 -0
  46. data/public/css/highlight/kimbie.dark.css +97 -0
  47. data/public/css/highlight/kimbie.light.css +97 -0
  48. data/public/css/highlight/magula.css +120 -0
  49. data/public/css/highlight/mono-blue.css +68 -0
  50. data/public/css/highlight/monokai.css +126 -0
  51. data/public/css/highlight/monokai_sublime.css +154 -0
  52. data/public/css/highlight/obsidian.css +152 -0
  53. data/public/css/highlight/paraiso.dark.css +96 -0
  54. data/public/css/highlight/paraiso.light.css +96 -0
  55. data/public/css/highlight/pojoaque.css +106 -0
  56. data/public/css/highlight/pojoaque.jpg +0 -0
  57. data/public/css/highlight/railscasts.css +184 -0
  58. data/public/css/highlight/rainbow.css +107 -0
  59. data/public/css/highlight/school_book.css +111 -0
  60. data/public/css/highlight/school_book.png +0 -0
  61. data/public/css/highlight/solarized_dark.css +107 -0
  62. data/public/css/highlight/solarized_light.css +107 -0
  63. data/public/css/highlight/sunburst.css +161 -0
  64. data/public/css/highlight/tomorrow-night-blue.css +96 -0
  65. data/public/css/highlight/tomorrow-night-bright.css +95 -0
  66. data/public/css/highlight/tomorrow-night-eighties.css +95 -0
  67. data/public/css/highlight/tomorrow-night.css +96 -0
  68. data/public/css/highlight/tomorrow.css +93 -0
  69. data/public/css/highlight/vs.css +92 -0
  70. data/public/css/highlight/xcode.css +154 -0
  71. data/public/css/highlight/zenburn.css +118 -0
  72. data/public/css/ie8.css +4 -0
  73. data/public/css/presenter.css +5 -17
  74. data/public/css/run_code-dim.png +0 -0
  75. data/public/css/run_code.png +0 -0
  76. data/public/css/showoff.css +154 -127
  77. data/public/js/highlight.pack.js +10816 -0
  78. data/public/js/keyDictionary.json +139 -0
  79. data/public/js/presenter.js +111 -144
  80. data/public/js/showoff.js +333 -387
  81. data/views/header.erb +15 -17
  82. data/views/header_mini.erb +4 -0
  83. data/views/help.erb +79 -0
  84. data/views/index.erb +3 -22
  85. data/views/onepage.erb +27 -14
  86. data/views/presenter.erb +3 -17
  87. data/views/stats.erb +4 -4
  88. metadata +75 -62
  89. data/public/css/sh_style.css +0 -81
  90. data/public/css/tipsy.css +0 -26
  91. data/public/js/core.js +0 -79
  92. data/public/js/jquery.tipsy.js +0 -260
  93. data/public/js/onepage.js +0 -4
  94. data/public/js/sh_lang/sh_bison.min.js +0 -1
  95. data/public/js/sh_lang/sh_c.min.js +0 -1
  96. data/public/js/sh_lang/sh_caml.min.js +0 -1
  97. data/public/js/sh_lang/sh_changelog.min.js +0 -1
  98. data/public/js/sh_lang/sh_coffeescript.min.js +0 -1
  99. data/public/js/sh_lang/sh_cpp.min.js +0 -1
  100. data/public/js/sh_lang/sh_csharp.min.js +0 -1
  101. data/public/js/sh_lang/sh_css.min.js +0 -1
  102. data/public/js/sh_lang/sh_cucumber.min.js +0 -2
  103. data/public/js/sh_lang/sh_desktop.min.js +0 -1
  104. data/public/js/sh_lang/sh_diff.min.js +0 -1
  105. data/public/js/sh_lang/sh_docker.js +0 -137
  106. data/public/js/sh_lang/sh_docker.min.js +0 -1
  107. data/public/js/sh_lang/sh_erlang.min.js +0 -1
  108. data/public/js/sh_lang/sh_flex.min.js +0 -1
  109. data/public/js/sh_lang/sh_gherkin.js +0 -112
  110. data/public/js/sh_lang/sh_gherkin.min.js +0 -1
  111. data/public/js/sh_lang/sh_glsl.min.js +0 -1
  112. data/public/js/sh_lang/sh_haxe.min.js +0 -1
  113. data/public/js/sh_lang/sh_html.min.js +0 -1
  114. data/public/js/sh_lang/sh_ini.js +0 -87
  115. data/public/js/sh_lang/sh_ini.min.js +0 -87
  116. data/public/js/sh_lang/sh_java.min.js +0 -1
  117. data/public/js/sh_lang/sh_javascript.min.js +0 -1
  118. data/public/js/sh_lang/sh_javascript_dom.min.js +0 -1
  119. data/public/js/sh_lang/sh_latex.min.js +0 -1
  120. data/public/js/sh_lang/sh_ldap.min.js +0 -1
  121. data/public/js/sh_lang/sh_log.min.js +0 -1
  122. data/public/js/sh_lang/sh_lsm.min.js +0 -1
  123. data/public/js/sh_lang/sh_m4.min.js +0 -1
  124. data/public/js/sh_lang/sh_makefile.min.js +0 -1
  125. data/public/js/sh_lang/sh_oracle.min.js +0 -1
  126. data/public/js/sh_lang/sh_pascal.min.js +0 -1
  127. data/public/js/sh_lang/sh_perl.min.js +0 -1
  128. data/public/js/sh_lang/sh_php.min.js +0 -1
  129. data/public/js/sh_lang/sh_prolog.min.js +0 -1
  130. data/public/js/sh_lang/sh_properties.min.js +0 -1
  131. data/public/js/sh_lang/sh_puppet.js +0 -182
  132. data/public/js/sh_lang/sh_puppet.min.js +0 -182
  133. data/public/js/sh_lang/sh_puppet_output.js +0 -22
  134. data/public/js/sh_lang/sh_puppet_output.min.js +0 -22
  135. data/public/js/sh_lang/sh_python.min.js +0 -1
  136. data/public/js/sh_lang/sh_ruby.min.js +0 -1
  137. data/public/js/sh_lang/sh_scala.min.js +0 -1
  138. data/public/js/sh_lang/sh_sh.min.js +0 -1
  139. data/public/js/sh_lang/sh_shell.min.js +0 -1
  140. data/public/js/sh_lang/sh_slang.min.js +0 -1
  141. data/public/js/sh_lang/sh_sml.min.js +0 -1
  142. data/public/js/sh_lang/sh_spec.min.js +0 -1
  143. data/public/js/sh_lang/sh_sql.min.js +0 -1
  144. data/public/js/sh_lang/sh_tcl.min.js +0 -1
  145. data/public/js/sh_lang/sh_xml.min.js +0 -1
  146. data/public/js/sh_lang/sh_xorg.min.js +0 -1
  147. data/public/js/sh_main.min.js +0 -4
  148. data/public/js/showoffcore.js +0 -13
@@ -13,6 +13,16 @@
13
13
  padding:0;
14
14
  }
15
15
 
16
+ /* UI elements */
17
+ #topbar,
18
+ #sidebar,
19
+ #statusbar,
20
+ #bottom,
21
+ #feedbackSidebar {
22
+ font-family: 'Open Sans', 'Lucida Grande', helvetica, arial, sans-serif;
23
+ font-size: 0.55em;
24
+ }
25
+
16
26
  #preso, .slide {
17
27
  background: #fff;
18
28
  width: 1024px;
@@ -72,6 +82,19 @@
72
82
  }
73
83
  }
74
84
 
85
+ .content {
86
+ position: relative;
87
+ /* for some reason, setting top to 50% is pushing the content too far down, no idea why */
88
+ top: 42%;
89
+ -webkit-transform: translateY(-50%);
90
+ -ms-transform: translateY(-50%);
91
+ transform: translateY(-50%);
92
+ }
93
+
94
+ .slide .center {
95
+ text-align: center;
96
+ }
97
+
75
98
  /* plain (non-bullet) text */
76
99
  .content > p,
77
100
  .content > form > p {
@@ -90,20 +113,18 @@
90
113
  margin: 2em;
91
114
  }
92
115
 
116
+ /* prevent large images from getting too out of hand */
117
+ .content img {
118
+ max-width: 100%;
119
+ max-height: 100%;
120
+ }
121
+
93
122
  .center img {
94
123
  display:block;
95
124
  margin-left:auto;
96
125
  margin-right:auto;
97
126
  }
98
127
 
99
- .slide .center {
100
- height: 740px;
101
- width: 1020px;
102
- display: table-cell;
103
- text-align: center;
104
- vertical-align: middle;
105
- }
106
-
107
128
  /* numbered lists are numbered */
108
129
  .content ol {
109
130
  margin-left: 40px;
@@ -161,7 +182,7 @@
161
182
  .bullets ul ul > li { font-size: 80%; }
162
183
 
163
184
  .content ul li.incremental.hidden {
164
- display: none;
185
+ visibility: hidden;
165
186
  }
166
187
 
167
188
  .commandline pre {
@@ -250,19 +271,95 @@ img#disconnected {
250
271
  }
251
272
 
252
273
  #help {
253
- background: #9f9;
254
- position: absolute;
255
- right: 80px;
256
- display: none;
257
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
258
- }
259
- #help table tr td.key {
260
- text-align: right;
261
- border-right: 2px solid #8b8;
262
- padding-right: 4px;
263
- font-weight: bold;
274
+ display: none;
275
+ position:absolute;
276
+ top: 5%;
277
+ left: 25%;
278
+ width: 50%;
279
+ max-height: 90%;
280
+ z-index: 2147483647;
281
+ padding: 0 16px 16px 16px;
282
+ border-radius: 4px;
283
+ -webkit-box-shadow:0 0 25px rgba(0,0,0,0.35);
284
+ -moz-box-shadow:0 0 25px rgba(0,0,0,0.35);
285
+ box-shadow:0 0 25px rgba(0,0,0,0.35);
286
+ background-color: #fff;
264
287
  }
265
288
 
289
+ #help div {
290
+ padding: 6px 0;
291
+ }
292
+
293
+ #help h1 {
294
+ font-size: 1.25em;
295
+ border-bottom: 2px solid #ccc;
296
+ }
297
+
298
+ #help div + div {
299
+ border-top: 1px solid #eee;
300
+ }
301
+
302
+ #help .description,
303
+ #help .action,
304
+ #help .hotkeys {
305
+ display: inline-block;
306
+ vertical-align: middle;
307
+ }
308
+
309
+ #help .description {
310
+ width: 30%;
311
+ }
312
+
313
+ #help .action {
314
+ width: 15%;
315
+ font-size: 0.75em;
316
+ color: gray;
317
+ }
318
+
319
+ #help .hotkeys {
320
+ width: 25%;
321
+ }
322
+
323
+ #help .hotkeys .key {
324
+ border: 1px solid #ccc;
325
+ background-color: #dfdfdf;
326
+ border-radius: 0.25em;
327
+ padding: 0.15em 0.5em;
328
+ margin: 0.25em;
329
+ }
330
+
331
+ #presenterPopup {
332
+ display: none;
333
+ position: absolute;
334
+ z-index: 2147483647;
335
+ top: 24px;
336
+ left: 25%;
337
+ max-height: 80%;
338
+ width: 50%;
339
+ border-radius: 0 0 .5em .5em;
340
+ border-bottom: 8px solid #222222;
341
+ font-size: .65em;
342
+ background-color: #222222;
343
+ overflow: auto;
344
+ }
345
+
346
+ #presenterPopup h1,
347
+ #presenterPopup h3 {
348
+ font-size: 2em;
349
+ color: #ffffff;
350
+ }
351
+
352
+ #presenterPopup a {
353
+ margin-left: 12px;
354
+ color: #ffffff;
355
+ }
356
+
357
+ #presenterPopup ul#downloads {
358
+ margin-left: 0;
359
+ list-style-type: none;
360
+ font-size: 1.25em;
361
+ }
362
+
266
363
  /**********************************
267
364
  *** Table styling ***
268
365
  **********************************/
@@ -392,7 +489,8 @@ img#disconnected {
392
489
  }
393
490
 
394
491
  .fg-menu-container {
395
- z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
492
+ z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
493
+ font-size: 0.8em;
396
494
  }
397
495
 
398
496
  .fg-button { clear:left; margin:0 4px 40px 20px; padding: .4em 1em; text-decoration:none !important; cursor:pointer; position: relative; text-align: center; zoom: 1; }
@@ -403,74 +501,15 @@ a.fg-button { float:left; }
403
501
 
404
502
  .fg-button.ui-state-loading .ui-icon { background: url(spinner_bar.gif) no-repeat 0 0; }
405
503
 
406
- #navmenu, #stylemenu {
504
+ #navmenu {
407
505
  position: absolute;
408
506
  top: 10px;
409
507
  left: 10px;
410
508
  width: 50px;
509
+ font-size: 0.8em;
411
510
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
412
511
  }
413
512
 
414
- .code .c { color: #999988; font-style: italic } /* Comment */
415
- .code .err { color: #a61717; background-color: #e3d2d2 } /* Error */
416
- .code .k { font-weight: bold } /* Keyword */
417
- .code .o { font-weight: bold } /* Operator */
418
- .code .cm { color: #999988; font-style: italic } /* Comment.Multiline */
419
- .code .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
420
- .code .c1 { color: #999988; font-style: italic } /* Comment.Single */
421
- .code .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
422
- .code .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
423
- .code .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
424
- .code .ge { font-style: italic } /* Generic.Emph */
425
- .code .gr { color: #aa0000 } /* Generic.Error */
426
- .code .gh { color: #999999 } /* Generic.Heading */
427
- .code .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
428
- .code .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
429
- .code .go { color: #888888 } /* Generic.Output */
430
- .code .gp { color: #555555 } /* Generic.Prompt */
431
- .code .gs { font-weight: bold } /* Generic.Strong */
432
- .code .gu { color: #aaaaaa } /* Generic.Subheading */
433
- .code .gt { color: #aa0000 } /* Generic.Traceback */
434
- .code .kc { font-weight: bold } /* Keyword.Constant */
435
- .code .kd { font-weight: bold } /* Keyword.Declaration */
436
- .code .kp { font-weight: bold } /* Keyword.Pseudo */
437
- .code .kr { font-weight: bold } /* Keyword.Reserved */
438
- .code .kt { color: #445588; font-weight: bold } /* Keyword.Type */
439
- .code .m { color: #009999 } /* Literal.Number */
440
- .code .s { color: #d14 } /* Literal.String */
441
- .code .na { color: #008080 } /* Name.Attribute */
442
- .code .nb { color: #0086B3 } /* Name.Builtin */
443
- .code .nc { color: #445588; font-weight: bold } /* Name.Class */
444
- .code .no { color: #008080 } /* Name.Constant */
445
- .code .ni { color: #800080 } /* Name.Entity */
446
- .code .ne { color: #990000; font-weight: bold } /* Name.Exception */
447
- .code .nf { color: #990000; font-weight: bold } /* Name.Function */
448
- .code .nn { color: #555555 } /* Name.Namespace */
449
- .code .nt { color: #000080 } /* Name.Tag */
450
- .code .nv { color: #008080 } /* Name.Variable */
451
- .code .ow { font-weight: bold } /* Operator.Word */
452
- .code .w { color: #bbbbbb } /* Text.Whitespace */
453
- .code .mf { color: #009999 } /* Literal.Number.Float */
454
- .code .mh { color: #009999 } /* Literal.Number.Hex */
455
- .code .mi { color: #009999 } /* Literal.Number.Integer */
456
- .code .mo { color: #009999 } /* Literal.Number.Oct */
457
- .code .sb { color: #d14 } /* Literal.String.Backtick */
458
- .code .sc { color: #d14 } /* Literal.String.Char */
459
- .code .sd { color: #d14 } /* Literal.String.Doc */
460
- .code .s2 { color: #d14 } /* Literal.String.Double */
461
- .code .se { color: #d14 } /* Literal.String.Escape */
462
- .code .sh { color: #d14 } /* Literal.String.Heredoc */
463
- .code .si { color: #d14 } /* Literal.String.Interpol */
464
- .code .sx { color: #d14 } /* Literal.String.Other */
465
- .code .sr { color: #009926 } /* Literal.String.Regex */
466
- .code .s1 { color: #d14 } /* Literal.String.Single */
467
- .code .ss { color: #990073 } /* Literal.String.Symbol */
468
- .code .bp { color: #999999 } /* Name.Builtin.Pseudo */
469
- .code .vc { color: #008080 } /* Name.Variable.Class */
470
- .code .vg { color: #008080 } /* Name.Variable.Global */
471
- .code .vi { color: #008080 } /* Name.Variable.Instance */
472
- .code .il { color: #009999 } /* Literal.Number.Integer.Long */
473
-
474
513
  .results {
475
514
  background-color:#002200;
476
515
  color:#00AA00;
@@ -485,13 +524,38 @@ a.fg-button { float:left; }
485
524
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
486
525
  }
487
526
 
488
- .executing {
489
- color:#0000FF !important;
490
- background-color: yellow;
527
+ .results pre {
528
+ margin: 0;
529
+ padding: 0;
530
+ }
531
+
532
+ /* Add a Shell "code highlighting" style to resemble the look of a terminal window. */
533
+ .content pre.highlight code.language-shell {
534
+ display: block;
535
+ background-color: black;
536
+ color: green;
537
+ border: 2px solid #ddd;
538
+ padding: 0.5em;
539
+ overflow: hidden;
540
+ }
541
+
542
+ /* executable code blocks */
543
+ code.execute {
544
+ cursor: context-menu;
545
+ background-image: url(run_code.png);
546
+ background-position: right 5px top 5px;
547
+ background-repeat: no-repeat;
548
+ display: block;
549
+ min-height: 42px;
550
+ }
551
+
552
+ code.executing {
553
+ opacity: 0.5;
554
+ background-image: url(run_code-dim.png);
491
555
  }
492
556
 
493
- .executing:hover {
494
- cursor: pointer;
557
+ code.executing:hover {
558
+ cursor: wait;
495
559
  }
496
560
 
497
561
  #tips, #preshow_timer {
@@ -641,15 +705,15 @@ body#download {
641
705
  overflow:auto;
642
706
  height: auto;
643
707
  }
644
- #download h1 {
708
+ body#download h1 {
645
709
  font-size: 3em;
646
710
  }
647
- ul#downloads {
711
+ body#download ul#downloads {
648
712
  margin-left: 20%;
649
713
  font-size: large;
650
714
  list-style-type: disc;
651
715
  }
652
- ul#downloads li {
716
+ body#download ul#downloads li {
653
717
  margin: 0.5em;
654
718
  }
655
719
 
@@ -745,43 +809,6 @@ body#stats {
745
809
  *** end stats page ***
746
810
  **********************/
747
811
 
748
- /**********************
749
- ** presenter popups **
750
- **********************/
751
- .tipsy-inner { text-align: left; max-width: 500px; }
752
- .tipsy-inner h1 { font-size: 1.5em; }
753
- .tipsy-inner h2 { font-size: 1.35em; }
754
- .tipsy-inner h3 { font-size: 1.25em; }
755
- .tipsy-inner a { color: #0d8dfd; }
756
- .tipsy-inner a:hover { color: #04ffff; }
757
-
758
- .tipsy-inner p.newpage { text-align: right; padding-bottom: 0.25em; }
759
- .tipsy-inner p.newpage a {
760
- color: white;
761
- padding: 0.25em;
762
- text-decoration: none;
763
- -moz-border-radius: 5px;
764
- -webkit-border-radius: 5px;
765
- -khtml-border-radius: 5px;
766
- border-radius: 5px;
767
- border: 1px solid black;
768
- }
769
- .tipsy-inner p.newpage a:hover {
770
- font-weight: bold;
771
- background-color: #222;
772
- border: 1px solid white;
773
- }
774
-
775
-
776
- .tipsy-inner #stats { min-width: 450px; }
777
- .tipsy-inner #stats .row { color: black; }
778
- .tipsy-inner #stats #all { max-height: 325px; overflow: auto; }
779
-
780
- .tipsy-inner ul#downloads { font-size: 1em; margin-left: 0.25em; }
781
- /************************
782
- * end presenter popups *
783
- ************************/
784
-
785
812
  /* iPhone */
786
813
  /* Portrait */
787
814
  @media screen and (max-width: 320px)