jekyll-geolexica 1.9.1 → 1.9.2
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/_includes/script.html +17 -2
- data/jekyll-geolexica.gemspec +2 -0
- data/lib/jekyll/geolexica/hooks.rb +21 -0
- data/lib/jekyll/geolexica/version.rb +1 -1
- data/lib/jekyll/geolexica.rb +1 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9bd91cb309055026c71c87645e7196ff3d4b3116de988a8499ef49805b6f72b
|
4
|
+
data.tar.gz: 6c2a5bebd531945f9d75f9e7c64e515b6292fd488b81a157421aa4852e62cb15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e90fb75be8eb7f4b77ea2cd5801da1e3678c43837686130ddecce1917a7a8b23596574d973f5d8795a899562e3eab91407c520fda05492d39288fd3d60d2c480
|
7
|
+
data.tar.gz: 55b7408414a081804d8c2f6b988f79a21f7ced484a8acc4fb57d29cb762b1e043459a25545a10bbb4e2f90b2250a7312fa677ff9baf0e3cd799b4597f522d54d
|
data/_includes/script.html
CHANGED
@@ -13,7 +13,22 @@
|
|
13
13
|
};
|
14
14
|
|
15
15
|
var replace_math_symb = function(s){
|
16
|
-
|
16
|
+
// replace mathjax
|
17
|
+
mathjax_containers = s.querySelectorAll('math, mjx-container');
|
18
|
+
|
19
|
+
if(mathjax_containers.length > 0) {
|
20
|
+
s = s.cloneNode(true);
|
21
|
+
s.querySelectorAll('math, mjx-container').forEach(container => {
|
22
|
+
container.replaceWith('<<math_symbol>>');
|
23
|
+
});
|
24
|
+
}
|
25
|
+
|
26
|
+
text = s.innerText;
|
27
|
+
|
28
|
+
// replace asciimath
|
29
|
+
text = text.replace(/(`[^`]+`)/g, '<<math_symbol>>');
|
30
|
+
|
31
|
+
return text;
|
17
32
|
};
|
18
33
|
|
19
34
|
var copyBtn = d.getElementById('engTermCopy');
|
@@ -43,7 +58,7 @@
|
|
43
58
|
for (var _elm of elmsToCopy) {
|
44
59
|
if (_elm.innerText.trim().length > 0) {
|
45
60
|
// textToCopy = textToCopy + _elm.innerText + '\r\n\r\n';
|
46
|
-
textToCopy = textToCopy + replace_math_symb(_elm
|
61
|
+
textToCopy = textToCopy + replace_math_symb(_elm) + '\r\n\r\n';
|
47
62
|
};
|
48
63
|
};
|
49
64
|
|
data/jekyll-geolexica.gemspec
CHANGED
@@ -47,6 +47,8 @@ Gem::Specification.new do |spec|
|
|
47
47
|
# Pin logger to <= 1.5.3 due to incompatibility of logger 1.6.0 with Jekyll 4.3.2
|
48
48
|
spec.add_runtime_dependency "logger", "<= 1.5.3"
|
49
49
|
spec.add_runtime_dependency "relaton"
|
50
|
+
spec.add_runtime_dependency "unitsml"
|
51
|
+
spec.add_runtime_dependency "plurimath"
|
50
52
|
|
51
53
|
# Zeitwerk::Loader#push_dir supports :namespace argument from v. 2.4.
|
52
54
|
spec.add_runtime_dependency "zeitwerk", "~> 2.4"
|
@@ -11,6 +11,7 @@ module Jekyll
|
|
11
11
|
hook :post_read, :site, :load_glossary
|
12
12
|
hook :pre_render, :documents, :expose_glossary
|
13
13
|
hook :pre_render, :pages, :expose_glossary
|
14
|
+
hook :post_render, :pages, :convert_math
|
14
15
|
end
|
15
16
|
|
16
17
|
# Adds Jekyll::Site#glossary method, and initializes an empty glossary.
|
@@ -28,6 +29,26 @@ module Jekyll
|
|
28
29
|
liquid_drop["glossary"] = page_or_document.site.glossary
|
29
30
|
end
|
30
31
|
|
32
|
+
def convert_math(page)
|
33
|
+
page.output.gsub!(/stem:\[([^\]]*?)\]/) do
|
34
|
+
ascii_equation = CGI.unescapeHTML(Regexp.last_match[1])
|
35
|
+
|
36
|
+
mathml_equation = ::Plurimath::Math
|
37
|
+
.parse(ascii_equation, :asciimath)
|
38
|
+
.to_mathml
|
39
|
+
|
40
|
+
# temporary hack to use display inline for math equations because
|
41
|
+
# currently there is no option to use display inline in plurimath
|
42
|
+
mathml_equation.gsub!("display=\"block\"", "display=\"inline\"")
|
43
|
+
|
44
|
+
# Removing newlines(\n) and escaping double quotes(")
|
45
|
+
# because they will cause parsing issues in json
|
46
|
+
mathml_equation.gsub!("\n", "").gsub!("\"", "\\\"") unless page.html?
|
47
|
+
|
48
|
+
mathml_equation
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
31
52
|
def hook event, target, action
|
32
53
|
Jekyll::Hooks.register target, event, &method(action)
|
33
54
|
end
|
data/lib/jekyll/geolexica.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-geolexica
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03-
|
11
|
+
date: 2024-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glossarist
|
@@ -106,6 +106,34 @@ dependencies:
|
|
106
106
|
- - ">="
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: unitsml
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
type: :runtime
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: plurimath
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
type: :runtime
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
109
137
|
- !ruby/object:Gem::Dependency
|
110
138
|
name: zeitwerk
|
111
139
|
requirement: !ruby/object:Gem::Requirement
|