rtex 2.0.5 → 2.1.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/CHANGELOG +12 -3
- data/README_RAILS.rdoc +9 -2
- data/lib/rtex/framework/rails.rb +13 -22
- data/lib/rtex/version.rb +2 -2
- data/rtex.gemspec +36 -113
- metadata +3 -3
data/CHANGELOG
CHANGED
@@ -1,11 +1,20 @@
|
|
1
|
+
v2.1.0
|
2
|
+
|
3
|
+
Merge in rails-2.2.2 branch, modify to make sure Prawn isn't trampled and
|
4
|
+
2.3.0 is supported.
|
5
|
+
Simplify tagging of templates for later processing (+ ensure it works
|
6
|
+
with compiled templates).
|
7
|
+
Update README_RAILS
|
8
|
+
|
1
9
|
v2.0.5
|
2
10
|
|
3
|
-
Fix issue with Echoe being ultra-sensitive on RubyGems versions (v2.0.4
|
4
|
-
and 1.3 just came out)
|
11
|
+
Fix issue with Echoe being ultra-sensitive on RubyGems versions (v2.0.4
|
12
|
+
was RubyGems 1.2 only, and 1.3 just came out)
|
5
13
|
|
6
14
|
v2.0.4
|
7
15
|
|
8
|
-
Support for TeX escaping (via l()) calling to_s on the argument.
|
16
|
+
Support for TeX escaping (via l()) calling to_s on the argument.
|
17
|
+
This should handle nils.
|
9
18
|
|
10
19
|
v2.0.3
|
11
20
|
|
data/README_RAILS.rdoc
CHANGED
@@ -26,15 +26,22 @@ Create files +pdf.rtex+ extensions (eg, +index.pdf.rtex+) using standard LaTeX m
|
|
26
26
|
|
27
27
|
With the following:
|
28
28
|
|
29
|
+
# In config/initializers/mime_types.rb (or environment.rb in older Rails)
|
30
|
+
Mime::Type.register "application/pdf", :pdf
|
31
|
+
|
29
32
|
# app/controllers/items_controller.rb
|
30
33
|
def index
|
31
34
|
@items = Item.find(:all)
|
35
|
+
respond_to do |format|
|
36
|
+
format.html # We support the normal HTML view as well
|
37
|
+
format.pdf
|
38
|
+
end
|
32
39
|
end
|
33
40
|
|
34
41
|
# app/views/items/index.pdf.rtex
|
35
42
|
\section*{Items}
|
36
43
|
\begin{itemize}
|
37
|
-
|
44
|
+
<%= render :partial => @items %>
|
38
45
|
\end{itemize}
|
39
46
|
|
40
47
|
# app/views/items/_item.pdf.rtex
|
@@ -43,7 +50,7 @@ With the following:
|
|
43
50
|
# app/layouts/application.pdf.rtex
|
44
51
|
\documentclass[12pt]{article}
|
45
52
|
\begin{document}
|
46
|
-
|
53
|
+
<%= yield %>
|
47
54
|
\end{document}
|
48
55
|
|
49
56
|
If you hit +http://the.server.url/items.pdf+, you end up with a nice PDF listing of items.
|
data/lib/rtex/framework/rails.rb
CHANGED
@@ -7,30 +7,21 @@ module RTeX
|
|
7
7
|
def self.setup
|
8
8
|
RTeX::Document.options[:tempdir] = File.expand_path(File.join(RAILS_ROOT, 'tmp'))
|
9
9
|
if ActionView::Base.respond_to?(:register_template_handler)
|
10
|
-
ActionView::Base.register_template_handler(:rtex,
|
10
|
+
ActionView::Base.register_template_handler(:rtex, TemplateHandler)
|
11
11
|
else
|
12
|
-
|
13
|
-
ActionView::Template.register_template_handler(:rtex, Template)
|
12
|
+
ActionView::Template.register_template_handler(:rtex, TemplateHandler)
|
14
13
|
end
|
15
14
|
ActionController::Base.send(:include, ControllerMethods)
|
16
15
|
ActionView::Base.send(:include, HelperMethods)
|
17
16
|
end
|
18
17
|
|
19
|
-
class
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
#
|
25
|
-
|
26
|
-
@view.template_format = :pdf
|
27
|
-
end
|
28
|
-
# Tag for RTeX
|
29
|
-
# TODO: Move options into TemplateHandler from Controller
|
30
|
-
# (need to handle send_file)
|
31
|
-
def @view.rendered_with_rtex
|
32
|
-
true
|
33
|
-
end
|
18
|
+
class TemplateHandler < ::ActionView::TemplateHandlers::ERB
|
19
|
+
# Due to significant changes in ActionView over the lifespan of Rails,
|
20
|
+
# tagging compiled templates to set a thread local variable flag seems
|
21
|
+
# to be the least brittle approach.
|
22
|
+
def compile(template)
|
23
|
+
# Insert assignment, but not before the #coding: line, if present
|
24
|
+
super.sub(/^(?!#)/m, "Thread.current[:_rendering_rtex] = true;\n")
|
34
25
|
end
|
35
26
|
end
|
36
27
|
|
@@ -41,7 +32,7 @@ module RTeX
|
|
41
32
|
|
42
33
|
def render_with_rtex(options=nil, *args, &block)
|
43
34
|
result = render_without_rtex(options, *args, &block)
|
44
|
-
if result.is_a?(String) &&
|
35
|
+
if result.is_a?(String) && Thread.current[:_rendering_rtex]
|
45
36
|
options ||= {}
|
46
37
|
::RTeX::Document.new(result, options.merge(:processed => true)).to_pdf do |filename|
|
47
38
|
serve_file = Tempfile.new('rtex-pdf')
|
@@ -54,13 +45,13 @@ module RTeX
|
|
54
45
|
:length => File.size(serve_file.path)
|
55
46
|
serve_file.close
|
56
47
|
end
|
57
|
-
else
|
58
|
-
result
|
59
48
|
end
|
49
|
+
|
60
50
|
end
|
61
51
|
end
|
62
52
|
|
63
53
|
module HelperMethods
|
54
|
+
# Similar to h()
|
64
55
|
def latex_escape(s)
|
65
56
|
RTeX::Document.escape(s)
|
66
57
|
end
|
@@ -69,4 +60,4 @@ module RTeX
|
|
69
60
|
|
70
61
|
end
|
71
62
|
end
|
72
|
-
end
|
63
|
+
end
|
data/lib/rtex/version.rb
CHANGED
data/rtex.gemspec
CHANGED
@@ -1,117 +1,40 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
|
2
|
-
|
3
|
-
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{rtex}
|
5
|
+
s.version = "2.1.0"
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Bruce Williams, Wiebe Cazemier"]
|
9
|
+
s.date = %q{2009-02-26}
|
10
|
+
s.default_executable = %q{rtex}
|
11
|
+
s.description = %q{LaTeX preprocessor for PDF generation; Rails plugin}
|
12
|
+
s.email = %q{bruce@codefluency.com}
|
13
|
+
s.executables = ["rtex"]
|
14
|
+
s.extra_rdoc_files = ["bin/rtex", "CHANGELOG", "lib/rtex/document.rb", "lib/rtex/escaping.rb", "lib/rtex/framework/merb.rb", "lib/rtex/framework/rails.rb", "lib/rtex/tempdir.rb", "lib/rtex/version.rb", "lib/rtex.rb", "README.rdoc", "README_RAILS.rdoc"]
|
15
|
+
s.files = ["bin/rtex", "CHANGELOG", "init.rb", "lib/rtex/document.rb", "lib/rtex/escaping.rb", "lib/rtex/framework/merb.rb", "lib/rtex/framework/rails.rb", "lib/rtex/tempdir.rb", "lib/rtex/version.rb", "lib/rtex.rb", "Manifest", "rails/init.rb", "Rakefile", "README.rdoc", "README_RAILS.rdoc", "test/document_test.rb", "test/filter_test.rb", "test/fixtures/first.tex", "test/fixtures/first.tex.erb", "test/fixtures/fragment.tex.erb", "test/fixtures/text.textile", "test/tempdir_test.rb", "test/test_helper.rb", "vendor/instiki/LICENSE", "vendor/instiki/redcloth_for_tex.rb", "rtex.gemspec"]
|
16
|
+
s.has_rdoc = true
|
17
|
+
s.homepage = %q{http://rtex.rubyforge.org}
|
18
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rtex", "--main", "README.rdoc"]
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
s.rubyforge_project = %q{rtex}
|
21
|
+
s.rubygems_version = %q{1.3.1}
|
22
|
+
s.summary = %q{LaTeX preprocessor for PDF generation; Rails plugin}
|
23
|
+
s.test_files = ["test/document_test.rb", "test/filter_test.rb", "test/tempdir_test.rb", "test/test_helper.rb"]
|
14
24
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
- !ruby/object:Gem::Dependency
|
19
|
-
name: Shoulda
|
20
|
-
type: :development
|
21
|
-
version_requirement:
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: "0"
|
27
|
-
version:
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: echoe
|
30
|
-
type: :development
|
31
|
-
version_requirement:
|
32
|
-
version_requirements: !ruby/object:Gem::Requirement
|
33
|
-
requirements:
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: "0"
|
37
|
-
version:
|
38
|
-
description: LaTeX preprocessor for PDF generation; Rails plugin
|
39
|
-
email: bruce@codefluency.com
|
40
|
-
executables:
|
41
|
-
- rtex
|
42
|
-
extensions: []
|
25
|
+
if s.respond_to? :specification_version then
|
26
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
27
|
+
s.specification_version = 2
|
43
28
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
files:
|
57
|
-
- bin/rtex
|
58
|
-
- CHANGELOG
|
59
|
-
- init.rb
|
60
|
-
- lib/rtex/document.rb
|
61
|
-
- lib/rtex/escaping.rb
|
62
|
-
- lib/rtex/framework/merb.rb
|
63
|
-
- lib/rtex/framework/rails.rb
|
64
|
-
- lib/rtex/tempdir.rb
|
65
|
-
- lib/rtex/version.rb
|
66
|
-
- lib/rtex.rb
|
67
|
-
- Manifest
|
68
|
-
- rails/init.rb
|
69
|
-
- Rakefile
|
70
|
-
- README.rdoc
|
71
|
-
- README_RAILS.rdoc
|
72
|
-
- test/document_test.rb
|
73
|
-
- test/filter_test.rb
|
74
|
-
- test/fixtures/first.tex
|
75
|
-
- test/fixtures/first.tex.erb
|
76
|
-
- test/fixtures/fragment.tex.erb
|
77
|
-
- test/fixtures/text.textile
|
78
|
-
- test/tempdir_test.rb
|
79
|
-
- test/test_helper.rb
|
80
|
-
- vendor/instiki/LICENSE
|
81
|
-
- vendor/instiki/redcloth_for_tex.rb
|
82
|
-
- rtex.gemspec
|
83
|
-
has_rdoc: true
|
84
|
-
homepage: http://rtex.rubyforge.org
|
85
|
-
post_install_message:
|
86
|
-
rdoc_options:
|
87
|
-
- --line-numbers
|
88
|
-
- --inline-source
|
89
|
-
- --title
|
90
|
-
- Rtex
|
91
|
-
- --main
|
92
|
-
- README.rdoc
|
93
|
-
require_paths:
|
94
|
-
- lib
|
95
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - ">="
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: "0"
|
100
|
-
version:
|
101
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: "0"
|
106
|
-
version:
|
107
|
-
requirements: []
|
108
|
-
|
109
|
-
rubyforge_project: rtex
|
110
|
-
rubygems_version: 1.3.0
|
111
|
-
specification_version: 2
|
112
|
-
summary: LaTeX preprocessor for PDF generation; Rails plugin
|
113
|
-
test_files:
|
114
|
-
- test/document_test.rb
|
115
|
-
- test/filter_test.rb
|
116
|
-
- test/tempdir_test.rb
|
117
|
-
- test/test_helper.rb
|
29
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
30
|
+
s.add_development_dependency(%q<Shoulda>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<echoe>, [">= 0"])
|
32
|
+
else
|
33
|
+
s.add_dependency(%q<Shoulda>, [">= 0"])
|
34
|
+
s.add_dependency(%q<echoe>, [">= 0"])
|
35
|
+
end
|
36
|
+
else
|
37
|
+
s.add_dependency(%q<Shoulda>, [">= 0"])
|
38
|
+
s.add_dependency(%q<echoe>, [">= 0"])
|
39
|
+
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bruce Williams, Wiebe Cazemier
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-02-26 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements: []
|
105
105
|
|
106
106
|
rubyforge_project: rtex
|
107
|
-
rubygems_version: 1.3.
|
107
|
+
rubygems_version: 1.3.1
|
108
108
|
signing_key:
|
109
109
|
specification_version: 2
|
110
110
|
summary: LaTeX preprocessor for PDF generation; Rails plugin
|