shining 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown ADDED
@@ -0,0 +1,27 @@
1
+ # Shining
2
+
3
+ A presentation framework to be used with Webkit. Yeah, it's all in-browser.
4
+
5
+ # License
6
+
7
+ The MIT License
8
+
9
+ Copyright (c) 2010 Julio Cesar Ody.
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in
19
+ all copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27
+ THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,30 @@
1
+ require File.join(File.dirname(__FILE__), 'spec', 'spec_helper')
2
+ require 'spec/rake/spectask'
3
+
4
+ Spec::Rake::SpecTask.new do |t|
5
+ t.spec_files = FileList['spec/*_spec.rb']
6
+ t.spec_opts = ['--colour', '--format nested']
7
+ end
8
+
9
+ begin
10
+ require 'jeweler'
11
+ Jeweler::Tasks.new do |gem|
12
+ gem.name = "shining"
13
+ gem.summary = "Webkit + CSS + Javascript = awesome presos"
14
+ gem.description = "Webkit + CSS + Javascript = awesome presos"
15
+ gem.email = "julio.ody@gmail.com"
16
+ gem.homepage = "http://github.com/juliocesar/shining"
17
+ gem.authors = "Julio Cesar Ody"
18
+ gem.add_dependency 'haml', '>= 2.2.17'
19
+ gem.add_dependency 'json_pure', '>= 1.1.9'
20
+ gem.add_development_dependency 'rspec', '1.3.0'
21
+ gem.add_development_dependency 'stackdeck', '0.2.0'
22
+ gem.add_development_dependency 'johnson', '2.0.0.pre2'
23
+ gem.add_development_dependency 'rspec', '1.3.0'
24
+ gem.add_development_dependency 'rake', '0.8.7'
25
+ gem.add_development_dependency 'envjs', '0.1.4'
26
+ gem.add_development_dependency 'juliocesar-harmony', '0.5.2'
27
+ end
28
+ rescue LoadError
29
+ puts 'Jeweler (or a dependency) not available. Install it with: gem install jeweler'
30
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
data/bin/console ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ require File.join(File.dirname(__FILE__), *%w(.. .bundle environment))
3
+ require 'harmony'
4
+ require 'irb'
5
+ require 'tilt'
6
+ IRB.start
data/bin/shine ADDED
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.join(File.dirname(__FILE__), *%w(.. lib shining))
4
+ require 'fileutils'
5
+ require 'tilt'
6
+ require 'erb'
7
+ require 'json/pure'
8
+
9
+ ACTIONS = {
10
+ :new_on! => ['build'],
11
+ :new_slide! => ['slide'],
12
+ :compile_templates! => ['compile'],
13
+ :vendorize => ['vendor', 'vendorize']
14
+ }
15
+ TEMPLATES = %w(haml erb)
16
+
17
+ class String; def /(s) File.join(self, s) end end
18
+
19
+ def doing what, &block
20
+ puts what
21
+ block.call if block_given?
22
+ end
23
+
24
+ def bail! reason
25
+ STDERR.puts(reason) and exit(-2)
26
+ end
27
+
28
+ def vendorized?
29
+ bail!("This isn't a Shining preso!") unless shining?
30
+ File.exists? Dir.pwd/'vendor'/'lib'/'jquery.shining.js' and
31
+ File.exists? Dir.pwd/'vendor'/'themes'
32
+ end
33
+
34
+ def figure_what_to_do!
35
+ help_and_exit! if ARGV.empty?
36
+ if ACTIONS.values.flatten.include? ARGV.first
37
+ action = ACTIONS.select { |action, args| args.include? ARGV.first }.flatten.first
38
+ send action, *ARGV[1..(ARGV.length - 1)]
39
+ else
40
+ new_on! ARGV.first
41
+ end
42
+ end
43
+
44
+ def help_and_exit!
45
+ STDERR.puts <<-HELP
46
+ Shine - Generates a new Shining presentation
47
+ Usage:
48
+ shine <directory>
49
+ Example:
50
+ shine mycoolpreso
51
+ HELP
52
+ exit -1
53
+ end
54
+
55
+ def new_on! dir
56
+ target = File.expand_path(dir)
57
+ doing("Creating #{target}") { FileUtils.mkdir_p target }
58
+ doing("Creating #{target/'config.json'}") { FileUtils.cp SHINING_ROOT/'templates'/'config.json', target/'config.json' }
59
+ doing("Creating #{target/'index.html'}") {
60
+ contents = File.read(SHINING_ROOT/'templates'/'index.html')
61
+ File.open(target/'index.html', 'w') do |file| file.write ERB.new(contents).result end
62
+ }
63
+ doing("Creating #{target/'slides'}") { FileUtils.cp_r SHINING_ROOT/'templates'/'slides', target/'slides' }
64
+ end
65
+
66
+ def new_slide! name
67
+ bail!("This isn't a Shining preso!") unless shining?
68
+ config = JSON.parse File.read(Dir.pwd/'config.json')
69
+ config['slides'] << name
70
+ File.open(Dir.pwd/'config.json', 'w') do |file| file.write JSON.pretty_generate(config) end
71
+ doing("Creating #{Dir.pwd/'slides'/name}.html") {
72
+ File.open(Dir.pwd/'slides'/"#{name}.html", 'w') do |file| file.write "<h1 class='centered'>#{name}</h1><p class='centered>♫ ♫ ♫</p>" end
73
+ }
74
+ doing("Creating #{Dir.pwd/'slides'/name}.js") { FileUtils.touch Dir.pwd/'slides'/name + '.js' }
75
+ end
76
+
77
+ def vendorize
78
+ bail! 'This preso seems vendorized already.' if vendorized?
79
+ FileUtils.mkdir Dir.pwd/'vendor'
80
+ %w(lib css images themes).each do |required|
81
+ FileUtils.cp_r SHINING_ROOT/required, Dir.pwd/'vendor/'
82
+ end
83
+ index = File.read SHINING_ROOT/'templates'/'index.html'
84
+ Object.send(:remove_const, :SHINING_ROOT) and Object.const_set(:SHINING_ROOT, 'vendor')
85
+ File.open(Dir.pwd/'index.html', 'w') do |file| file.write ERB.new(index).result end
86
+ puts "Done!"
87
+ end
88
+
89
+ def compile_templates!
90
+ bail!("This isn't a Shining preso!") unless shining?
91
+ Dir[Dir.pwd/'slides'/'*'].reject { |f| f =~ /html|js$/ }.each do |template|
92
+ begin
93
+ target = File.basename(template).sub(File.extname(template), '.html')
94
+ rendered = Tilt.new(template).render
95
+ File.open(Dir.pwd/'slides'/target, 'w') do |file| file.write rendered end
96
+ puts "Compiled: #{File.basename(template)} -> #{target}"
97
+ rescue RuntimeErroor
98
+ STDERR.puts "Tilt coult not compile #{File.basename template}. Skipping."
99
+ end
100
+ end
101
+ end
102
+
103
+ def shining?
104
+ File.exists?(Dir.pwd/'config.json') and File.directory?(Dir.pwd/'slides')
105
+ end
106
+
107
+ figure_what_to_do!
data/css/base.css ADDED
@@ -0,0 +1,46 @@
1
+ /* http://meyerweb.com/eric/tools/css/reset/
2
+ ----------------------------------------------------------------------------------------- */
3
+ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
4
+ margin : 0; padding : 0; border : 0; outline : 0; font-size : 100%; vertical-align : baseline; background : transparent; }
5
+ body { line-height : 1; }
6
+ ol, ul { list-style-type : none; }
7
+ :focus { outline : 0 }
8
+ ins { text-decoration : none; }
9
+ del { text-decoration : line-through }
10
+
11
+ body {
12
+ font: 12px/1.5 "Lucida Grande", Tahoma, serif;
13
+ overflow: hidden;
14
+ text-align: center;
15
+ }
16
+
17
+ #stage {
18
+ position: relative;
19
+ display: inline-block;
20
+ padding: 40px 20px;
21
+ max-width: 90%;
22
+ text-align: left;
23
+ }
24
+
25
+ .no-text-shadow { text-shadow: none }
26
+ .no-drop-shadow {}
27
+ .hidden { display: none }
28
+ .visible { opacity: 1; display: static }
29
+ .centered { text-align: center; margin: 0 auto }
30
+
31
+ h1 { font-size: 3.6em }
32
+ h2 { font-size: 3.2em }
33
+ h3 { font-size: 3em }
34
+ p, li { font-size: 1.4em }
35
+ p { margin: 0.5em 0 }
36
+
37
+ ul { display: inline-block; margin-left: 2em }
38
+
39
+ #stage > * { text-rendering: optimizeLegibility }
40
+ a { cursor: pointer }
41
+
42
+ @media all and (min-width: 480px) { #stage { font-size: 80% } }
43
+ @media all and (min-width: 640px) { #stage { font-size: 100% } }
44
+ @media all and (min-width: 800px) { #stage { font-size: 130% } }
45
+ @media all and (min-width: 1024px) { #stage { font-size: 160% } }
46
+ @media all and (min-width: 1280px) { #stage { font-size: 180% } }
data/css/effects.css ADDED
@@ -0,0 +1,136 @@
1
+ .transparent { opacity: 0; -webkit-transition: opacity 200ms linear }
2
+ .fades-in { opacity: 1; -webkit-transition: opacity 200ms linear }
3
+
4
+ .fades-in-zoom-slow {
5
+ opacity: 1;
6
+ -webkit-animation-name: fades-in-zoom;
7
+ -webkit-animation-duration: 2s;
8
+ -webkit-animation-iteration-count: 1;
9
+ -webkit-animation-timing-function: ease-out;
10
+ }
11
+
12
+ .fades-in-zoom-quick {
13
+ opacity: 1;
14
+ -webkit-animation-name: fades-in-zoom;
15
+ -webkit-animation-duration: 500ms;
16
+ -webkit-animation-iteration-count: 1;
17
+ -webkit-animation-timing-function: ease-out;
18
+ }
19
+
20
+ .appears-dramatically {
21
+ -webkit-animation-name: appears-dramatically;
22
+ -webkit-animation-duration: 2.5s;
23
+ -webkit-animation-iteration-count: 1;
24
+ -webkit-animation-timing-function: linear;
25
+ }
26
+
27
+ .speeds-in-left,
28
+ .speeds-in-right {
29
+ -webkit-animation-duration: 2s;
30
+ -webkit-animation-iteration-count: 1;
31
+ -webkit-animation-timing-function: linear;
32
+ }
33
+
34
+ .speeds-in-left {
35
+ -webkit-animation-name: speeds-in-left;
36
+ }
37
+
38
+ .speeds-in-right {
39
+ -webkit-animation-name: speeds-in-right;
40
+ }
41
+
42
+ .booms-out {
43
+ opacity: 0;
44
+ -webkit-transform: scale(1.3);
45
+ -webkit-transition: all 300ms ease-out;
46
+ }
47
+
48
+ .fades-out {
49
+ opacity: 0;
50
+ -webkit-animation-name: fades-in-zoom;
51
+ -webkit-animation-duration: 2s;
52
+ -webkit-animation-iteration-count: 1;
53
+ -webkit-animation-timing-function: ease-out;
54
+ }
55
+
56
+ .shines {
57
+ text-shadow: none;
58
+ -webkit-animation-name: shines;
59
+ -webkit-animation-duration: 4s;
60
+ -webkit-animation-iteration-count: 1;
61
+ -webkit-animation-timing-function: linear;
62
+ }
63
+
64
+ .dances {
65
+ -webkit-animation-name: dances;
66
+ -webkit-animation-duration: 3s;
67
+ -webkit-animation-iteration-count: infinite;
68
+ -webkit-animation-timing-function: ease-in-out;
69
+ }
70
+
71
+ .y-spin, .x-spin {
72
+ -webkit-animation-duration: 2s;
73
+ -webkit-animation-iteration-count: 1;
74
+ -webkit-animation-timing-function: ease-out;
75
+ }
76
+
77
+ .y-spin { -webkit-animation-name: y-spin }
78
+ .x-spin { -webkit-animation-name: x-spin }
79
+
80
+ @-webkit-keyframes fades-in-zoom {
81
+ 0% { opacity: 0; -webkit-transform: scale(0.8) }
82
+ 100% { opacity: 1; -webkit-transform: scale(1) }
83
+ }
84
+
85
+ @-webkit-keyframes shines {
86
+ 0% { text-shadow: none }
87
+ 25% { text-shadow: rgb(255, 255, 255) -30px 0px 100px }
88
+ 50% { text-shadow: rgb(255, 255, 255) 0px 0px 200px }
89
+ 75% { text-shadow: rgb(255, 255, 255) 30px 0px 100px }
90
+ 100% { text-shadow: none }
91
+ }
92
+
93
+ @-webkit-keyframes y-spin {
94
+ 0% { -webkit-transform: rotateY(0deg) }
95
+ 50% { -webkit-transform: rotateY(180deg) }
96
+ 100% { -webkit-transform: rotateY(360deg) }
97
+ }
98
+
99
+ @-webkit-keyframes x-spin {
100
+ 0% { -webkit-transform: rotateX(0deg) }
101
+ 50% { -webkit-transform: rotateX(180deg) }
102
+ 100% { -webkit-transform: rotateX(360deg) }
103
+ }
104
+
105
+ @-webkit-keyframes dances {
106
+ 0% { -webkit-transform: skew(0deg) scale(1) }
107
+ 12.5% { -webkit-transform: skew(20deg) scale(1.2) }
108
+ 25% { -webkit-transform: skew(0deg) scale(1) }
109
+ 37.5% { -webkit-transform: skew(20deg) scale(1.2) }
110
+ 50% { -webkit-transform: skew(0deg) scale(1) }
111
+ 62.5% { -webkit-transform: skew(-20deg) scale(1.2) }
112
+ 75% { -webkit-transform: skew(0deg) scale(1) }
113
+ 87.5% { -webkit-transform: skew(-20deg) scale(1.2) }
114
+ 100% { -webkit-transform: skew(0deg) scale(1) }
115
+ }
116
+
117
+ @-webkit-keyframes appears-dramatically {
118
+ 0% { opacity: 0; -webkit-transform: scale(0.5) }
119
+ 10% { opacity: 1; -webkit-transform: scale(0.8) }
120
+ 90% { opacity: 1; -webkit-transform: scale(1.1) }
121
+ 100% { opacity: 0; -webkit-transform: scale(1.4) }
122
+ }
123
+
124
+ @-webkit-keyframes speeds-in-left {
125
+ 0% { opacity: 0; -webkit-transform: skew(40deg); margin-left: -4em }
126
+ 10% { opacity: 1; -webkit-transform: skew(0deg); margin-left: -2em }
127
+ 90% { opacity: 1; -webkit-transform: skew(0deg); margin-left: 0em }
128
+ 100% { opacity: 0; -webkit-transform: skew(-40deg); margin-right: -4em }
129
+ }
130
+
131
+ @-webkit-keyframes speeds-in-right {
132
+ 0% { opacity: 0; -webkit-transform: skew(-40deg); margin-right: -4em }
133
+ 10% { opacity: 1; -webkit-transform: skew(0deg); margin-right: -2em }
134
+ 90% { opacity: 1; -webkit-transform: skew(0deg); margin-right: 0em }
135
+ 100% { opacity: 0; -webkit-transform: skew(40deg); margin-left: -4em }
136
+ }
data/css/shCore.css ADDED
@@ -0,0 +1,330 @@
1
+ /**
2
+ * SyntaxHighlighter
3
+ * http://alexgorbatchev.com/
4
+ *
5
+ * SyntaxHighlighter is donationware. If you are using it, please donate.
6
+ * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
7
+ *
8
+ * @version
9
+ * 2.1.364 (October 15 2009)
10
+ *
11
+ * @copyright
12
+ * Copyright (C) 2004-2009 Alex Gorbatchev.
13
+ *
14
+ * @license
15
+ * This file is part of SyntaxHighlighter.
16
+ *
17
+ * SyntaxHighlighter is free software: you can redistribute it and/or modify
18
+ * it under the terms of the GNU Lesser General Public License as published by
19
+ * the Free Software Foundation, either version 3 of the License, or
20
+ * (at your option) any later version.
21
+ *
22
+ * SyntaxHighlighter is distributed in the hope that it will be useful,
23
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
24
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25
+ * GNU General Public License for more details.
26
+ *
27
+ * You should have received a copy of the GNU General Public License
28
+ * along with SyntaxHighlighter. If not, see <http://www.gnu.org/copyleft/lesser.html>.
29
+ */
30
+ .syntaxhighlighter,
31
+ .syntaxhighlighter div,
32
+ .syntaxhighlighter code,
33
+ .syntaxhighlighter table,
34
+ .syntaxhighlighter table td,
35
+ .syntaxhighlighter table tr,
36
+ .syntaxhighlighter table tbody
37
+ {
38
+ margin: 0 !important;
39
+ padding: 0 !important;
40
+ border: 0 !important;
41
+ outline: 0 !important;
42
+ background: none !important;
43
+ text-align: left !important;
44
+ float: none !important;
45
+ vertical-align: baseline !important;
46
+ position: static !important;
47
+ left: auto !important;
48
+ top: auto !important;
49
+ right: auto !important;
50
+ bottom: auto !important;
51
+ height: auto !important;
52
+ width: auto !important;
53
+ line-height: 1.1em !important;
54
+ font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
55
+ font-weight: normal !important;
56
+ font-style: normal !important;
57
+ font-size: 1em !important;
58
+ min-height: inherit !important; /* For IE8, FF & WebKit */
59
+ min-height: auto !important; /* For IE7 */
60
+ }
61
+
62
+ .syntaxhighlighter
63
+ {
64
+ width: 99% !important; /* 99% fixes IE8 horizontal scrollbar */
65
+ margin: 1em 0 1em 0 !important;
66
+ padding: 1px !important; /* adds a little border on top and bottom */
67
+ position: relative !important;
68
+ }
69
+
70
+ .syntaxhighlighter .bold
71
+ {
72
+ font-weight: bold !important;
73
+ }
74
+
75
+ .syntaxhighlighter .italic
76
+ {
77
+ font-style: italic !important;
78
+ }
79
+
80
+ .syntaxhighlighter .line
81
+ {
82
+ }
83
+
84
+ .syntaxhighlighter .no-wrap .line .content
85
+ {
86
+ white-space: pre !important;
87
+ }
88
+
89
+ .syntaxhighlighter .line table
90
+ {
91
+ border-collapse: collapse !important;
92
+ }
93
+
94
+ .syntaxhighlighter .line td
95
+ {
96
+ vertical-align: top !important;
97
+ }
98
+
99
+ .syntaxhighlighter .line .number
100
+ {
101
+ width: 3em !important;
102
+ }
103
+
104
+ .syntaxhighlighter .line .number code
105
+ {
106
+ width: 2.7em !important;
107
+ padding-right: .3em !important;
108
+ text-align: right !important;
109
+ display: block !important;
110
+ }
111
+
112
+ .syntaxhighlighter .line .content
113
+ {
114
+ padding-left: .5em !important;
115
+ }
116
+
117
+ .syntaxhighlighter .line .spaces
118
+ {
119
+ }
120
+
121
+ /* Disable border and margin on the lines when no gutter option is set */
122
+ .syntaxhighlighter.nogutter .line .content
123
+ {
124
+ border-left: none !important;
125
+ }
126
+
127
+ .syntaxhighlighter .bar
128
+ {
129
+ display: none !important;
130
+ }
131
+
132
+ .syntaxhighlighter .bar.show
133
+ {
134
+ display: block !important;
135
+ }
136
+
137
+ .syntaxhighlighter.collapsed .bar
138
+ {
139
+ display: block !important;
140
+ }
141
+
142
+ /* Adjust some properties when collapsed */
143
+
144
+ .syntaxhighlighter.collapsed .lines
145
+ {
146
+ display: none !important;
147
+ }
148
+
149
+ .syntaxhighlighter .lines.no-wrap
150
+ {
151
+ overflow: auto !important;
152
+ overflow-y: hidden !important;
153
+ }
154
+
155
+ /* Styles for the toolbar */
156
+
157
+ .syntaxhighlighter .toolbar
158
+ {
159
+ position: absolute !important;
160
+ right: 0px !important;
161
+ top: 0px !important;
162
+ font-size: 1px !important;
163
+ padding: 8px 8px 8px 0 !important; /* in px because images don't scale with ems */
164
+ }
165
+
166
+ .syntaxhighlighter.collapsed .toolbar
167
+ {
168
+ font-size: 80% !important;
169
+ padding: .2em 0 .5em .5em !important;
170
+ position: static !important;
171
+ }
172
+
173
+ .syntaxhighlighter .toolbar a.item,
174
+ .syntaxhighlighter .toolbar .item
175
+ {
176
+ display: block !important;
177
+ float: left !important;
178
+ margin-left: 8px !important;
179
+ background-repeat: no-repeat !important;
180
+ overflow: hidden !important;
181
+ text-indent: -5000px !important;
182
+ }
183
+
184
+ .syntaxhighlighter.collapsed .toolbar .item
185
+ {
186
+ display: none !important;
187
+ }
188
+
189
+ .syntaxhighlighter.collapsed .toolbar .item.expandSource
190
+ {
191
+ background-image: url(magnifier.png) !important;
192
+ display: inline !important;
193
+ text-indent: 0 !important;
194
+ width: auto !important;
195
+ float: none !important;
196
+ height: 16px !important;
197
+ padding-left: 20px !important;
198
+ }
199
+
200
+ .syntaxhighlighter .toolbar .item.viewSource
201
+ {
202
+ background-image: url(page_white_code.png) !important;
203
+ }
204
+
205
+ .syntaxhighlighter .toolbar .item.printSource
206
+ {
207
+ background-image: url(printer.png) !important;
208
+ }
209
+
210
+ .syntaxhighlighter .toolbar .item.copyToClipboard
211
+ {
212
+ text-indent: 0 !important;
213
+ background: none !important;
214
+ overflow: visible !important;
215
+ }
216
+
217
+ .syntaxhighlighter .toolbar .item.about
218
+ {
219
+ background-image: url(help.png) !important;
220
+ }
221
+
222
+ /**
223
+ * Print view.
224
+ * Colors are based on the default theme without background.
225
+ */
226
+
227
+ .syntaxhighlighter.printing,
228
+ .syntaxhighlighter.printing .line.alt1 .content,
229
+ .syntaxhighlighter.printing .line.alt2 .content,
230
+ .syntaxhighlighter.printing .line.highlighted .number,
231
+ .syntaxhighlighter.printing .line.highlighted.alt1 .content,
232
+ .syntaxhighlighter.printing .line.highlighted.alt2 .content,
233
+ {
234
+ background: none !important;
235
+ }
236
+
237
+ /* Gutter line numbers */
238
+ .syntaxhighlighter.printing .line .number
239
+ {
240
+ color: #bbb !important;
241
+ }
242
+
243
+ /* Add border to the lines */
244
+ .syntaxhighlighter.printing .line .content
245
+ {
246
+ color: #000 !important;
247
+ }
248
+
249
+ /* Toolbar when visible */
250
+ .syntaxhighlighter.printing .toolbar
251
+ {
252
+ display: none !important;
253
+ }
254
+
255
+ .syntaxhighlighter.printing a
256
+ {
257
+ text-decoration: none !important;
258
+ }
259
+
260
+ .syntaxhighlighter.printing .plain,
261
+ .syntaxhighlighter.printing .plain a
262
+ {
263
+ color: #000 !important;
264
+ }
265
+
266
+ .syntaxhighlighter.printing .comments,
267
+ .syntaxhighlighter.printing .comments a
268
+ {
269
+ color: #008200 !important;
270
+ }
271
+
272
+ .syntaxhighlighter.printing .string,
273
+ .syntaxhighlighter.printing .string a
274
+ {
275
+ color: blue !important;
276
+ }
277
+
278
+ .syntaxhighlighter.printing .keyword
279
+ {
280
+ color: #069 !important;
281
+ font-weight: bold !important;
282
+ }
283
+
284
+ .syntaxhighlighter.printing .preprocessor
285
+ {
286
+ color: gray !important;
287
+ }
288
+
289
+ .syntaxhighlighter.printing .variable
290
+ {
291
+ color: #a70 !important;
292
+ }
293
+
294
+ .syntaxhighlighter.printing .value
295
+ {
296
+ color: #090 !important;
297
+ }
298
+
299
+ .syntaxhighlighter.printing .functions
300
+ {
301
+ color: #ff1493 !important;
302
+ }
303
+
304
+ .syntaxhighlighter.printing .constants
305
+ {
306
+ color: #0066CC !important;
307
+ }
308
+
309
+ .syntaxhighlighter.printing .script
310
+ {
311
+ font-weight: bold !important;
312
+ }
313
+
314
+ .syntaxhighlighter.printing .color1,
315
+ .syntaxhighlighter.printing .color1 a
316
+ {
317
+ color: #808080 !important;
318
+ }
319
+
320
+ .syntaxhighlighter.printing .color2,
321
+ .syntaxhighlighter.printing .color2 a
322
+ {
323
+ color: #ff1493 !important;
324
+ }
325
+
326
+ .syntaxhighlighter.printing .color3,
327
+ .syntaxhighlighter.printing .color3 a
328
+ {
329
+ color: red !important;
330
+ }