jekyll-rendering 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +67 -80
- data/ChangeLog +5 -0
- data/README +13 -12
- data/lib/jekyll/rendering.rb +45 -13
- data/lib/jekyll/rendering/version.rb +1 -1
- metadata +26 -46
data/COPYING
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= License for jekyll-rendering
|
2
2
|
|
3
|
-
GNU GENERAL PUBLIC LICENSE
|
4
|
-
Version 3,
|
3
|
+
GNU AFFERO GENERAL PUBLIC LICENSE
|
4
|
+
Version 3, 19 November 2007
|
5
5
|
|
6
6
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
7
7
|
Everyone is permitted to copy and distribute verbatim copies
|
@@ -9,17 +9,15 @@
|
|
9
9
|
|
10
10
|
Preamble
|
11
11
|
|
12
|
-
The GNU General Public License is a free, copyleft license for
|
13
|
-
software and other kinds of works
|
12
|
+
The GNU Affero General Public License is a free, copyleft license for
|
13
|
+
software and other kinds of works, specifically designed to ensure
|
14
|
+
cooperation with the community in the case of network server software.
|
14
15
|
|
15
16
|
The licenses for most software and other practical works are designed
|
16
17
|
to take away your freedom to share and change the works. By contrast,
|
17
|
-
|
18
|
+
our General Public Licenses are intended to guarantee your freedom to
|
18
19
|
share and change all versions of a program--to make sure it remains free
|
19
|
-
software for all its users.
|
20
|
-
GNU General Public License for most of our software; it applies also to
|
21
|
-
any other work released this way by its authors. You can apply it to
|
22
|
-
your programs, too.
|
20
|
+
software for all its users.
|
23
21
|
|
24
22
|
When we speak of free software, we are referring to freedom, not
|
25
23
|
price. Our General Public Licenses are designed to make sure that you
|
@@ -28,44 +26,34 @@
|
|
28
26
|
want it, that you can change the software or use pieces of it in new
|
29
27
|
free programs, and that you know you can do these things.
|
30
28
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
that
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
products. If such problems arise substantially in other domains, we
|
60
|
-
stand ready to extend this provision to those domains in future versions
|
61
|
-
of the GPL, as needed to protect the freedom of users.
|
62
|
-
|
63
|
-
Finally, every program is threatened constantly by software patents.
|
64
|
-
States should not allow patents to restrict development and use of
|
65
|
-
software on general-purpose computers, but in those that do, we wish to
|
66
|
-
avoid the special danger that patents applied to a free program could
|
67
|
-
make it effectively proprietary. To prevent this, the GPL assures that
|
68
|
-
patents cannot be used to render the program non-free.
|
29
|
+
Developers that use our General Public Licenses protect your rights
|
30
|
+
with two steps: (1) assert copyright on the software, and (2) offer
|
31
|
+
you this License which gives you legal permission to copy, distribute
|
32
|
+
and/or modify the software.
|
33
|
+
|
34
|
+
A secondary benefit of defending all users' freedom is that
|
35
|
+
improvements made in alternate versions of the program, if they
|
36
|
+
receive widespread use, become available for other developers to
|
37
|
+
incorporate. Many developers of free software are heartened and
|
38
|
+
encouraged by the resulting cooperation. However, in the case of
|
39
|
+
software used on network servers, this result may fail to come about.
|
40
|
+
The GNU General Public License permits making a modified version and
|
41
|
+
letting the public access it on a server without ever releasing its
|
42
|
+
source code to the public.
|
43
|
+
|
44
|
+
The GNU Affero General Public License is designed specifically to
|
45
|
+
ensure that, in such cases, the modified source code becomes available
|
46
|
+
to the community. It requires the operator of a network server to
|
47
|
+
provide the source code of the modified version running there to the
|
48
|
+
users of that server. Therefore, public use of a modified version, on
|
49
|
+
a publicly accessible server, gives the public access to the source
|
50
|
+
code of the modified version.
|
51
|
+
|
52
|
+
An older license, called the Affero General Public License and
|
53
|
+
published by Affero, was designed to accomplish similar goals. This is
|
54
|
+
a different license, not a version of the Affero GPL, but Affero has
|
55
|
+
released a new version of the Affero GPL which permits relicensing under
|
56
|
+
this license.
|
69
57
|
|
70
58
|
The precise terms and conditions for copying, distribution and
|
71
59
|
modification follow.
|
@@ -74,7 +62,7 @@
|
|
74
62
|
|
75
63
|
0. Definitions.
|
76
64
|
|
77
|
-
"This License" refers to version 3 of the GNU General Public License.
|
65
|
+
"This License" refers to version 3 of the GNU Affero General Public License.
|
78
66
|
|
79
67
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
80
68
|
works, such as semiconductor masks.
|
@@ -551,35 +539,45 @@
|
|
551
539
|
the Program, the only way you could satisfy both those terms and this
|
552
540
|
License would be to refrain entirely from conveying the Program.
|
553
541
|
|
554
|
-
13. Use with the GNU
|
542
|
+
13. Remote Network Interaction; Use with the GNU General Public License.
|
543
|
+
|
544
|
+
Notwithstanding any other provision of this License, if you modify the
|
545
|
+
Program, your modified version must prominently offer all users
|
546
|
+
interacting with it remotely through a computer network (if your version
|
547
|
+
supports such interaction) an opportunity to receive the Corresponding
|
548
|
+
Source of your version by providing access to the Corresponding Source
|
549
|
+
from a network server at no charge, through some standard or customary
|
550
|
+
means of facilitating copying of software. This Corresponding Source
|
551
|
+
shall include the Corresponding Source for any work covered by version 3
|
552
|
+
of the GNU General Public License that is incorporated pursuant to the
|
553
|
+
following paragraph.
|
555
554
|
|
556
555
|
Notwithstanding any other provision of this License, you have
|
557
556
|
permission to link or combine any covered work with a work licensed
|
558
|
-
under version 3 of the GNU
|
557
|
+
under version 3 of the GNU General Public License into a single
|
559
558
|
combined work, and to convey the resulting work. The terms of this
|
560
559
|
License will continue to apply to the part which is the covered work,
|
561
|
-
but the
|
562
|
-
|
563
|
-
combination as such.
|
560
|
+
but the work with which it is combined will remain governed by version
|
561
|
+
3 of the GNU General Public License.
|
564
562
|
|
565
563
|
14. Revised Versions of this License.
|
566
564
|
|
567
565
|
The Free Software Foundation may publish revised and/or new versions of
|
568
|
-
the GNU General Public License from time to time. Such new versions
|
569
|
-
be similar in spirit to the present version, but may differ in detail to
|
566
|
+
the GNU Affero General Public License from time to time. Such new versions
|
567
|
+
will be similar in spirit to the present version, but may differ in detail to
|
570
568
|
address new problems or concerns.
|
571
569
|
|
572
570
|
Each version is given a distinguishing version number. If the
|
573
|
-
Program specifies that a certain numbered version of the GNU General
|
571
|
+
Program specifies that a certain numbered version of the GNU Affero General
|
574
572
|
Public License "or any later version" applies to it, you have the
|
575
573
|
option of following the terms and conditions either of that numbered
|
576
574
|
version or of any later version published by the Free Software
|
577
575
|
Foundation. If the Program does not specify a version number of the
|
578
|
-
GNU General Public License, you may choose any version ever published
|
576
|
+
GNU Affero General Public License, you may choose any version ever published
|
579
577
|
by the Free Software Foundation.
|
580
578
|
|
581
579
|
If the Program specifies that a proxy can decide which future
|
582
|
-
versions of the GNU General Public License can be used, that proxy's
|
580
|
+
versions of the GNU Affero General Public License can be used, that proxy's
|
583
581
|
public statement of acceptance of a version permanently authorizes you
|
584
582
|
to choose that version for the Program.
|
585
583
|
|
@@ -637,40 +635,29 @@
|
|
637
635
|
Copyright (C) <year> <name of author>
|
638
636
|
|
639
637
|
This program is free software: you can redistribute it and/or modify
|
640
|
-
it under the terms of the GNU General Public License as published by
|
638
|
+
it under the terms of the GNU Affero General Public License as published by
|
641
639
|
the Free Software Foundation, either version 3 of the License, or
|
642
640
|
(at your option) any later version.
|
643
641
|
|
644
642
|
This program is distributed in the hope that it will be useful,
|
645
643
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
646
644
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
647
|
-
GNU General Public License for more details.
|
645
|
+
GNU Affero General Public License for more details.
|
648
646
|
|
649
|
-
You should have received a copy of the GNU General Public License
|
647
|
+
You should have received a copy of the GNU Affero General Public License
|
650
648
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
651
649
|
|
652
650
|
Also add information on how to contact you by electronic and paper mail.
|
653
651
|
|
654
|
-
If
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
663
|
-
parts of the General Public License. Of course, your program's commands
|
664
|
-
might be different; for a GUI interface, you would use an "about box".
|
652
|
+
If your software can interact with users remotely through a computer
|
653
|
+
network, you should also make sure that it provides a way for users to
|
654
|
+
get its source. For example, if your program is a web application, its
|
655
|
+
interface could display a "Source" link that leads users to an archive
|
656
|
+
of the code. There are many ways you could offer source, and different
|
657
|
+
solutions will be better for different programs; see section 13 for the
|
658
|
+
specific requirements.
|
665
659
|
|
666
660
|
You should also get your employer (if you work as a programmer) or school,
|
667
661
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
668
|
-
For more information on this, and how to apply and follow the GNU
|
662
|
+
For more information on this, and how to apply and follow the GNU AGPL, see
|
669
663
|
<http://www.gnu.org/licenses/>.
|
670
|
-
|
671
|
-
The GNU General Public License does not permit incorporating your program
|
672
|
-
into proprietary programs. If your program is a subroutine library, you
|
673
|
-
may consider it more useful to permit linking proprietary applications with
|
674
|
-
the library. If this is what you want to do, use the GNU Lesser General
|
675
|
-
Public License instead of this License. But first, please read
|
676
|
-
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
data/ChangeLog
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
= Revision history for jekyll-rendering
|
2
2
|
|
3
|
+
== 0.0.8 [2012-05-22]
|
4
|
+
|
5
|
+
* Added support for Erubis. (Used by default if available.)
|
6
|
+
* Work around encoding issues on Ruby 1.9.
|
7
|
+
|
3
8
|
== 0.0.7 [2011-03-31]
|
4
9
|
|
5
10
|
* Include ERB::Util in Jekyll::Rendering::Erb::Helpers.
|
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.8
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -27,9 +27,9 @@ Modify this array if you want to change defaults.
|
|
27
27
|
== LINKS
|
28
28
|
|
29
29
|
<b></b>
|
30
|
-
Documentation::
|
31
|
-
Source code::
|
32
|
-
RubyGem::
|
30
|
+
Documentation:: http://rdoc.info/projects/blackwinter/jekyll-rendering
|
31
|
+
Source code:: http://github.com/blackwinter/jekyll-rendering
|
32
|
+
RubyGem:: http://rubygems.org/gems/jekyll-rendering
|
33
33
|
|
34
34
|
|
35
35
|
== AUTHORS
|
@@ -45,17 +45,18 @@ RubyGem:: <http://rubygems.org/gems/jekyll-rendering>
|
|
45
45
|
|
46
46
|
== LICENSE AND COPYRIGHT
|
47
47
|
|
48
|
-
Copyright (C) 2010-
|
48
|
+
Copyright (C) 2010-2012 University of Cologne,
|
49
49
|
Albertus-Magnus-Platz, 50923 Cologne, Germany
|
50
50
|
|
51
|
-
jekyll-rendering is free software: you can redistribute it and/or modify it
|
52
|
-
the terms of the GNU General Public License as published by the
|
53
|
-
Foundation, either version 3 of the License, or (at your option)
|
54
|
-
version.
|
51
|
+
jekyll-rendering is free software: you can redistribute it and/or modify it
|
52
|
+
under the terms of the GNU Affero General Public License as published by the
|
53
|
+
Free Software Foundation, either version 3 of the License, or (at your option)
|
54
|
+
any later version.
|
55
55
|
|
56
56
|
jekyll-rendering is distributed in the hope that it will be useful, but WITHOUT
|
57
57
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
58
|
-
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
58
|
+
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
59
|
+
details.
|
59
60
|
|
60
|
-
You should have received a copy of the GNU General Public License along
|
61
|
-
jekyll-rendering. If not, see <http://www.gnu.org/licenses/>.
|
61
|
+
You should have received a copy of the GNU Affero General Public License along
|
62
|
+
with jekyll-rendering. If not, see <http://www.gnu.org/licenses/>.
|
data/lib/jekyll/rendering.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# #
|
4
4
|
# jekyll-rendering -- Jekyll plugin to provide alternative rendering engines #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2010-
|
6
|
+
# Copyright (C) 2010-2012 University of Cologne, #
|
7
7
|
# Albertus-Magnus-Platz, #
|
8
8
|
# 50923 Cologne, Germany #
|
9
9
|
# #
|
@@ -11,17 +11,17 @@
|
|
11
11
|
# Jens Wille <jens.wille@uni-koeln.de> #
|
12
12
|
# #
|
13
13
|
# jekyll-rendering is free software; you can redistribute it and/or modify it #
|
14
|
-
# under the terms of the GNU General Public License as published by
|
15
|
-
# Software Foundation; either version 3 of the License, or (at your
|
16
|
-
# any later version.
|
14
|
+
# under the terms of the GNU Affero General Public License as published by #
|
15
|
+
# the Free Software Foundation; either version 3 of the License, or (at your #
|
16
|
+
# option) any later version. #
|
17
17
|
# #
|
18
18
|
# jekyll-rendering is distributed in the hope that it will be useful, but #
|
19
19
|
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
|
20
|
-
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
21
|
-
# more details.
|
20
|
+
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public #
|
21
|
+
# License for more details. #
|
22
22
|
# #
|
23
|
-
# You should have received a copy of the GNU General Public License
|
24
|
-
# with jekyll-rendering. If not, see <http://www.gnu.org/licenses/>.
|
23
|
+
# You should have received a copy of the GNU Affero General Public License #
|
24
|
+
# along with jekyll-rendering. If not, see <http://www.gnu.org/licenses/>. #
|
25
25
|
# #
|
26
26
|
###############################################################################
|
27
27
|
#++
|
@@ -29,6 +29,11 @@
|
|
29
29
|
require 'erb'
|
30
30
|
require 'ostruct'
|
31
31
|
|
32
|
+
begin
|
33
|
+
require 'erubis'
|
34
|
+
rescue LoadError
|
35
|
+
end
|
36
|
+
|
32
37
|
module Jekyll
|
33
38
|
|
34
39
|
module Rendering
|
@@ -111,8 +116,9 @@ module Jekyll
|
|
111
116
|
raise NotImplementedError
|
112
117
|
end
|
113
118
|
|
114
|
-
def render_error(err)
|
119
|
+
def render_error(err, renderer = nil)
|
115
120
|
name = self.class.name.split('::').last
|
121
|
+
name << " [#{renderer}]" if renderer
|
116
122
|
warn "#{name} Exception: #{err} (in #{data['layout'] || '(top)'})"
|
117
123
|
end
|
118
124
|
|
@@ -136,17 +142,33 @@ module Jekyll
|
|
136
142
|
|
137
143
|
class Erb < Base
|
138
144
|
|
139
|
-
|
145
|
+
class << self; attr_accessor :renderer; end
|
146
|
+
|
147
|
+
attr_reader :site, :page, :renderer, :encoding
|
140
148
|
|
141
149
|
def initialize(*args)
|
142
150
|
super
|
143
151
|
|
152
|
+
if ''.respond_to?(:force_encoding)
|
153
|
+
@encoding = site.respond_to?(:encoding) &&
|
154
|
+
site.encoding || Encoding.default_external
|
155
|
+
|
156
|
+
data.each_value { |val|
|
157
|
+
if val.respond_to?(:force_encoding) && !val.frozen?
|
158
|
+
val.force_encoding(encoding)
|
159
|
+
end
|
160
|
+
}
|
161
|
+
end
|
162
|
+
|
144
163
|
[Helpers, *info[:filters]].each { |mod| extend mod }
|
145
164
|
|
146
165
|
%w[site page paginator].each { |key|
|
147
166
|
value = payload[key] or next
|
148
167
|
instance_variable_set("@#{key}", OpenStruct.new(value))
|
149
168
|
}
|
169
|
+
|
170
|
+
@renderer = self.class.renderer ||
|
171
|
+
(Object.const_defined?(:Erubis) ? Erubis::FastEruby : ERB)
|
150
172
|
end
|
151
173
|
|
152
174
|
# call-seq:
|
@@ -156,14 +178,24 @@ module Jekyll
|
|
156
178
|
#
|
157
179
|
# Renders the +content+ as ERB template. Assigns optional
|
158
180
|
# +local_assigns+ for use in template if provided.
|
159
|
-
def render(content = content, local_assigns = {})
|
181
|
+
def render(content = content, local_assigns = {}, *args)
|
160
182
|
assigns = '<% ' << local_assigns.keys.map { |var|
|
161
183
|
"#{var} = local_assigns[#{var.inspect}]"
|
162
184
|
}.join("\n") << " %>\n" unless local_assigns.empty?
|
163
185
|
|
164
|
-
|
186
|
+
args.insert(0, "#{assigns}#{content}", binding)
|
187
|
+
renderer == ERB ? _render_erb(*args) : _render(*args)
|
165
188
|
rescue => err
|
166
|
-
render_error(err)
|
189
|
+
render_error(err, renderer)
|
190
|
+
end
|
191
|
+
|
192
|
+
def _render_erb(doc, binding, args = Rendering::ERB_OPTIONS)
|
193
|
+
res = renderer.new(doc, *args).result(binding)
|
194
|
+
encoding ? res.force_encoding(encoding) : res
|
195
|
+
end
|
196
|
+
|
197
|
+
def _render(doc, binding, args = [])
|
198
|
+
renderer.new(doc, *args).result(binding)
|
167
199
|
end
|
168
200
|
|
169
201
|
module Helpers
|
metadata
CHANGED
@@ -1,81 +1,61 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-rendering
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 7
|
10
|
-
version: 0.0.7
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Jens Wille
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2011-03-31 00:00:00 +02:00
|
19
|
-
default_executable:
|
12
|
+
date: 2012-05-22 00:00:00.000000000 Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
14
|
description: Jekyll plugin to provide alternative rendering engines.
|
23
15
|
email: jens.wille@uni-koeln.de
|
24
16
|
executables: []
|
25
|
-
|
26
17
|
extensions: []
|
27
|
-
|
28
|
-
extra_rdoc_files:
|
18
|
+
extra_rdoc_files:
|
29
19
|
- README
|
30
20
|
- COPYING
|
31
21
|
- ChangeLog
|
32
|
-
files:
|
33
|
-
- lib/jekyll/rendering.rb
|
22
|
+
files:
|
34
23
|
- lib/jekyll/rendering/version.rb
|
35
|
-
-
|
24
|
+
- lib/jekyll/rendering.rb
|
25
|
+
- COPYING
|
36
26
|
- ChangeLog
|
37
27
|
- Rakefile
|
38
|
-
-
|
39
|
-
has_rdoc: true
|
28
|
+
- README
|
40
29
|
homepage:
|
41
30
|
licenses: []
|
42
|
-
|
43
31
|
post_install_message:
|
44
|
-
rdoc_options:
|
32
|
+
rdoc_options:
|
45
33
|
- --charset
|
46
34
|
- UTF-8
|
35
|
+
- --line-numbers
|
36
|
+
- --all
|
47
37
|
- --title
|
48
|
-
- jekyll-rendering Application documentation (v0.0.
|
38
|
+
- jekyll-rendering Application documentation (v0.0.8)
|
49
39
|
- --main
|
50
40
|
- README
|
51
|
-
|
52
|
-
- --all
|
53
|
-
require_paths:
|
41
|
+
require_paths:
|
54
42
|
- lib
|
55
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
56
44
|
none: false
|
57
|
-
requirements:
|
58
|
-
- -
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
|
62
|
-
- 0
|
63
|
-
version: "0"
|
64
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ! '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
|
-
requirements:
|
67
|
-
- -
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
|
70
|
-
segments:
|
71
|
-
- 0
|
72
|
-
version: "0"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
73
55
|
requirements: []
|
74
|
-
|
75
56
|
rubyforge_project:
|
76
|
-
rubygems_version: 1.
|
57
|
+
rubygems_version: 1.8.24
|
77
58
|
signing_key:
|
78
59
|
specification_version: 3
|
79
60
|
summary: Jekyll plugin to provide alternative rendering engines.
|
80
61
|
test_files: []
|
81
|
-
|