jekyll-geolexica 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71d15e10d8832700e6e8feaa23a0347069e4e7c0482d633ae46fe66cd66bbba2
4
- data.tar.gz: 8ebe077ef66a74ec5378843be25a6d6a52e3e41a7b42d4b66befb87574f8be9a
3
+ metadata.gz: e9bd91cb309055026c71c87645e7196ff3d4b3116de988a8499ef49805b6f72b
4
+ data.tar.gz: 6c2a5bebd531945f9d75f9e7c64e515b6292fd488b81a157421aa4852e62cb15
5
5
  SHA512:
6
- metadata.gz: d969b0ffae0eb1435f49152892b4484282ce3093e867c8f18ac5e69241bbaad52f16675987e399e9d081e8ae366f4d7efec6bba6932c67570fb8a2868b4c1cae
7
- data.tar.gz: 95f6c35f08e6baf7c7e3129e65473f7ed0fd6790a03593dbb86944f4f6f0597341f6493b747395d29c3f9f997f0978754d6ae17153754015b4b7f5139bd284af
6
+ metadata.gz: e90fb75be8eb7f4b77ea2cd5801da1e3678c43837686130ddecce1917a7a8b23596574d973f5d8795a899562e3eab91407c520fda05492d39288fd3d60d2c480
7
+ data.tar.gz: 55b7408414a081804d8c2f6b988f79a21f7ced484a8acc4fb57d29cb762b1e043459a25545a10bbb4e2f90b2250a7312fa677ff9baf0e3cd799b4597f522d54d
@@ -13,7 +13,22 @@
13
13
  };
14
14
 
15
15
  var replace_math_symb = function(s){
16
- return s.replace(/(`[^`]+`)/g, '<<math_symbol>>');
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.innerText) + '\r\n\r\n';
61
+ textToCopy = textToCopy + replace_math_symb(_elm) + '\r\n\r\n';
47
62
  };
48
63
  };
49
64
 
@@ -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
@@ -3,6 +3,6 @@
3
3
 
4
4
  module Jekyll
5
5
  module Geolexica
6
- VERSION = "1.9.1".freeze
6
+ VERSION = "1.9.2".freeze
7
7
  end
8
8
  end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "jekyll"
5
5
  require "glossarist"
6
+ require "plurimath"
6
7
 
7
8
  module Jekyll
8
9
  module Geolexica
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.1
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-21 00:00:00.000000000 Z
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