jekyll-rendering 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +5 -0
- data/README +5 -2
- data/Rakefile +8 -11
- data/lib/jekyll/rendering.rb +24 -11
- data/lib/jekyll/rendering/version.rb +1 -1
- metadata +10 -11
data/ChangeLog
CHANGED
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to jekyll-rendering version 0.0.
|
5
|
+
This documentation refers to jekyll-rendering version 0.0.6
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -15,6 +15,9 @@ Add the following to your <tt>_plugins/ext.rb</tt> file:
|
|
15
15
|
|
16
16
|
Then set +engine+ in your <tt>_config.yml</tt>. The default engine is +liquid+.
|
17
17
|
|
18
|
+
Options passed to ERB.new are taken from <tt>Jekyll::Rendering::ERB_OPTIONS</tt>.
|
19
|
+
Modify this array if you want to change defaults.
|
20
|
+
|
18
21
|
|
19
22
|
== TODO
|
20
23
|
|
@@ -42,7 +45,7 @@ RubyGem:: <http://rubygems.org/gems/jekyll-rendering>
|
|
42
45
|
|
43
46
|
== LICENSE AND COPYRIGHT
|
44
47
|
|
45
|
-
Copyright (C) 2010 University of Cologne,
|
48
|
+
Copyright (C) 2010-2011 University of Cologne,
|
46
49
|
Albertus-Magnus-Platz, 50923 Cologne, Germany
|
47
50
|
|
48
51
|
jekyll-rendering is free software: you can redistribute it and/or modify it under
|
data/Rakefile
CHANGED
@@ -1,24 +1,21 @@
|
|
1
|
-
require %q{lib/jekyll/rendering/version}
|
1
|
+
require File.expand_path(%q{../lib/jekyll/rendering/version}, __FILE__)
|
2
2
|
|
3
3
|
begin
|
4
4
|
require 'hen'
|
5
5
|
|
6
6
|
Hen.lay! {{
|
7
7
|
:gem => {
|
8
|
-
:name
|
9
|
-
:version
|
10
|
-
:summary
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:dependencies => %w[]
|
8
|
+
:name => %q{jekyll-rendering},
|
9
|
+
:version => Jekyll::Rendering::VERSION,
|
10
|
+
:summary => %q{Jekyll plugin to provide alternative rendering engines.},
|
11
|
+
:author => %q{Jens Wille},
|
12
|
+
:email => %q{jens.wille@uni-koeln.de}
|
14
13
|
}
|
15
14
|
}}
|
16
|
-
rescue LoadError
|
17
|
-
warn "Please install the `hen' gem."
|
15
|
+
rescue LoadError => err
|
16
|
+
warn "Please install the `hen' gem. (#{err})"
|
18
17
|
end
|
19
18
|
|
20
|
-
### Place your custom Rake tasks here.
|
21
|
-
|
22
19
|
begin
|
23
20
|
require 'jekyll/testtasks/rake'
|
24
21
|
rescue LoadError
|
data/lib/jekyll/rendering.rb
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
# #
|
4
4
|
# jekyll-rendering -- Jekyll plugin to provide alternative rendering engines #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2010 University of Cologne,
|
7
|
-
#
|
8
|
-
#
|
6
|
+
# Copyright (C) 2010-2011 University of Cologne, #
|
7
|
+
# Albertus-Magnus-Platz, #
|
8
|
+
# 50923 Cologne, Germany #
|
9
9
|
# #
|
10
10
|
# Authors: #
|
11
11
|
# Jens Wille <jens.wille@uni-koeln.de> #
|
@@ -32,6 +32,10 @@ require 'ostruct'
|
|
32
32
|
module Jekyll
|
33
33
|
|
34
34
|
module Rendering
|
35
|
+
|
36
|
+
# Options passed to ERB.new: +safe_level+, +trim_mode+, +eoutvar+.
|
37
|
+
ERB_OPTIONS = [nil, nil, '_erbout' ]
|
38
|
+
|
35
39
|
end
|
36
40
|
|
37
41
|
module Convertible
|
@@ -46,7 +50,7 @@ module Jekyll
|
|
46
50
|
payload['pygments_suffix'] = converter.pygments_suffix
|
47
51
|
|
48
52
|
# render and transform content (this becomes the final content of the object)
|
49
|
-
self.content = engine.render(payload, content, info)
|
53
|
+
self.content = engine.render(payload, content, info, data)
|
50
54
|
transform
|
51
55
|
|
52
56
|
# output keeps track of what will finally be written
|
@@ -57,7 +61,7 @@ module Jekyll
|
|
57
61
|
|
58
62
|
while layout = layouts[layout.data['layout']]
|
59
63
|
payload = payload.deep_merge('content' => output, 'page' => layout.data)
|
60
|
-
self.output = engine.render(payload, output, info, layout.content)
|
64
|
+
self.output = engine.render(payload, output, info, data, layout.content)
|
61
65
|
end
|
62
66
|
end
|
63
67
|
|
@@ -88,15 +92,15 @@ module Jekyll
|
|
88
92
|
# Engine::Base.render(*args)
|
89
93
|
#
|
90
94
|
# Renders the output. Defers to engine's render method.
|
91
|
-
def self.render(payload, content, info, layout = nil)
|
92
|
-
new(payload, content, info).render(layout || content)
|
95
|
+
def self.render(payload, content, info, data = {}, layout = nil)
|
96
|
+
new(payload, content, info, data).render(layout || content)
|
93
97
|
end
|
94
98
|
|
95
|
-
attr_reader :payload, :info
|
99
|
+
attr_reader :payload, :info, :data
|
96
100
|
attr_accessor :content
|
97
101
|
|
98
|
-
def initialize(payload, content = nil, info = {})
|
99
|
-
@payload, @content, @info = payload, content, info
|
102
|
+
def initialize(payload, content = nil, info = {}, data = {})
|
103
|
+
@payload, @content, @info, @data = payload, content, info, data
|
100
104
|
end
|
101
105
|
|
102
106
|
# call-seq:
|
@@ -107,6 +111,11 @@ module Jekyll
|
|
107
111
|
raise NotImplementedError
|
108
112
|
end
|
109
113
|
|
114
|
+
def render_error(err)
|
115
|
+
name = self.class.name.split('::').last
|
116
|
+
warn "#{name} Exception: #{err} (in #{data['layout'] || '(top)'})"
|
117
|
+
end
|
118
|
+
|
110
119
|
end
|
111
120
|
|
112
121
|
class Liquid < Base
|
@@ -119,6 +128,8 @@ module Jekyll
|
|
119
128
|
# calling ::Liquid::Template#render with +payload+ and +info+.
|
120
129
|
def render(content = content)
|
121
130
|
::Liquid::Template.parse(content).render(payload, info)
|
131
|
+
rescue => err
|
132
|
+
render_error(err)
|
122
133
|
end
|
123
134
|
|
124
135
|
end
|
@@ -150,7 +161,9 @@ module Jekyll
|
|
150
161
|
"#{var} = local_assigns[#{var.inspect}]"
|
151
162
|
}.join("\n") << " %>\n" unless local_assigns.empty?
|
152
163
|
|
153
|
-
|
164
|
+
ERB.new("#{assigns}#{content}", *Rendering::ERB_OPTIONS).result(binding)
|
165
|
+
rescue => err
|
166
|
+
render_error(err)
|
154
167
|
end
|
155
168
|
|
156
169
|
module Helpers
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-rendering
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jens Wille
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-03-09 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -26,9 +26,9 @@ executables: []
|
|
26
26
|
extensions: []
|
27
27
|
|
28
28
|
extra_rdoc_files:
|
29
|
+
- README
|
29
30
|
- COPYING
|
30
31
|
- ChangeLog
|
31
|
-
- README
|
32
32
|
files:
|
33
33
|
- lib/jekyll/rendering.rb
|
34
34
|
- lib/jekyll/rendering/version.rb
|
@@ -42,15 +42,14 @@ licenses: []
|
|
42
42
|
|
43
43
|
post_install_message:
|
44
44
|
rdoc_options:
|
45
|
-
- --title
|
46
|
-
- jekyll-rendering Application documentation
|
47
45
|
- --main
|
48
46
|
- README
|
49
|
-
- --line-numbers
|
50
|
-
- --inline-source
|
51
47
|
- --all
|
52
48
|
- --charset
|
53
49
|
- UTF-8
|
50
|
+
- --title
|
51
|
+
- jekyll-rendering Application documentation (v0.0.6)
|
52
|
+
- --line-numbers
|
54
53
|
require_paths:
|
55
54
|
- lib
|
56
55
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -74,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
73
|
requirements: []
|
75
74
|
|
76
75
|
rubyforge_project:
|
77
|
-
rubygems_version: 1.
|
76
|
+
rubygems_version: 1.6.2
|
78
77
|
signing_key:
|
79
78
|
specification_version: 3
|
80
79
|
summary: Jekyll plugin to provide alternative rendering engines.
|