jekyll-rendering 0.0.5 → 0.0.6
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/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.
|