html-pipeline-linuxfr 0.14.16 → 0.14.17

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
  SHA1:
3
- metadata.gz: 796b1191f5eef6a2771d0470018eb22958bec34d
4
- data.tar.gz: fdc36f6f11c0ef21c566d52cbe419a674d5835ac
3
+ metadata.gz: 91758200c32929a358224d57f9b4c9a605828592
4
+ data.tar.gz: e1bb9b7188af2ea0a82fbe87541370784187de92
5
5
  SHA512:
6
- metadata.gz: 5eb14d20231b8976a27338e7ba89f14f9130e58ac2ee1142f058eab638b5957bb8c97c20340c5a0ac491870487cb9e021cfbba514d561696e8403e42fde0a445
7
- data.tar.gz: f539d030879ca2102f69613043b907b5d3cc3ae8edd23ca541206245454ca5a6113fff41202833a95308cd366fd8f691634bed2c49564d3ab194ad0829b1437e
6
+ metadata.gz: 800cd8164579dde57468761e943477199902941ba962bb5e1d5082c5c0835823c0099bde1ffeeaae876c4fec3edc368090d95d0c5d9697727f9b3b812cf40294
7
+ data.tar.gz: 0b5b66aa3ebe6cf96e84c6393c74f68c7b0b6ef3523866743dd12cd7dc6348f23fb2bf9736b3834a85f8e24315c856444661433dfca92a55c44033a9e938b883
@@ -11,15 +11,18 @@ module HTML
11
11
  def initialize(text, context = nil, result = nil)
12
12
  super text, context, result
13
13
  @text = @text.gsub "\r", ''
14
+ @inline = {}
14
15
  @codemap = {}
15
16
  end
16
17
 
17
18
  def call
18
- extract_code!
19
+ extract_fenced_code!
20
+ extract_indented_code!
19
21
  @text.gsub!(/^\$\$([^$]+)\$\$\s*$/) do
20
22
  "\n\n```mathjax\n\\displaystyle{#{$1.gsub "\\", "\\\\\\\\"}}\n```\n\n"
21
23
  end
22
- extract_code!
24
+ extract_fenced_code!
25
+ extract_inline_code!
23
26
  @text.gsub!(/\$([^$\n]+)\$/) do
24
27
  "`{mathjax} #{$1}`"
25
28
  end
@@ -27,8 +30,24 @@ module HTML
27
30
  @text
28
31
  end
29
32
 
33
+ def extract_inline_code!
34
+ @text.gsub!(/`(.*)`/) do
35
+ id = Digest::SHA1.hexdigest($1)
36
+ @inline[id] = $1
37
+ id
38
+ end
39
+ end
40
+
41
+ def extract_indented_code!
42
+ @text.gsub!(/(\A|^\r?\n)(((\t|\s{4}).*)+)\r?(\n$|\Z)/) do
43
+ id = Digest::SHA1.hexdigest($2)
44
+ @codemap[id] = { :code => $2 }
45
+ "\n#{id}"
46
+ end
47
+ end
48
+
30
49
  # Code taken from gollum (http://github.com/github/gollum)
31
- def extract_code!
50
+ def extract_fenced_code!
32
51
  @text.gsub!(/^``` ?(.*?)\r?\n(.+?)\r?\n```\r?$/m) do
33
52
  id = Digest::SHA1.hexdigest($2)
34
53
  @codemap[id] = { :lang => $1, :code => $2 }
@@ -37,8 +56,11 @@ module HTML
37
56
  end
38
57
 
39
58
  def reinsert_code!
59
+ @inline.each do |id, code|
60
+ @text.gsub!(id) { "`#{code}`" }
61
+ end
40
62
  @codemap.each do |id, spec|
41
- @text.gsub!(id, "```#{spec[:lang]}\n#{spec[:code]}\n```")
63
+ @text.gsub!(id) { "```#{spec[:lang]}\n#{spec[:code]}\n```" }
42
64
  end
43
65
  end
44
66
  end
@@ -26,7 +26,7 @@ module HTML
26
26
  end
27
27
 
28
28
  def highlight_with_timeout_handling(lexer, text)
29
- lexer.highlight(text, options: { nowrap: true })
29
+ lexer.highlight(text, options: { nowrap: true, startinline: true })
30
30
  rescue Timeout::Error
31
31
  nil
32
32
  end
@@ -1,5 +1,5 @@
1
1
  module HTML
2
2
  class Pipeline
3
- VERSION = "0.14.16"
3
+ VERSION = "0.14.17"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html-pipeline-linuxfr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.16
4
+ version: 0.14.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Tomayko
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-03-12 00:00:00.000000000 Z
13
+ date: 2014-03-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri