sarahmei-slidedown 0.0.7

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.md ADDED
@@ -0,0 +1,98 @@
1
+ # slidedown
2
+
3
+ Generate slides with Markdown
4
+
5
+ ## Usage
6
+
7
+ Write your talk. Currently, the syntax highlight lexer defaults to Ruby.
8
+ Adding support for specifying languages is in the TODOs.
9
+
10
+ !SLIDE
11
+
12
+ # This is my talk
13
+
14
+ !SLIDE
15
+
16
+ ## I hope you enjoy it
17
+
18
+ !SLIDE code
19
+
20
+ def foo
21
+ :bar
22
+ end
23
+
24
+ !SLIDE
25
+
26
+ Google is [here](http://google.com)
27
+
28
+ !SLIDE
29
+
30
+ # Questions?
31
+
32
+ Generate the output:
33
+
34
+ $ slidedown my-talk.md
35
+
36
+ ### Custom Styles
37
+
38
+ To add custom styles to your slides, just create stylesheets in the same directory as your presentation's markdown file:
39
+
40
+ | - presentation-directory
41
+ | - slides.md
42
+ | - styles.css
43
+
44
+ The additional styles will be added to your generated slides.
45
+
46
+ ## Syntax Highlighting
47
+
48
+ slidedown syntax highlighting works just like Lighthouse's:
49
+
50
+ @@@ ruby
51
+ def foo
52
+ :bar
53
+ end
54
+ @@@
55
+
56
+ Or for JavaScript
57
+
58
+ @@@ js
59
+ function foo() {
60
+ return 'bar';
61
+ }
62
+ @@@
63
+
64
+ ### Requirements
65
+
66
+ * RDiscount
67
+ * Nokogiri
68
+ * pygments (for syntax highlighting)
69
+
70
+ ## Todo
71
+
72
+ * Other means of navigation besides left/right keys
73
+ * Vertical view of all slides in a row
74
+ * Generate PDFs (maybe via cucumber)
75
+ * Stop making Nokogiri sad when parsing out snippets
76
+
77
+ (c) Copyright 2009 Pat Nakajima
78
+
79
+ Permission is hereby granted, free of charge, to any person
80
+ obtaining a copy of this software and associated documentation
81
+ files (the "Software"), to deal in the Software without
82
+ restriction, including without limitation the rights to use,
83
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
84
+ copies of the Software, and to permit persons to whom the
85
+ Software is furnished to do so, subject to the following
86
+ conditions:
87
+
88
+ The above copyright notice and this permission notice shall be
89
+ included in all copies or substantial portions of the Software.
90
+
91
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
92
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
93
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
94
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
95
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
96
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
97
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
98
+ OTHER DEALINGS IN THE SOFTWARE.
data/bin/slidedown ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.join(File.dirname(__FILE__), *%w[.. lib slidedown])
4
+
5
+ puts SlideDown.render(ARGV.dup)
data/lib/slide.rb ADDED
@@ -0,0 +1,12 @@
1
+ class Slide
2
+ attr_accessor :text, :classes
3
+
4
+ def initialize(text, *classes)
5
+ @text = text
6
+ @classes = classes
7
+ end
8
+
9
+ def html
10
+ MakersMark::Generator.new(@text).to_html
11
+ end
12
+ end
data/lib/slidedown.rb ADDED
@@ -0,0 +1,64 @@
1
+ require 'rubygems'
2
+ require 'nokogiri'
3
+ require 'maruku'
4
+ require 'makers-mark'
5
+ require 'erb'
6
+ require File.join(File.dirname(__FILE__), 'slide')
7
+
8
+ $SILENT = true
9
+
10
+ class SlideDown
11
+ attr_reader :classes
12
+
13
+ def self.render(args)
14
+ new(File.read(File.join(Dir.pwd, *args))).render
15
+ end
16
+
17
+ # Ensures that the first slide has proper !SLIDE declaration
18
+ def initialize(raw)
19
+ @raw = raw =~ /\A!SLIDE/ ? raw : "!SLIDE\n#{raw}"
20
+ extract_classes!
21
+ end
22
+
23
+ def slides
24
+ @slides ||= lines.map { |text| Slide.new(text, *@classes.shift) }
25
+ end
26
+
27
+ def read(path)
28
+ File.read(File.dirname(__FILE__) + '/../templates/%s' % path)
29
+ end
30
+
31
+ def render
32
+ template = File.read(File.dirname(__FILE__) + '/../templates/template.erb')
33
+ ERB.new(template).result(binding)
34
+ end
35
+
36
+ private
37
+
38
+ def lines
39
+ @lines ||= @raw.split(/^!SLIDE\s*([a-z\s]*)$/) \
40
+ .reject { |line| line.empty? }
41
+ end
42
+
43
+ def parse_snippets(slide)
44
+ slide.gsub!(/@@@\s([\w\s]+)\s*$/, %(<pre class="#{$1}"><code>))
45
+ slide.gsub!(/@@@\s*$/, %(</code></pre>))
46
+ end
47
+
48
+ # These get added to the dom.
49
+ def stylesheets
50
+ Dir[Dir.pwd + '/*.css'].map { |path| File.read(path) }
51
+ end
52
+
53
+ def jabascripts
54
+ Dir[Dir.pwd + '/*.js'].map { |path| File.read(path) }
55
+ end
56
+
57
+ def extract_classes!
58
+ @classes = []
59
+ @raw.gsub!(/^!SLIDE\s*([a-z\s]*)$/) do |klass|
60
+ @classes << klass.to_s.chomp.gsub('!SLIDE', '')
61
+ "!SLIDE"
62
+ end ; @classes
63
+ end
64
+ end
@@ -0,0 +1,251 @@
1
+ /* -----------------------------------------------------------------------
2
+
3
+
4
+ Blueprint CSS Framework 0.8
5
+ http://blueprintcss.org
6
+
7
+ * Copyright (c) 2007-Present. See LICENSE for more info.
8
+ * See README for instructions on how to use Blueprint.
9
+ * For credits and origins, see AUTHORS.
10
+ * This is a compressed file. See the sources in the 'src' directory.
11
+
12
+ ----------------------------------------------------------------------- */
13
+
14
+ /* reset.css */
15
+ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
16
+ body {line-height:1.5;}
17
+ table {border-collapse:separate;border-spacing:0;}
18
+ caption, th, td {text-align:left;font-weight:normal;}
19
+ table, td, th {vertical-align:middle;}
20
+ blockquote:before, blockquote:after, q:before, q:after {content:"";}
21
+ blockquote, q {quotes:"" "";}
22
+ a img {border:none;}
23
+
24
+ /* typography.css */
25
+ body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
26
+ h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
27
+ h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
28
+ h2 {font-size:2em;margin-bottom:0.75em;}
29
+ h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
30
+ h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
31
+ h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
32
+ h6 {font-size:1em;font-weight:bold;}
33
+ h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
34
+ p {margin:0 0 1.5em;}
35
+ p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
36
+ p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
37
+ a:focus, a:hover {color:#000;}
38
+ a {color:#009;text-decoration:underline;}
39
+ blockquote {margin:1.5em;color:#666;font-style:italic;}
40
+ strong {font-weight:bold;}
41
+ em, dfn {font-style:italic;}
42
+ dfn {font-weight:bold;}
43
+ sup, sub {line-height:0;}
44
+ abbr, acronym {border-bottom:1px dotted #666;}
45
+ address {margin:0 0 1.5em;font-style:italic;}
46
+ del {color:#666;}
47
+ pre {margin:1.5em 0;white-space:pre;}
48
+ pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
49
+ li ul, li ol {margin:0 1.5em;}
50
+ ul, ol {margin:0 1.5em 1.5em 1.5em;}
51
+ ul {list-style-type:disc;}
52
+ ol {list-style-type:decimal;}
53
+ dl {margin:0 0 1.5em 0;}
54
+ dl dt {font-weight:bold;}
55
+ dd {margin-left:1.5em;}
56
+ table {margin-bottom:1.4em;width:100%;}
57
+ th {font-weight:bold;}
58
+ thead th {background:#c3d9ff;}
59
+ th, td, caption {padding:4px 10px 4px 5px;}
60
+ tr.even td {background:#e5ecf9;}
61
+ tfoot {font-style:italic;}
62
+ caption {background:#eee;}
63
+ .small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
64
+ .large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
65
+ .hide {display:none;}
66
+ .quiet {color:#666;}
67
+ .loud {color:#000;}
68
+ .highlight {background:#ff0;}
69
+ .added {background:#060;color:#fff;}
70
+ .removed {background:#900;color:#fff;}
71
+ .first {margin-left:0;padding-left:0;}
72
+ .last {margin-right:0;padding-right:0;}
73
+ .top {margin-top:0;padding-top:0;}
74
+ .bottom {margin-bottom:0;padding-bottom:0;}
75
+
76
+ /* grid.css */
77
+ .container {width:950px;margin:0 auto;}
78
+ .showgrid {background:url(src/grid.png);}
79
+ .column, div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21, div.span-22, div.span-23, div.span-24 {float:left;margin-right:10px;}
80
+ .last, div.last {margin-right:0;}
81
+ .span-1 {width:30px;}
82
+ .span-2 {width:70px;}
83
+ .span-3 {width:110px;}
84
+ .span-4 {width:150px;}
85
+ .span-5 {width:190px;}
86
+ .span-6 {width:230px;}
87
+ .span-7 {width:270px;}
88
+ .span-8 {width:310px;}
89
+ .span-9 {width:350px;}
90
+ .span-10 {width:390px;}
91
+ .span-11 {width:430px;}
92
+ .span-12 {width:470px;}
93
+ .span-13 {width:510px;}
94
+ .span-14 {width:550px;}
95
+ .span-15 {width:590px;}
96
+ .span-16 {width:630px;}
97
+ .span-17 {width:670px;}
98
+ .span-18 {width:710px;}
99
+ .span-19 {width:750px;}
100
+ .span-20 {width:790px;}
101
+ .span-21 {width:830px;}
102
+ .span-22 {width:870px;}
103
+ .span-23 {width:910px;}
104
+ .span-24, div.span-24 {width:950px;margin:0;}
105
+ input.span-1, textarea.span-1, select.span-1 {width:30px!important;}
106
+ input.span-2, textarea.span-2, select.span-2 {width:50px!important;}
107
+ input.span-3, textarea.span-3, select.span-3 {width:90px!important;}
108
+ input.span-4, textarea.span-4, select.span-4 {width:130px!important;}
109
+ input.span-5, textarea.span-5, select.span-5 {width:170px!important;}
110
+ input.span-6, textarea.span-6, select.span-6 {width:210px!important;}
111
+ input.span-7, textarea.span-7, select.span-7 {width:250px!important;}
112
+ input.span-8, textarea.span-8, select.span-8 {width:290px!important;}
113
+ input.span-9, textarea.span-9, select.span-9 {width:330px!important;}
114
+ input.span-10, textarea.span-10, select.span-10 {width:370px!important;}
115
+ input.span-11, textarea.span-11, select.span-11 {width:410px!important;}
116
+ input.span-12, textarea.span-12, select.span-12 {width:450px!important;}
117
+ input.span-13, textarea.span-13, select.span-13 {width:490px!important;}
118
+ input.span-14, textarea.span-14, select.span-14 {width:530px!important;}
119
+ input.span-15, textarea.span-15, select.span-15 {width:570px!important;}
120
+ input.span-16, textarea.span-16, select.span-16 {width:610px!important;}
121
+ input.span-17, textarea.span-17, select.span-17 {width:650px!important;}
122
+ input.span-18, textarea.span-18, select.span-18 {width:690px!important;}
123
+ input.span-19, textarea.span-19, select.span-19 {width:730px!important;}
124
+ input.span-20, textarea.span-20, select.span-20 {width:770px!important;}
125
+ input.span-21, textarea.span-21, select.span-21 {width:810px!important;}
126
+ input.span-22, textarea.span-22, select.span-22 {width:850px!important;}
127
+ input.span-23, textarea.span-23, select.span-23 {width:890px!important;}
128
+ input.span-24, textarea.span-24, select.span-24 {width:940px!important;}
129
+ .append-1 {padding-right:40px;}
130
+ .append-2 {padding-right:80px;}
131
+ .append-3 {padding-right:120px;}
132
+ .append-4 {padding-right:160px;}
133
+ .append-5 {padding-right:200px;}
134
+ .append-6 {padding-right:240px;}
135
+ .append-7 {padding-right:280px;}
136
+ .append-8 {padding-right:320px;}
137
+ .append-9 {padding-right:360px;}
138
+ .append-10 {padding-right:400px;}
139
+ .append-11 {padding-right:440px;}
140
+ .append-12 {padding-right:480px;}
141
+ .append-13 {padding-right:520px;}
142
+ .append-14 {padding-right:560px;}
143
+ .append-15 {padding-right:600px;}
144
+ .append-16 {padding-right:640px;}
145
+ .append-17 {padding-right:680px;}
146
+ .append-18 {padding-right:720px;}
147
+ .append-19 {padding-right:760px;}
148
+ .append-20 {padding-right:800px;}
149
+ .append-21 {padding-right:840px;}
150
+ .append-22 {padding-right:880px;}
151
+ .append-23 {padding-right:920px;}
152
+ .prepend-1 {padding-left:40px;}
153
+ .prepend-2 {padding-left:80px;}
154
+ .prepend-3 {padding-left:120px;}
155
+ .prepend-4 {padding-left:160px;}
156
+ .prepend-5 {padding-left:200px;}
157
+ .prepend-6 {padding-left:240px;}
158
+ .prepend-7 {padding-left:280px;}
159
+ .prepend-8 {padding-left:320px;}
160
+ .prepend-9 {padding-left:360px;}
161
+ .prepend-10 {padding-left:400px;}
162
+ .prepend-11 {padding-left:440px;}
163
+ .prepend-12 {padding-left:480px;}
164
+ .prepend-13 {padding-left:520px;}
165
+ .prepend-14 {padding-left:560px;}
166
+ .prepend-15 {padding-left:600px;}
167
+ .prepend-16 {padding-left:640px;}
168
+ .prepend-17 {padding-left:680px;}
169
+ .prepend-18 {padding-left:720px;}
170
+ .prepend-19 {padding-left:760px;}
171
+ .prepend-20 {padding-left:800px;}
172
+ .prepend-21 {padding-left:840px;}
173
+ .prepend-22 {padding-left:880px;}
174
+ .prepend-23 {padding-left:920px;}
175
+ div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
176
+ div.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
177
+ .pull-1 {margin-left:-40px;}
178
+ .pull-2 {margin-left:-80px;}
179
+ .pull-3 {margin-left:-120px;}
180
+ .pull-4 {margin-left:-160px;}
181
+ .pull-5 {margin-left:-200px;}
182
+ .pull-6 {margin-left:-240px;}
183
+ .pull-7 {margin-left:-280px;}
184
+ .pull-8 {margin-left:-320px;}
185
+ .pull-9 {margin-left:-360px;}
186
+ .pull-10 {margin-left:-400px;}
187
+ .pull-11 {margin-left:-440px;}
188
+ .pull-12 {margin-left:-480px;}
189
+ .pull-13 {margin-left:-520px;}
190
+ .pull-14 {margin-left:-560px;}
191
+ .pull-15 {margin-left:-600px;}
192
+ .pull-16 {margin-left:-640px;}
193
+ .pull-17 {margin-left:-680px;}
194
+ .pull-18 {margin-left:-720px;}
195
+ .pull-19 {margin-left:-760px;}
196
+ .pull-20 {margin-left:-800px;}
197
+ .pull-21 {margin-left:-840px;}
198
+ .pull-22 {margin-left:-880px;}
199
+ .pull-23 {margin-left:-920px;}
200
+ .pull-24 {margin-left:-960px;}
201
+ .pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
202
+ .push-1 {margin:0 -40px 1.5em 40px;}
203
+ .push-2 {margin:0 -80px 1.5em 80px;}
204
+ .push-3 {margin:0 -120px 1.5em 120px;}
205
+ .push-4 {margin:0 -160px 1.5em 160px;}
206
+ .push-5 {margin:0 -200px 1.5em 200px;}
207
+ .push-6 {margin:0 -240px 1.5em 240px;}
208
+ .push-7 {margin:0 -280px 1.5em 280px;}
209
+ .push-8 {margin:0 -320px 1.5em 320px;}
210
+ .push-9 {margin:0 -360px 1.5em 360px;}
211
+ .push-10 {margin:0 -400px 1.5em 400px;}
212
+ .push-11 {margin:0 -440px 1.5em 440px;}
213
+ .push-12 {margin:0 -480px 1.5em 480px;}
214
+ .push-13 {margin:0 -520px 1.5em 520px;}
215
+ .push-14 {margin:0 -560px 1.5em 560px;}
216
+ .push-15 {margin:0 -600px 1.5em 600px;}
217
+ .push-16 {margin:0 -640px 1.5em 640px;}
218
+ .push-17 {margin:0 -680px 1.5em 680px;}
219
+ .push-18 {margin:0 -720px 1.5em 720px;}
220
+ .push-19 {margin:0 -760px 1.5em 760px;}
221
+ .push-20 {margin:0 -800px 1.5em 800px;}
222
+ .push-21 {margin:0 -840px 1.5em 840px;}
223
+ .push-22 {margin:0 -880px 1.5em 880px;}
224
+ .push-23 {margin:0 -920px 1.5em 920px;}
225
+ .push-24 {margin:0 -960px 1.5em 960px;}
226
+ .push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
227
+ .prepend-top {margin-top:1.5em;}
228
+ .append-bottom {margin-bottom:1.5em;}
229
+ .box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
230
+ hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
231
+ hr.space {background:#fff;color:#fff;}
232
+ .clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
233
+ .clearfix, .container {display:block;}
234
+ .clear {clear:both;}
235
+
236
+ /* forms.css */
237
+ label {font-weight:bold;}
238
+ fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
239
+ legend {font-weight:bold;font-size:1.2em;}
240
+ input.text, input.title, textarea, select {margin:0.5em 0;border:1px solid #bbb;}
241
+ input.text:focus, input.title:focus, textarea:focus, select:focus {border:1px solid #666;}
242
+ input.text, input.title {width:300px;padding:5px;}
243
+ input.title {font-size:1.5em;}
244
+ textarea {width:390px;height:250px;padding:5px;}
245
+ .error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
246
+ .error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
247
+ .notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
248
+ .success {background:#E7FFE6;color:#000;border-color:#B6E6B3;}
249
+ .error a {color:#8a1f11;}
250
+ .notice a {color:#514721;}
251
+ .success a {color:#264409;}
@@ -0,0 +1,115 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ body {
7
+ font-family: Helvetica;
8
+ font-size: 38px;
9
+ color: #111;
10
+ background: #fff;
11
+ }
12
+
13
+ pre {
14
+ font-family: Bitstream Vera Sans Mono;
15
+ font-size: 1em;
16
+ }
17
+
18
+ blockquote {
19
+ padding: 0 0 0 1em;
20
+ font-size: 1.4em;
21
+ font-family: Georgia, serif;
22
+ font-style: italic;
23
+ }
24
+
25
+ ul {
26
+ padding: 0 0 0 1em;
27
+ }
28
+
29
+ #slides {
30
+ overflow: hidden;
31
+ text-align: left;
32
+ }
33
+
34
+ #track {
35
+ width: 1000000px;
36
+ overflow: hidden;
37
+ }
38
+
39
+ #track > div {
40
+ float: left;
41
+ overflow: hidden;
42
+ }
43
+
44
+ #track > div .content {
45
+ margin: 0 0.6em;
46
+ }
47
+
48
+ #track > div .content h1 {
49
+ margin-bottom: 0.1em;
50
+ }
51
+
52
+ #track > div .content h1 strong {
53
+ text-decoration: underline;
54
+ }
55
+
56
+ /* - Ripped shamefully from GitHub - */
57
+ .code .c { color: #999988; font-style: italic } /* Comment */
58
+ .code .err { color: #a61717; background-color: #e3d2d2 } /* Error */
59
+ .code .k { font-weight: bold } /* Keyword */
60
+ .code .o { font-weight: bold } /* Operator */
61
+ .code .cm { color: #999988; font-style: italic } /* Comment.Multiline */
62
+ .code .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
63
+ .code .c1 { color: #999988; font-style: italic } /* Comment.Single */
64
+ .code .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
65
+ .code .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
66
+ .code .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
67
+ .code .ge { font-style: italic } /* Generic.Emph */
68
+ .code .gr { color: #aa0000 } /* Generic.Error */
69
+ .code .gh { color: #999999 } /* Generic.Heading */
70
+ .code .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
71
+ .code .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
72
+ .code .go { color: #888888 } /* Generic.Output */
73
+ .code .gp { color: #555555 } /* Generic.Prompt */
74
+ .code .gs { font-weight: bold } /* Generic.Strong */
75
+ .code .gu { color: #aaaaaa } /* Generic.Subheading */
76
+ .code .gt { color: #aa0000 } /* Generic.Traceback */
77
+ .code .kc { font-weight: bold } /* Keyword.Constant */
78
+ .code .kd { font-weight: bold } /* Keyword.Declaration */
79
+ .code .kp { font-weight: bold } /* Keyword.Pseudo */
80
+ .code .kr { font-weight: bold } /* Keyword.Reserved */
81
+ .code .kt { color: #445588; font-weight: bold } /* Keyword.Type */
82
+ .code .m { color: #009999 } /* Literal.Number */
83
+ .code .s { color: #d14 } /* Literal.String */
84
+ .code .na { color: #008080 } /* Name.Attribute */
85
+ .code .nb { color: #0086B3 } /* Name.Builtin */
86
+ .code .nc { color: #445588; font-weight: bold } /* Name.Class */
87
+ .code .no { color: #008080 } /* Name.Constant */
88
+ .code .ni { color: #800080 } /* Name.Entity */
89
+ .code .ne { color: #990000; font-weight: bold } /* Name.Exception */
90
+ .code .nf { color: #990000; font-weight: bold } /* Name.Function */
91
+ .code .nn { color: #555555 } /* Name.Namespace */
92
+ .code .nt { color: #000080 } /* Name.Tag */
93
+ .code .nv { color: #008080 } /* Name.Variable */
94
+ .code .ow { font-weight: bold } /* Operator.Word */
95
+ .code .w { color: #bbbbbb } /* Text.Whitespace */
96
+ .code .mf { color: #009999 } /* Literal.Number.Float */
97
+ .code .mh { color: #009999 } /* Literal.Number.Hex */
98
+ .code .mi { color: #009999 } /* Literal.Number.Integer */
99
+ .code .mo { color: #009999 } /* Literal.Number.Oct */
100
+ .code .sb { color: #d14 } /* Literal.String.Backtick */
101
+ .code .sc { color: #d14 } /* Literal.String.Char */
102
+ .code .sd { color: #d14 } /* Literal.String.Doc */
103
+ .code .s2 { color: #d14 } /* Literal.String.Double */
104
+ .code .se { color: #d14 } /* Literal.String.Escape */
105
+ .code .sh { color: #d14 } /* Literal.String.Heredoc */
106
+ .code .si { color: #d14 } /* Literal.String.Interpol */
107
+ .code .sx { color: #d14 } /* Literal.String.Other */
108
+ .code .sr { color: #009926 } /* Literal.String.Regex */
109
+ .code .s1 { color: #d14 } /* Literal.String.Single */
110
+ .code .ss { color: #990073 } /* Literal.String.Symbol */
111
+ .code .bp { color: #999999 } /* Name.Builtin.Pseudo */
112
+ .code .vc { color: #008080 } /* Name.Variable.Class */
113
+ .code .vg { color: #008080 } /* Name.Variable.Global */
114
+ .code .vi { color: #008080 } /* Name.Variable.Instance */
115
+ .code .il { color: #009999 } /* Literal.Number.Integer.Long */