rails-latex 2.2.2 → 2.3.4
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.
- checksums.yaml +5 -5
- data/.github/workflows/tests.yml +33 -0
- data/README.rdoc +2 -0
- data/examples/rails-latex-demo/config/environments/production.rb +1 -1
- data/examples/rails-latex-demo/config/initializers/new_framework_defaults.rb +0 -3
- data/lib/rails-latex/erb_latex.rb +5 -4
- data/lib/rails-latex/latex_to_pdf.rb +12 -7
- data/lib/rails-latex/version.rb +1 -1
- data/rails-latex.gemspec +7 -7
- metadata +20 -21
- data/examples/rails-latex-demo/Gemfile.lock +0 -118
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 52c84240b2098292a90400f03790c9ac53a95cfd194fa0d42ae22e65a462eb04
|
4
|
+
data.tar.gz: 458ce58aefedf1497da66631a6ca9d3e0dfbbced7b2484666bbd6bfd1d3cae6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d31bf2685065334235c564d98792b79a4acb011d44b59320f4d1529fa7a2bcb637e794ab377cc77c5527c9e9a307ba9d23635423e46cce2384e6977811bb0252
|
7
|
+
data.tar.gz: ee38e92746f1b109ed480f09a8f23507337cbdffd53eae12cb913e62554eca7d5bcf7f09995f2babe1245863dd2ab229079ba1116867896ac63e48045fc2eaab
|
@@ -0,0 +1,33 @@
|
|
1
|
+
name: Basic test suite
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
|
11
|
+
ruby:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby-version: ['3.0', '2.7', '2.6']
|
16
|
+
|
17
|
+
steps:
|
18
|
+
|
19
|
+
- uses: actions/checkout@v2
|
20
|
+
|
21
|
+
- name: Install dependencies
|
22
|
+
run: sudo apt-get install -y texlive texlive-xetex poppler-utils
|
23
|
+
|
24
|
+
- name: Setup ruby
|
25
|
+
uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: ${{ matrix.ruby-version }}
|
28
|
+
|
29
|
+
- name: Install dependencies
|
30
|
+
run: bundle install
|
31
|
+
|
32
|
+
- name: Run tests
|
33
|
+
run: bundle exec rake
|
data/README.rdoc
CHANGED
@@ -46,7 +46,7 @@ Rails.application.configure do
|
|
46
46
|
|
47
47
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
48
48
|
# the I18n.default_locale when a translation cannot be found).
|
49
|
-
config.i18n.fallbacks =
|
49
|
+
config.i18n.fallbacks = [I18n.default_locale]
|
50
50
|
|
51
51
|
# Send deprecation notices to registered listeners.
|
52
52
|
config.active_support.deprecation = :notify
|
@@ -14,8 +14,5 @@ Rails.application.config.action_controller.forgery_protection_origin_check = tru
|
|
14
14
|
# Previous versions had false.
|
15
15
|
ActiveSupport.to_time_preserves_timezone = true
|
16
16
|
|
17
|
-
# Do not halt callback chains when a callback returns false. Previous versions had true.
|
18
|
-
ActiveSupport.halt_callback_chains_on_return_false = false
|
19
|
-
|
20
17
|
# Configure SSL options to enable HSTS with subdomains. Previous versions had false.
|
21
18
|
Rails.application.config.ssl_options = { hsts: { subdomains: true } }
|
@@ -6,12 +6,13 @@ require 'action_view'
|
|
6
6
|
module ActionView # :nodoc: all
|
7
7
|
module Template::Handlers
|
8
8
|
class ERBLatex < ERB
|
9
|
-
def self.call(template)
|
10
|
-
|
9
|
+
def self.call(template, source = nil)
|
10
|
+
source ||= template.source
|
11
|
+
new.compile(template, source)
|
11
12
|
end
|
12
13
|
|
13
|
-
def compile(template)
|
14
|
-
erb = "<% __in_erb_template=true %>#{
|
14
|
+
def compile(template, source)
|
15
|
+
erb = "<% __in_erb_template=true %>#{source}"
|
15
16
|
out=self.class.erb_implementation.new(erb, :trim=>(self.class.erb_trim_mode == "-")).src
|
16
17
|
out + ";LatexToPdf.generate_pdf(@output_buffer.to_s, @latex_config||{})"
|
17
18
|
end
|
@@ -13,6 +13,9 @@ class LatexToPdf
|
|
13
13
|
:command => 'pdflatex',
|
14
14
|
:arguments => ['-halt-on-error'],
|
15
15
|
:default_arguments => ['-shell-escape', '-interaction=batchmode'],
|
16
|
+
workdir: ->() { "#{Process.pid}-#{Thread.current.hash}" },
|
17
|
+
preservework: false,
|
18
|
+
basedir: File.join(Rails.root, 'tmp', 'rails-latex'),
|
16
19
|
:parse_runs => 1
|
17
20
|
}
|
18
21
|
end
|
@@ -44,7 +47,7 @@ class LatexToPdf
|
|
44
47
|
end
|
45
48
|
|
46
49
|
# Create directory, prepare additional supporting files (.cls, .sty, ...)
|
47
|
-
dir = File.join(
|
50
|
+
dir = File.join(config[:basedir], config[:workdir].call)
|
48
51
|
input = File.join(dir, 'input.tex')
|
49
52
|
FileUtils.mkdir_p(dir)
|
50
53
|
supporting = config[:supporting]
|
@@ -60,7 +63,7 @@ class LatexToPdf
|
|
60
63
|
args = item[:arguments] || config[:arguments] + config[:default_arguments]
|
61
64
|
args += item[:extra_arguments].to_a + ['input']
|
62
65
|
kwargs = {:out => ["input.log", "a"]}
|
63
|
-
Rails.logger.info "Running #{command} #{args.join(' ')} #{runs} times..."
|
66
|
+
Rails.logger.info "Running '#{command} #{args.join(' ')}' in #{dir} #{runs} times..."
|
64
67
|
Process.waitpid(
|
65
68
|
fork do
|
66
69
|
begin
|
@@ -83,10 +86,12 @@ class LatexToPdf
|
|
83
86
|
|
84
87
|
# Finish
|
85
88
|
if $?.exitstatus.zero? && File.exist?(pdf_file=input.sub(/\.tex$/,'.pdf'))
|
86
|
-
|
87
|
-
FileUtils.
|
89
|
+
cmd = config[:preservework] ? :cp : :mv
|
90
|
+
FileUtils.send(cmd, input, File.join(config[:basedir], 'input.tex'))
|
91
|
+
FileUtils.send(cmd, input.sub(/\.tex$/,'.log'),
|
92
|
+
File.join(config[:basedir], 'input.log'))
|
88
93
|
result = File.read(pdf_file)
|
89
|
-
FileUtils.rm_rf(dir)
|
94
|
+
FileUtils.rm_rf(dir) unless config[:preservework]
|
90
95
|
else
|
91
96
|
raise RailsLatex::ProcessingError.new(
|
92
97
|
"rails-latex failed: See #{input.sub(/\.tex$/,'.log')} for details",
|
@@ -102,7 +107,7 @@ class LatexToPdf
|
|
102
107
|
# This method will use RedCloth to do the escaping if available.
|
103
108
|
def self.escape_latex(text)
|
104
109
|
# :stopdoc:
|
105
|
-
unless @latex_escaper
|
110
|
+
unless instance_variable_defined?(:@latex_escaper) && @latex_escaper
|
106
111
|
if defined?(RedCloth::Formatters::LATEX)
|
107
112
|
class << (@latex_escaper=RedCloth.new(''))
|
108
113
|
include RedCloth::Formatters::LATEX
|
@@ -133,6 +138,6 @@ class LatexToPdf
|
|
133
138
|
# :startdoc:
|
134
139
|
end
|
135
140
|
|
136
|
-
@latex_escaper.latex_esc(text.to_s).html_safe
|
141
|
+
@latex_escaper.latex_esc(text.to_s.to_str).html_safe
|
137
142
|
end
|
138
143
|
end
|
data/lib/rails-latex/version.rb
CHANGED
data/rails-latex.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{A LaTeX to PDF rails renderer.}
|
13
13
|
spec.description = %q{rails-latex is a renderer for rails which allows tex files with erb to be turned into an inline pdf.}
|
14
|
-
spec.homepage = "https://github.com/amagical
|
14
|
+
spec.homepage = "https://github.com/amagical-net/rails-latex"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_runtime_dependency 'rails', '>= 3.0.0', '<
|
23
|
-
spec.add_development_dependency "RedCloth", "~> 4.
|
24
|
-
spec.add_development_dependency "bundler", "~>
|
25
|
-
spec.add_development_dependency "rake", "~>
|
26
|
-
spec.add_development_dependency "minitest", "~> 5.
|
27
|
-
spec.add_development_dependency "minitest-reporters", "~> 1.
|
22
|
+
spec.add_runtime_dependency 'rails', '>= 3.0.0', '< 8'
|
23
|
+
spec.add_development_dependency "RedCloth", "~> 4.3"
|
24
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
25
|
+
spec.add_development_dependency "rake", "~> 13"
|
26
|
+
spec.add_development_dependency "minitest", "~> 5.11"
|
27
|
+
spec.add_development_dependency "minitest-reporters", "~> 1.3"
|
28
28
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-latex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Baier
|
8
8
|
- Geoff Jacobsen
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-12-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
version: 3.0.0
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
23
|
+
version: '8'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -30,77 +30,77 @@ dependencies:
|
|
30
30
|
version: 3.0.0
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '8'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: RedCloth
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '4.
|
40
|
+
version: '4.3'
|
41
41
|
type: :development
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '4.
|
47
|
+
version: '4.3'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: bundler
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rake
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
71
|
version_requirements: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '13'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: minitest
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '5.
|
82
|
+
version: '5.11'
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '5.
|
89
|
+
version: '5.11'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
91
|
name: minitest-reporters
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '1.
|
96
|
+
version: '1.3'
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
103
|
+
version: '1.3'
|
104
104
|
description: rails-latex is a renderer for rails which allows tex files with erb to
|
105
105
|
be turned into an inline pdf.
|
106
106
|
email:
|
@@ -109,6 +109,7 @@ executables: []
|
|
109
109
|
extensions: []
|
110
110
|
extra_rdoc_files: []
|
111
111
|
files:
|
112
|
+
- ".github/workflows/tests.yml"
|
112
113
|
- ".gitignore"
|
113
114
|
- CODE_OF_CONDUCT.md
|
114
115
|
- Gemfile
|
@@ -116,7 +117,6 @@ files:
|
|
116
117
|
- README.rdoc
|
117
118
|
- Rakefile
|
118
119
|
- examples/rails-latex-demo/Gemfile
|
119
|
-
- examples/rails-latex-demo/Gemfile.lock
|
120
120
|
- examples/rails-latex-demo/Rakefile
|
121
121
|
- examples/rails-latex-demo/app/controllers/application_controller.rb
|
122
122
|
- examples/rails-latex-demo/app/controllers/latex_example_controller.rb
|
@@ -164,11 +164,11 @@ files:
|
|
164
164
|
- lib/rails-latex/latex_to_pdf.rb
|
165
165
|
- lib/rails-latex/version.rb
|
166
166
|
- rails-latex.gemspec
|
167
|
-
homepage: https://github.com/amagical
|
167
|
+
homepage: https://github.com/amagical-net/rails-latex
|
168
168
|
licenses:
|
169
169
|
- MIT
|
170
170
|
metadata: {}
|
171
|
-
post_install_message:
|
171
|
+
post_install_message:
|
172
172
|
rdoc_options: []
|
173
173
|
require_paths:
|
174
174
|
- lib
|
@@ -183,9 +183,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
183
|
- !ruby/object:Gem::Version
|
184
184
|
version: '0'
|
185
185
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
signing_key:
|
186
|
+
rubygems_version: 3.1.6
|
187
|
+
signing_key:
|
189
188
|
specification_version: 4
|
190
189
|
summary: A LaTeX to PDF rails renderer.
|
191
190
|
test_files: []
|
@@ -1,118 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../..
|
3
|
-
specs:
|
4
|
-
rails-latex (2.2.1)
|
5
|
-
rails (>= 3.0.0, < 6)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
actioncable (5.1.5)
|
11
|
-
actionpack (= 5.1.5)
|
12
|
-
nio4r (~> 2.0)
|
13
|
-
websocket-driver (~> 0.6.1)
|
14
|
-
actionmailer (5.1.5)
|
15
|
-
actionpack (= 5.1.5)
|
16
|
-
actionview (= 5.1.5)
|
17
|
-
activejob (= 5.1.5)
|
18
|
-
mail (~> 2.5, >= 2.5.4)
|
19
|
-
rails-dom-testing (~> 2.0)
|
20
|
-
actionpack (5.1.5)
|
21
|
-
actionview (= 5.1.5)
|
22
|
-
activesupport (= 5.1.5)
|
23
|
-
rack (~> 2.0)
|
24
|
-
rack-test (>= 0.6.3)
|
25
|
-
rails-dom-testing (~> 2.0)
|
26
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
27
|
-
actionview (5.1.5)
|
28
|
-
activesupport (= 5.1.5)
|
29
|
-
builder (~> 3.1)
|
30
|
-
erubi (~> 1.4)
|
31
|
-
rails-dom-testing (~> 2.0)
|
32
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
33
|
-
activejob (5.1.5)
|
34
|
-
activesupport (= 5.1.5)
|
35
|
-
globalid (>= 0.3.6)
|
36
|
-
activemodel (5.1.5)
|
37
|
-
activesupport (= 5.1.5)
|
38
|
-
activerecord (5.1.5)
|
39
|
-
activemodel (= 5.1.5)
|
40
|
-
activesupport (= 5.1.5)
|
41
|
-
arel (~> 8.0)
|
42
|
-
activesupport (5.1.5)
|
43
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
44
|
-
i18n (~> 0.7)
|
45
|
-
minitest (~> 5.1)
|
46
|
-
tzinfo (~> 1.1)
|
47
|
-
arel (8.0.0)
|
48
|
-
builder (3.2.3)
|
49
|
-
concurrent-ruby (1.0.5)
|
50
|
-
crass (1.0.3)
|
51
|
-
erubi (1.7.1)
|
52
|
-
globalid (0.4.1)
|
53
|
-
activesupport (>= 4.2.0)
|
54
|
-
i18n (0.9.5)
|
55
|
-
concurrent-ruby (~> 1.0)
|
56
|
-
loofah (2.2.1)
|
57
|
-
crass (~> 1.0.2)
|
58
|
-
nokogiri (>= 1.5.9)
|
59
|
-
mail (2.7.0)
|
60
|
-
mini_mime (>= 0.1.1)
|
61
|
-
method_source (0.9.0)
|
62
|
-
mini_mime (1.0.0)
|
63
|
-
mini_portile2 (2.3.0)
|
64
|
-
minitest (5.11.3)
|
65
|
-
nio4r (2.3.0)
|
66
|
-
nokogiri (1.8.2)
|
67
|
-
mini_portile2 (~> 2.3.0)
|
68
|
-
rack (2.0.4)
|
69
|
-
rack-test (0.8.3)
|
70
|
-
rack (>= 1.0, < 3)
|
71
|
-
rails (5.1.5)
|
72
|
-
actioncable (= 5.1.5)
|
73
|
-
actionmailer (= 5.1.5)
|
74
|
-
actionpack (= 5.1.5)
|
75
|
-
actionview (= 5.1.5)
|
76
|
-
activejob (= 5.1.5)
|
77
|
-
activemodel (= 5.1.5)
|
78
|
-
activerecord (= 5.1.5)
|
79
|
-
activesupport (= 5.1.5)
|
80
|
-
bundler (>= 1.3.0)
|
81
|
-
railties (= 5.1.5)
|
82
|
-
sprockets-rails (>= 2.0.0)
|
83
|
-
rails-dom-testing (2.0.3)
|
84
|
-
activesupport (>= 4.2.0)
|
85
|
-
nokogiri (>= 1.6)
|
86
|
-
rails-html-sanitizer (1.0.3)
|
87
|
-
loofah (~> 2.0)
|
88
|
-
railties (5.1.5)
|
89
|
-
actionpack (= 5.1.5)
|
90
|
-
activesupport (= 5.1.5)
|
91
|
-
method_source
|
92
|
-
rake (>= 0.8.7)
|
93
|
-
thor (>= 0.18.1, < 2.0)
|
94
|
-
rake (12.3.1)
|
95
|
-
sprockets (3.7.1)
|
96
|
-
concurrent-ruby (~> 1.0)
|
97
|
-
rack (> 1, < 3)
|
98
|
-
sprockets-rails (3.2.1)
|
99
|
-
actionpack (>= 4.0)
|
100
|
-
activesupport (>= 4.0)
|
101
|
-
sprockets (>= 3.0.0)
|
102
|
-
thor (0.20.0)
|
103
|
-
thread_safe (0.3.6)
|
104
|
-
tzinfo (1.2.5)
|
105
|
-
thread_safe (~> 0.1)
|
106
|
-
websocket-driver (0.6.5)
|
107
|
-
websocket-extensions (>= 0.1.0)
|
108
|
-
websocket-extensions (0.1.3)
|
109
|
-
|
110
|
-
PLATFORMS
|
111
|
-
ruby
|
112
|
-
|
113
|
-
DEPENDENCIES
|
114
|
-
rails (~> 5)
|
115
|
-
rails-latex!
|
116
|
-
|
117
|
-
BUNDLED WITH
|
118
|
-
1.16.1
|