shining 1.0.0

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.
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
+ }