parade 0.8.2 → 0.9.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/lib/parade/renderers/html_with_rouge.rb +26 -0
- data/lib/parade/slide_pre_renderers.rb +2 -2
- data/lib/parade/version.rb +1 -1
- data/lib/public/css/ghf_marked.css +64 -64
- data/lib/public/js/parade-code-execution.js +6 -6
- data/lib/templates/config.ru.erb +0 -2
- metadata +8 -24
- data/lib/parade/renderers/html_with_pygments.rb +0 -42
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'redcarpet'
|
2
|
+
require 'rouge'
|
3
|
+
require 'rouge/plugins/redcarpet'
|
4
|
+
|
5
|
+
module Parade
|
6
|
+
module Renderers
|
7
|
+
class HTMLWithRouge < Redcarpet::Render::XHTML
|
8
|
+
include Rouge::Plugins::Redcarpet
|
9
|
+
|
10
|
+
def self.render(content)
|
11
|
+
markdown = Redcarpet::Markdown.new(Renderers::HTMLWithRouge,
|
12
|
+
:fenced_code_blocks => true,
|
13
|
+
:no_intra_emphasis => true,
|
14
|
+
:autolink => true,
|
15
|
+
:strikethrough => true,
|
16
|
+
:lax_html_blocks => true,
|
17
|
+
:superscript => true,
|
18
|
+
:hard_wrap => true,
|
19
|
+
:tables => true,
|
20
|
+
:xhtml => true)
|
21
|
+
markdown.render(content)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require_relative 'renderers/
|
1
|
+
require_relative 'renderers/html_with_rouge'
|
2
2
|
|
3
3
|
module Parade
|
4
4
|
|
@@ -14,6 +14,6 @@ module Parade
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
SlidePreRenderers.register Renderers::
|
17
|
+
SlidePreRenderers.register Renderers::HTMLWithRouge
|
18
18
|
|
19
19
|
end
|
data/lib/parade/version.rb
CHANGED
@@ -4,7 +4,7 @@ pre, code {
|
|
4
4
|
color: black;
|
5
5
|
}
|
6
6
|
|
7
|
-
.highlight pre, pre {
|
7
|
+
pre.highlight pre, pre.highlight, pre {
|
8
8
|
background-color:#f8f8f8;
|
9
9
|
/* border:1px solid #ccc;*/
|
10
10
|
font-size:20px;
|
@@ -16,7 +16,7 @@ pre, code {
|
|
16
16
|
padding:6px 10px;
|
17
17
|
}
|
18
18
|
|
19
|
-
.highlight pre
|
19
|
+
pre.highlight pre.command, pre.highlight pre.result {
|
20
20
|
margin: 0px;
|
21
21
|
border-radius:0px;
|
22
22
|
-moz-border-radius:0px;
|
@@ -25,7 +25,7 @@ pre, code {
|
|
25
25
|
border:0px solid #ccc;
|
26
26
|
}
|
27
27
|
|
28
|
-
.highlight pre
|
28
|
+
pre.highlight pre.result {
|
29
29
|
color: #444;
|
30
30
|
}
|
31
31
|
|
@@ -111,70 +111,70 @@ ul li, ol li
|
|
111
111
|
.shadow {
|
112
112
|
-webkit-box-shadow:0 5px 15px #000;
|
113
113
|
-moz-box-shadow:0 5px 15px #000;
|
114
|
-
box-shadow:0 5px 15px #000;
|
114
|
+
box-shadow:0 5px 15px #000;
|
115
115
|
}
|
116
116
|
|
117
117
|
|
118
118
|
|
119
119
|
/* Pygments coloring */
|
120
|
-
.highlight .c{color:#998;font-style:italic;}
|
121
|
-
.highlight .err{color:#a61717;background-color:#e3d2d2;}
|
122
|
-
.highlight .k{font-weight:bold;}
|
123
|
-
.highlight .o{font-weight:bold;}
|
124
|
-
.highlight .cm{color:#998;font-style:italic;}
|
125
|
-
.highlight .cp{color:#999;font-weight:bold;}
|
126
|
-
.highlight .c1{color:#998;font-style:italic;}
|
127
|
-
.highlight .cs{color:#999;font-weight:bold;font-style:italic;}
|
128
|
-
.highlight .gd{color:#000;background-color:#fdd;}
|
129
|
-
.highlight .gd .x{color:#000;background-color:#faa;}
|
130
|
-
.highlight .ge{font-style:italic;}
|
131
|
-
.highlight .gr{color:#a00;}
|
132
|
-
.highlight .gh{color:#999;}
|
133
|
-
.highlight .gi{color:#000;background-color:#dfd;}
|
134
|
-
.highlight .gi .x{color:#000;background-color:#afa;}
|
135
|
-
.highlight .go{color:#888;}
|
136
|
-
.highlight .gp{color:#555;}
|
137
|
-
.highlight .gs{font-weight:bold;}
|
138
|
-
.highlight .gu{color:#800080;font-weight:bold;}
|
139
|
-
.highlight .gt{color:#a00;}
|
140
|
-
.highlight .kc{font-weight:bold;}
|
141
|
-
.highlight .kd{font-weight:bold;}
|
142
|
-
.highlight .kn{font-weight:bold;}
|
143
|
-
.highlight .kp{font-weight:bold;}
|
144
|
-
.highlight .kr{font-weight:bold;}
|
145
|
-
.highlight .kt{color:#458;font-weight:bold;}
|
146
|
-
.highlight .m{color:#099;}
|
147
|
-
.highlight .s{color:#d14;}
|
148
|
-
.highlight .na{color:#008080;}
|
149
|
-
.highlight .nb{color:#0086B3;}
|
150
|
-
.highlight .nc{color:#458;font-weight:bold;}
|
151
|
-
.highlight .no{color:#008080;}
|
152
|
-
.highlight .ni{color:#800080;}
|
153
|
-
.highlight .ne{color:#900;font-weight:bold;}
|
154
|
-
.highlight .nf{color:#900;font-weight:bold;}
|
155
|
-
.highlight .nn{color:#555;}
|
156
|
-
.highlight .nt{color:#000080;}
|
157
|
-
.highlight .nv{color:#008080;}
|
158
|
-
.highlight .ow{font-weight:bold;}
|
159
|
-
.highlight .w{color:#bbb;}
|
160
|
-
.highlight .mf{color:#099;}
|
161
|
-
.highlight .mh{color:#099;}
|
162
|
-
.highlight .mi{color:#099;}
|
163
|
-
.highlight .mo{color:#099;}
|
164
|
-
.highlight .sb{color:#d14;}
|
165
|
-
.highlight .sc{color:#d14;}
|
166
|
-
.highlight .sd{color:#d14;}
|
167
|
-
.highlight .s2{color:#d14;}
|
168
|
-
.highlight .se{color:#d14;}
|
169
|
-
.highlight .sh{color:#d14;}
|
170
|
-
.highlight .si{color:#d14;}
|
171
|
-
.highlight .sx{color:#d14;}
|
172
|
-
.highlight .sr{color:#009926;}
|
173
|
-
.highlight .s1{color:#d14;}
|
174
|
-
.highlight .ss{color:#990073;}
|
175
|
-
.highlight .bp{color:#999;}
|
176
|
-
.highlight .vc{color:#008080;}
|
177
|
-
.highlight .vg{color:#008080;}
|
178
|
-
.highlight .vi{color:#008080;}
|
179
|
-
.highlight .il{color:#099;}
|
120
|
+
pre.highlight .c{color:#998;font-style:italic;}
|
121
|
+
pre.highlight .err{color:#a61717;background-color:#e3d2d2;}
|
122
|
+
pre.highlight .k{font-weight:bold;}
|
123
|
+
pre.highlight .o{font-weight:bold;}
|
124
|
+
pre.highlight .cm{color:#998;font-style:italic;}
|
125
|
+
pre.highlight .cp{color:#999;font-weight:bold;}
|
126
|
+
pre.highlight .c1{color:#998;font-style:italic;}
|
127
|
+
pre.highlight .cs{color:#999;font-weight:bold;font-style:italic;}
|
128
|
+
pre.highlight .gd{color:#000;background-color:#fdd;}
|
129
|
+
pre.highlight .gd .x{color:#000;background-color:#faa;}
|
130
|
+
pre.highlight .ge{font-style:italic;}
|
131
|
+
pre.highlight .gr{color:#a00;}
|
132
|
+
pre.highlight .gh{color:#999;}
|
133
|
+
pre.highlight .gi{color:#000;background-color:#dfd;}
|
134
|
+
pre.highlight .gi .x{color:#000;background-color:#afa;}
|
135
|
+
pre.highlight .go{color:#888;}
|
136
|
+
pre.highlight .gp{color:#555;}
|
137
|
+
pre.highlight .gs{font-weight:bold;}
|
138
|
+
pre.highlight .gu{color:#800080;font-weight:bold;}
|
139
|
+
pre.highlight .gt{color:#a00;}
|
140
|
+
pre.highlight .kc{font-weight:bold;}
|
141
|
+
pre.highlight .kd{font-weight:bold;}
|
142
|
+
pre.highlight .kn{font-weight:bold;}
|
143
|
+
pre.highlight .kp{font-weight:bold;}
|
144
|
+
pre.highlight .kr{font-weight:bold;}
|
145
|
+
pre.highlight .kt{color:#458;font-weight:bold;}
|
146
|
+
pre.highlight .m{color:#099;}
|
147
|
+
pre.highlight .s{color:#d14;}
|
148
|
+
pre.highlight .na{color:#008080;}
|
149
|
+
pre.highlight .nb{color:#0086B3;}
|
150
|
+
pre.highlight .nc{color:#458;font-weight:bold;}
|
151
|
+
pre.highlight .no{color:#008080;}
|
152
|
+
pre.highlight .ni{color:#800080;}
|
153
|
+
pre.highlight .ne{color:#900;font-weight:bold;}
|
154
|
+
pre.highlight .nf{color:#900;font-weight:bold;}
|
155
|
+
pre.highlight .nn{color:#555;}
|
156
|
+
pre.highlight .nt{color:#000080;}
|
157
|
+
pre.highlight .nv{color:#008080;}
|
158
|
+
pre.highlight .ow{font-weight:bold;}
|
159
|
+
pre.highlight .w{color:#bbb;}
|
160
|
+
pre.highlight .mf{color:#099;}
|
161
|
+
pre.highlight .mh{color:#099;}
|
162
|
+
pre.highlight .mi{color:#099;}
|
163
|
+
pre.highlight .mo{color:#099;}
|
164
|
+
pre.highlight .sb{color:#d14;}
|
165
|
+
pre.highlight .sc{color:#d14;}
|
166
|
+
pre.highlight .sd{color:#d14;}
|
167
|
+
pre.highlight .s2{color:#d14;}
|
168
|
+
pre.highlight .se{color:#d14;}
|
169
|
+
pre.highlight .sh{color:#d14;}
|
170
|
+
pre.highlight .si{color:#d14;}
|
171
|
+
pre.highlight .sx{color:#d14;}
|
172
|
+
pre.highlight .sr{color:#009926;}
|
173
|
+
pre.highlight .s1{color:#d14;}
|
174
|
+
pre.highlight .ss{color:#990073;}
|
175
|
+
pre.highlight .bp{color:#999;}
|
176
|
+
pre.highlight .vc{color:#008080;}
|
177
|
+
pre.highlight .vg{color:#008080;}
|
178
|
+
pre.highlight .vi{color:#008080;}
|
179
|
+
pre.highlight .il{color:#099;}
|
180
180
|
|
@@ -8,9 +8,9 @@ window.CodeExecutor = Spine.Class.create({
|
|
8
8
|
},this));
|
9
9
|
},
|
10
10
|
visibleCodeBlocks: function() {
|
11
|
-
return { ruby : $('.execute .
|
12
|
-
js : $('.execute .
|
13
|
-
coffee : $('.execute .
|
11
|
+
return { ruby : $('.execute .ruby pre:visible'),
|
12
|
+
js : $('.execute .javascript pre:visible'),
|
13
|
+
coffee : $('.execute .coffeescript pre:visible') }
|
14
14
|
},
|
15
15
|
executeVisibleCode: function() {
|
16
16
|
|
@@ -104,17 +104,17 @@ $(document).ready(function() {
|
|
104
104
|
codeExecutor = new CodeExecutor;
|
105
105
|
codeViewer = new CodeViewer;
|
106
106
|
|
107
|
-
$('.execute .
|
107
|
+
$('.execute pre.javascript').live("click", function() {
|
108
108
|
var code = $(this).text();
|
109
109
|
$.publish('code:execute',{ lang: 'js', code: code, elem: $(this) });
|
110
110
|
});
|
111
111
|
|
112
|
-
$('.execute .
|
112
|
+
$('.execute pre.ruby').live("click", function() {
|
113
113
|
var code = $(this).text();
|
114
114
|
$.publish('code:execute',{ lang: 'ruby', code: code, elem: $(this) });
|
115
115
|
});
|
116
116
|
|
117
|
-
$('.execute .
|
117
|
+
$('.execute pre.coffeescript').live("click", function() {
|
118
118
|
var code = $(this).text();
|
119
119
|
$.publish('code:execute',{ lang: 'coffee', code: code, elem: $(this) });
|
120
120
|
});
|
data/lib/templates/config.ru.erb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -125,37 +125,21 @@ dependencies:
|
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: 1.4.0
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
128
|
+
name: rouge
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
none: false
|
131
131
|
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 0.5.1
|
135
|
-
type: :runtime
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - '='
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 0.5.1
|
143
|
-
- !ruby/object:Gem::Dependency
|
144
|
-
name: pygments.rb
|
145
|
-
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
|
-
requirements:
|
148
|
-
- - '='
|
132
|
+
- - ~>
|
149
133
|
- !ruby/object:Gem::Version
|
150
|
-
version: 0.2.
|
134
|
+
version: 0.2.15
|
151
135
|
type: :runtime
|
152
136
|
prerelease: false
|
153
137
|
version_requirements: !ruby/object:Gem::Requirement
|
154
138
|
none: false
|
155
139
|
requirements:
|
156
|
-
- -
|
140
|
+
- - ~>
|
157
141
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.2.
|
142
|
+
version: 0.2.15
|
159
143
|
- !ruby/object:Gem::Dependency
|
160
144
|
name: css_parser
|
161
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,7 +219,7 @@ files:
|
|
235
219
|
- lib/parade/parsers/slides_file_content_parser.rb
|
236
220
|
- lib/parade/renderers/columns_renderer.rb
|
237
221
|
- lib/parade/renderers/command_line_renderer.rb
|
238
|
-
- lib/parade/renderers/
|
222
|
+
- lib/parade/renderers/html_with_rouge.rb
|
239
223
|
- lib/parade/renderers/inline_images.rb
|
240
224
|
- lib/parade/renderers/special_paragraph_renderer.rb
|
241
225
|
- lib/parade/renderers/update_image_paths.rb
|
@@ -329,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
313
|
version: '0'
|
330
314
|
requirements: []
|
331
315
|
rubyforge_project:
|
332
|
-
rubygems_version: 1.8.
|
316
|
+
rubygems_version: 1.8.25
|
333
317
|
signing_key:
|
334
318
|
specification_version: 3
|
335
319
|
summary: The best damn presentation software a developer could ever love.
|
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'redcarpet'
|
2
|
-
require 'pygments.rb'
|
3
|
-
|
4
|
-
module Parade
|
5
|
-
module Renderers
|
6
|
-
class HTMLwithPygments < Redcarpet::Render::XHTML
|
7
|
-
|
8
|
-
#
|
9
|
-
# When rendering the markdown, the code should be rendered using the
|
10
|
-
# Pygments highlight which corresponds to the ghf_marked.css
|
11
|
-
#
|
12
|
-
# Additionally a class `sh_javascript` or `sh_ruby` is added that will
|
13
|
-
# assist in providing a system to provide live interactive elements
|
14
|
-
# through the javascript defined in `parade.js`.
|
15
|
-
#
|
16
|
-
# @param [String] code the fenced code to be highlighted
|
17
|
-
# @param [String] language the name of the fenced code
|
18
|
-
#
|
19
|
-
def block_code(code, language)
|
20
|
-
syntax_highlighted_html = Pygments.highlight code, :lexer => language,
|
21
|
-
:options => {:encoding => 'utf-8'}
|
22
|
-
|
23
|
-
syntax_highlighted_html.gsub('class="highlight"',"class=\"highlight sh_#{language}\"")
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.render(content)
|
27
|
-
markdown = Redcarpet::Markdown.new(Renderers::HTMLwithPygments,
|
28
|
-
:fenced_code_blocks => true,
|
29
|
-
:no_intra_emphasis => true,
|
30
|
-
:autolink => true,
|
31
|
-
:strikethrough => true,
|
32
|
-
:lax_html_blocks => true,
|
33
|
-
:superscript => true,
|
34
|
-
:hard_wrap => true,
|
35
|
-
:tables => true,
|
36
|
-
:xhtml => true)
|
37
|
-
markdown.render(content)
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|