mathml2latex 1.0.0 → 2.0.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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/Rakefile +2 -0
- data/lib/mathml2latex.rb +4 -4
- data/lib/mathml2latex/mathml_latex_service.rb +5 -2
- data/lib/mathml2latex/symbols.rb +2 -0
- data/lib/mathml2latex/version.rb +3 -1
- data/lib/mathml2latex/xslt_functions.rb +3 -1
- data/spec/lib/mathml2latex/mathml_latex_service_spec.rb +2 -0
- data/spec/lib/mathml2latex/xslt_functions_spec.rb +3 -1
- data/spec/mathml2latex_spec.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- metadata +24 -47
- data/spec/gemfiles/rails-5.0.gemfile +0 -5
- data/spec/gemfiles/rails-5.1.gemfile +0 -5
- data/spec/gemfiles/rails-5.2.gemfile +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f1b5a055ad411f14d251f7036cc40ece43c1359
|
4
|
+
data.tar.gz: 737d994da57aef5034d5c667c5a0b0f39a35538d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0d8bc7e88c43be52a98f5a9c5af149a0259f1dfa513ecce36015fd8ba4729582c876da5cc108282909d926566fedebb6061c942e2be0a17adf63efc18f2c2c9
|
7
|
+
data.tar.gz: 64823e5ff3252328faa22ea5d9746fe080c2cb102332c45d0e288581ea44c2da5e9919601767bdda68c6fed64b0cffdcf89398f5d8426016f973526b9bdaa564
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ docker-compose run --rm app
|
|
29
29
|
```
|
30
30
|
|
31
31
|
This will install the gem in a docker image with all versions of Ruby installed,
|
32
|
-
and install all gem dependencies in the Ruby 2.
|
32
|
+
and install all gem dependencies in the Ruby 2.6 set of gems. Then it will run
|
33
33
|
[wwtd](https://github.com/grosser/wwtd), which runs all specs across all
|
34
34
|
supported versions of Ruby and gem dependencies.
|
35
35
|
|
@@ -40,14 +40,14 @@ Individual spec runs can be started like so:
|
|
40
40
|
|
41
41
|
```bash
|
42
42
|
docker-compose run --rm app bash -l -c \
|
43
|
-
"rvm-exec 2.
|
43
|
+
"rvm-exec 2.6 bundle exec rspec"
|
44
44
|
```
|
45
45
|
|
46
46
|
You can also pull up an interactive console:
|
47
47
|
|
48
48
|
```bash
|
49
49
|
docker-compose run --rm app bash -l -c \
|
50
|
-
"rvm-exec 2.
|
50
|
+
"rvm-exec 2.6 bundle exec rake console"
|
51
51
|
```
|
52
52
|
|
53
53
|
If you'd like to mount your git checkout within the docker container running
|
data/Rakefile
CHANGED
data/lib/mathml2latex.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'nokogiri'
|
2
4
|
require 'mathml2latex/mathml_latex_service'
|
3
|
-
require 'active_support'
|
4
|
-
require 'active_support/core_ext'
|
5
5
|
|
6
6
|
module Mathml2latex
|
7
|
-
MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'
|
8
|
-
INSTUCTURE_LATEX_NS = 'http://instructure.com/latex'
|
7
|
+
MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'
|
8
|
+
INSTUCTURE_LATEX_NS = 'http://instructure.com/latex'
|
9
9
|
|
10
10
|
class Converter
|
11
11
|
def initialize
|
@@ -1,7 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'mathml2latex/xslt_functions'
|
2
4
|
|
3
5
|
module Mathml2latex
|
4
|
-
INSTUCTURE_NAMESPACE = 'http://instructure.com/functions'
|
6
|
+
INSTUCTURE_NAMESPACE = 'http://instructure.com/functions'
|
5
7
|
|
6
8
|
class MathmlLatexService
|
7
9
|
@xslt = nil
|
@@ -28,11 +30,12 @@ module Mathml2latex
|
|
28
30
|
private
|
29
31
|
|
30
32
|
def initialized?
|
31
|
-
|
33
|
+
!@xslt.nil?
|
32
34
|
end
|
33
35
|
|
34
36
|
def setup_xslt
|
35
37
|
return if initialized?
|
38
|
+
|
36
39
|
Nokogiri::XSLT.register Mathml2latex::INSTUCTURE_NAMESPACE, XsltFunctions
|
37
40
|
path = File.join(File.dirname(__FILE__), 'xslt', 'mml2latex.xsl')
|
38
41
|
@xslt = Nokogiri::XSLT(File.open(path))
|
data/lib/mathml2latex/symbols.rb
CHANGED
data/lib/mathml2latex/version.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# provide regex operations to xslt
|
2
4
|
# regex is not available to xslt 1.0
|
3
5
|
require 'mathml2latex/symbols.rb'
|
@@ -16,7 +18,7 @@ module Mathml2latex
|
|
16
18
|
end
|
17
19
|
|
18
20
|
def fetch_symbols(str)
|
19
|
-
ret_str = ''
|
21
|
+
ret_str = ''.dup
|
20
22
|
str.each_char do |character|
|
21
23
|
key = character.chr.ord
|
22
24
|
val = Mathml2latex::SYMBOLS[key]
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
RSpec.describe Mathml2latex::XsltFunctions do
|
@@ -21,7 +23,7 @@ RSpec.describe Mathml2latex::XsltFunctions do
|
|
21
23
|
|
22
24
|
describe '#fetch_symbols' do
|
23
25
|
let(:str) do
|
24
|
-
s = ''
|
26
|
+
s = ''.dup
|
25
27
|
s << "\u2a5e".encode('utf-8')
|
26
28
|
s << 'A'
|
27
29
|
s << "\u225e".encode('utf-8')
|
data/spec/mathml2latex_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,91 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mathml2latex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Han Yan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: activesupport
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 5.0.7
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '5.3'
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 5.0.7
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '5.3'
|
33
13
|
- !ruby/object:Gem::Dependency
|
34
14
|
name: nokogiri
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
36
16
|
requirements:
|
37
|
-
- - "
|
17
|
+
- - "~>"
|
38
18
|
- !ruby/object:Gem::Version
|
39
|
-
version: 1.
|
19
|
+
version: '1.10'
|
40
20
|
type: :runtime
|
41
21
|
prerelease: false
|
42
22
|
version_requirements: !ruby/object:Gem::Requirement
|
43
23
|
requirements:
|
44
|
-
- - "
|
24
|
+
- - "~>"
|
45
25
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
26
|
+
version: '1.10'
|
47
27
|
- !ruby/object:Gem::Dependency
|
48
28
|
name: bundler
|
49
29
|
requirement: !ruby/object:Gem::Requirement
|
50
30
|
requirements:
|
51
31
|
- - "~>"
|
52
32
|
- !ruby/object:Gem::Version
|
53
|
-
version: '1.
|
33
|
+
version: '1.17'
|
54
34
|
type: :development
|
55
35
|
prerelease: false
|
56
36
|
version_requirements: !ruby/object:Gem::Requirement
|
57
37
|
requirements:
|
58
38
|
- - "~>"
|
59
39
|
- !ruby/object:Gem::Version
|
60
|
-
version: '1.
|
40
|
+
version: '1.17'
|
61
41
|
- !ruby/object:Gem::Dependency
|
62
42
|
name: byebug
|
63
43
|
requirement: !ruby/object:Gem::Requirement
|
64
44
|
requirements:
|
65
45
|
- - "~>"
|
66
46
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
47
|
+
version: '11.0'
|
68
48
|
type: :development
|
69
49
|
prerelease: false
|
70
50
|
version_requirements: !ruby/object:Gem::Requirement
|
71
51
|
requirements:
|
72
52
|
- - "~>"
|
73
53
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
54
|
+
version: '11.0'
|
75
55
|
- !ruby/object:Gem::Dependency
|
76
56
|
name: pry
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
78
58
|
requirements:
|
79
|
-
- - "
|
59
|
+
- - ">="
|
80
60
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0
|
61
|
+
version: '0'
|
82
62
|
type: :development
|
83
63
|
prerelease: false
|
84
64
|
version_requirements: !ruby/object:Gem::Requirement
|
85
65
|
requirements:
|
86
|
-
- - "
|
66
|
+
- - ">="
|
87
67
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0
|
68
|
+
version: '0'
|
89
69
|
- !ruby/object:Gem::Dependency
|
90
70
|
name: rake
|
91
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,40 +86,40 @@ dependencies:
|
|
106
86
|
requirements:
|
107
87
|
- - "~>"
|
108
88
|
- !ruby/object:Gem::Version
|
109
|
-
version: '3.
|
89
|
+
version: '3.8'
|
110
90
|
type: :development
|
111
91
|
prerelease: false
|
112
92
|
version_requirements: !ruby/object:Gem::Requirement
|
113
93
|
requirements:
|
114
94
|
- - "~>"
|
115
95
|
- !ruby/object:Gem::Version
|
116
|
-
version: '3.
|
96
|
+
version: '3.8'
|
117
97
|
- !ruby/object:Gem::Dependency
|
118
98
|
name: rubocop
|
119
99
|
requirement: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
101
|
- - "~>"
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.
|
103
|
+
version: 0.74.0
|
124
104
|
type: :development
|
125
105
|
prerelease: false
|
126
106
|
version_requirements: !ruby/object:Gem::Requirement
|
127
107
|
requirements:
|
128
108
|
- - "~>"
|
129
109
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0.
|
110
|
+
version: 0.74.0
|
131
111
|
- !ruby/object:Gem::Dependency
|
132
112
|
name: simplecov
|
133
113
|
requirement: !ruby/object:Gem::Requirement
|
134
114
|
requirements:
|
135
|
-
- - "
|
115
|
+
- - ">="
|
136
116
|
- !ruby/object:Gem::Version
|
137
117
|
version: '0'
|
138
118
|
type: :development
|
139
119
|
prerelease: false
|
140
120
|
version_requirements: !ruby/object:Gem::Requirement
|
141
121
|
requirements:
|
142
|
-
- - "
|
122
|
+
- - ">="
|
143
123
|
- !ruby/object:Gem::Version
|
144
124
|
version: '0'
|
145
125
|
- !ruby/object:Gem::Dependency
|
@@ -148,14 +128,14 @@ dependencies:
|
|
148
128
|
requirements:
|
149
129
|
- - "~>"
|
150
130
|
- !ruby/object:Gem::Version
|
151
|
-
version: '1.
|
131
|
+
version: '1.4'
|
152
132
|
type: :development
|
153
133
|
prerelease: false
|
154
134
|
version_requirements: !ruby/object:Gem::Requirement
|
155
135
|
requirements:
|
156
136
|
- - "~>"
|
157
137
|
- !ruby/object:Gem::Version
|
158
|
-
version: '1.
|
138
|
+
version: '1.4'
|
159
139
|
description:
|
160
140
|
email:
|
161
141
|
- hyan@instructure.com
|
@@ -236,9 +216,6 @@ files:
|
|
236
216
|
- spec/fixtures/basic/under_script_with_brace.xml
|
237
217
|
- spec/fixtures/basic/vector_accent.xml
|
238
218
|
- spec/fixtures/complex/sum_with_nested_matrix.xml
|
239
|
-
- spec/gemfiles/rails-5.0.gemfile
|
240
|
-
- spec/gemfiles/rails-5.1.gemfile
|
241
|
-
- spec/gemfiles/rails-5.2.gemfile
|
242
219
|
- spec/lib/mathml2latex/mathml_latex_service_spec.rb
|
243
220
|
- spec/lib/mathml2latex/xslt_functions_spec.rb
|
244
221
|
- spec/mathml2latex_spec.rb
|
@@ -255,7 +232,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
255
232
|
requirements:
|
256
233
|
- - ">="
|
257
234
|
- !ruby/object:Gem::Version
|
258
|
-
version: '2.
|
235
|
+
version: '2.4'
|
259
236
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
260
237
|
requirements:
|
261
238
|
- - ">="
|
@@ -263,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
240
|
version: '0'
|
264
241
|
requirements: []
|
265
242
|
rubyforge_project:
|
266
|
-
rubygems_version: 2.
|
243
|
+
rubygems_version: 2.5.2.3
|
267
244
|
signing_key:
|
268
245
|
specification_version: 4
|
269
246
|
summary: Translate MathML to LaTeX
|