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 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