jekyll-t4j 0.2.0 → 0.2.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: 13b22b3158377122a8dee5d55e4d57e64dd379ca6dc1af6940fc1eb64bbed5f7
4
- data.tar.gz: 6a5b3a578efa74a2f0783301f7b8fa1c3211a0678bc9ad6cea73913cd12b516b
3
+ metadata.gz: 373ef8ace0a1a10dc58cbc1bcb3eb0441cf66894ad27b3a30c87dc2fef6f669d
4
+ data.tar.gz: a3397303ce58f5b728608e65a2c28ca9eca192d73a6bb9a0dffe243bc8ea2862
5
5
  SHA512:
6
- metadata.gz: c023286c3b5de954fdec9909e4abccfd4bf8f3b81b9208c616f5c17ef515ad500ab19f9de76b88df47e7eec8389e0eae8512b3f30112c1638bc8dfdd598fc45b
7
- data.tar.gz: ff9007ddaedc4bd5839a8ae51523ebc0c188a0188f17d7506c51cbb03f1706dc96e6ac9e70de76a77c40050b9b1d86fd6a9a2790bfa4f4ef33cec0593a82be5c
6
+ metadata.gz: 802513ceba69d9729273fa2928b70c7011bf8bd5f9f0756ba89b0d10bb43f8266c27152a3ed1d926f29af41c42e55fbeae6dffdc1bc4c47f33ff10dde08b3a01
7
+ data.tar.gz: e3fd8c11ed01a7f25e68d323ac86e4d698e2c2de598c89e8b999d3f8889be0ed9c37b3620f64cd28a9eee926fd37f97daede90b906bf42d807118fa57949b3bf
@@ -16,7 +16,7 @@ module Jekyll::T4J
16
16
  unless has_tex?
17
17
  STDERR.puts "You are missing a TeX distribution. Please install:"
18
18
  STDERR.puts " MiKTeX or TeX Live"
19
- raise Errors::FatalException.new("Missing TeX distribution")
19
+ raise "Missing TeX distribution"
20
20
  end
21
21
  end
22
22
  end
@@ -14,11 +14,13 @@ module Jekyll::T4J
14
14
  ).freeze
15
15
 
16
16
  TEXT_TEX_MASK = Regexp.union(
17
- /\\\([\s\S]*?\\\)/,
18
- /\\\[[\s\S]*?\\\]/
17
+ /\\\[([\s\S]*?)\\\]/,
18
+ /\$\$([\s\S]*?)\$\$/,
19
+ /\\\(([\s\S]*?)\\\)/,
20
+ /\$([\s\S]*?)\$/
19
21
  ).freeze
20
22
 
21
- def self.mask(str, reg)
23
+ def self.mask(str, reg, capture = false)
22
24
  s = StringScanner.new str
23
25
  parts = []
24
26
 
@@ -29,8 +31,8 @@ module Jekyll::T4J
29
31
  if m then
30
32
  p1 = s.charpos - s.matched.size - 1
31
33
 
32
- parts << [str[p0..p1], true] unless p1 <= p0
33
- parts << [s.matched, false]
34
+ parts << [str[p0..p1], true] unless p1 < p0
35
+ parts << (capture ? [s.matched, false, s.captures] : [s.matched, false])
34
36
  else
35
37
  parts << [str[p0..-1], true]
36
38
  break
@@ -44,22 +46,26 @@ end
44
46
  Jekyll::Hooks.register :documents, :post_render do |doc|
45
47
  result = String.new
46
48
 
47
- gen = -> (s) {
48
- is_inline = s.start_with?("\\(")
49
+ gen = -> (s, is_display) {
50
+ s.strip!
51
+ return "" if s.empty?
49
52
 
50
- s.prepend "\\documentclass{article}#{Jekyll::T4J.cfg_pkgs}\\begin{document}\\pagenumbering{gobble}"
51
- s << "\\end{document}"
53
+ s.prepend "\\documentclass{article}#{Jekyll::T4J.cfg_pkgs}\\begin{document}\\pagenumbering{gobble}\\begin{math}"
54
+ s << "\\end{math}\\end{document}"
52
55
  s = Jekyll::T4J::Engines.dvisvgm(s)
53
56
 
54
57
  "<img src=\"#{Jekyll::T4J::Merger.ask_for_merge(doc.url, s, "svg")}\" style=\"#{
55
- is_inline ? "display:inline;height:1.1em;" : "display:block;margin:0 auto;height:calc(0.1em * #{s[/height='(\S+?)pt'/, 1]});"
56
- }\">"
58
+ is_display ? "display:block;margin:0 auto" : "display:inline;vertical-align:middle"
59
+ };height:#{(s[/height='(\S+?)pt'/, 1].to_f * 0.1).to_s}em\">"
57
60
  }
58
61
 
59
62
  for p0 in Jekyll::T4J.mask(doc.output, Jekyll::T4J::HTML_TEXT_MASK)
60
63
  if p0[1] then
61
- for p1 in Jekyll::T4J.mask(p0[0], Jekyll::T4J::TEXT_TEX_MASK)
62
- p1[0] = gen.(CGI::unescapeHTML p1[0]) if not p1[1]
64
+ for p1 in Jekyll::T4J.mask(p0[0], Jekyll::T4J::TEXT_TEX_MASK, true)
65
+ p1[2].each_index {|i|
66
+ c = p1[2][i]
67
+ p1[0] = gen.(CGI::unescapeHTML(c), i < 2) if not c.empty?
68
+ } if not p1[1]
63
69
 
64
70
  result << p1[0]
65
71
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module T4J
5
- VERSION = "0.2.0"
5
+ VERSION = "0.2.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-t4j
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - crow02531