jekyll-microtypo 0.2.5 → 1.1.0

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: a2ab05872463ebdd3f45ebfa7365e68a8d45aea5b7ee7245c5932608e3ade313
4
- data.tar.gz: 73d4f27633420d6c7cfbff9c5be5922688bdecdcf97ec2dac2ad56476d0a8faf
3
+ metadata.gz: 0733bfc59f0407baf0ee6d906665534f4f728f801cdd44066c142f04b9826401
4
+ data.tar.gz: 1a86bc66d21a156d8e6e14fd0cbac689a1f29365370196921cf36c7816e06b0e
5
5
  SHA512:
6
- metadata.gz: 448189a55536568d098270a3b32c1d27aded9cdb90263302d54c7b30e3cbb04c753275a4f57a9232762f670c20381a10258578d43286501fed1f9e35a1c4a14e
7
- data.tar.gz: eb3034af15ac6035d1f7f531329c67885b4402c1b216afa3029177e945ca0ac3ed0d4642e8f31c93e885fa3d61b772ae72eed280365764706649ca15036a5636
6
+ metadata.gz: b8b08333813e62fa5a3588c4ac3c1082dc996390fe923c9e63677ac5905c0a367e41ffc7f46bf9406dfeae61f3e21c3378e576434764f4be91c19ca753a7c3c1
7
+ data.tar.gz: 698fc177f7a207f7314710fd01713c6854a8ca74c82587d44dc2449e3b2fe9c04c65aea00a7d01710dc4c98d00f09dd0258e1a3da49a40dd60e5234360364a5d
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Microtypo
5
- VERSION = "0.2.5".freeze
5
+ VERSION = "1.1.0".freeze
6
6
  end
7
7
  end
@@ -24,108 +24,132 @@ module Jekyll
24
24
  # <pre></pre> management
25
25
  # Replace \n in <pre> by <br />\n in order to keep line break visualy
26
26
  pre_array = input.to_s.split('<pre'.freeze)
27
- pre_array.each do |input|
28
- end_pre_array = input.to_s.split('</pre>'.freeze)
27
+ pre_array.each do |input_pre|
28
+ end_pre_array = input_pre.to_s.split('</pre>'.freeze)
29
29
  if end_pre_array.size == 2
30
30
  array_response.push('<pre'.freeze)
31
31
  array_response.push(end_pre_array.first)
32
32
  array_response.push('</pre>'.freeze)
33
33
  end
34
- input = end_pre_array.last
34
+ input_pre = end_pre_array.last
35
35
 
36
36
  # <!-- nomicrotypo --><!-- endnomicrotypo --> management
37
- no_fix_comment_array = input.to_s.split('<!-- nomicrotypo -->'.freeze)
38
- no_fix_comment_array.each do |input|
39
- endno_fix_comment_array = input.to_s.split('<!-- endnomicrotypo -->'.freeze)
37
+ no_fix_comment_array = input_pre.to_s.split('<!-- nomicrotypo -->'.freeze)
38
+ no_fix_comment_array.each do |input_fix|
39
+ endno_fix_comment_array = input_fix.to_s.split('<!-- endnomicrotypo -->'.freeze)
40
40
  if endno_fix_comment_array.size == 2
41
41
  array_response.push(endno_fix_comment_array.first)
42
42
  end
43
- input = endno_fix_comment_array.last
44
-
45
- # <script></script> management
46
- script_array = input.to_s.split('<script'.freeze)
47
- script_array.each do |input|
48
- end_script_array = input.to_s.split('</script>'.freeze)
49
- if end_script_array.size == 2
50
- array_response.push('<script'.freeze)
51
- array_response.push(end_script_array.first)
52
- array_response.push('</script>'.freeze)
43
+ input_fix = endno_fix_comment_array.last
44
+
45
+ # <code></code> management
46
+ style_array = input_fix.to_s.split('<style'.freeze)
47
+ style_array.each do |input_style|
48
+ end_style_array = input_style.to_s.split('</style>'.freeze)
49
+ if end_style_array.size == 2
50
+ array_response.push('<style'.freeze)
51
+ array_response.push(end_style_array.first)
52
+ array_response.push('</style>'.freeze)
53
53
  end
54
- input = end_script_array.last
54
+ input_style = end_style_array.last
55
+
56
+ # <code></code> management
57
+ code_array = input_style.to_s.split('<code'.freeze)
58
+ code_array.each do |input_code|
59
+ end_code_array = input_code.to_s.split('</code>'.freeze)
60
+ if end_code_array.size == 2
61
+ array_response.push('<code'.freeze)
62
+ array_response.push(end_code_array.first)
63
+ array_response.push('</code>'.freeze)
64
+ end
65
+ input_code = end_code_array.last
55
66
 
56
- if locale == 'fr_FR'
67
+ # <script></script> management
68
+ script_array = input_code.to_s.split('<script'.freeze)
69
+ script_array.each do |input|
70
+ end_script_array = input.to_s.split('</script>'.freeze)
71
+ if end_script_array.size == 2
72
+ array_response.push('<script'.freeze)
73
+ array_response.push(end_script_array.first)
74
+ array_response.push('</script>'.freeze)
75
+ end
76
+ input = end_script_array.last
57
77
 
58
- # Ordinals
59
- input.gsub!(/(\s)(\d)+(e|è)(r|me)?([\s.,])/, '\1\2<sup>\3\4</sup>\5'.freeze)
78
+ if locale == 'fr_FR'
60
79
 
61
- # Num
62
- input.gsub!(/n°\s*(\d)/, 'n<sup>o</sup>&#8239;\1'.freeze)
80
+ # Ordinals
81
+ input.gsub!(/(\s)(\d)+(e|è)(r|me)?([\s.,])/, '\1\2<sup>\3\4</sup>\5'.freeze)
63
82
 
64
- # French Guillemets
65
- input.gsub!(/(&rdquo;|”|»)<a /, '«&#8239;<a '.freeze)
66
- input.gsub!(/(&ldquo;|“|«)(?!&#8239;)(\s|&nbsp;| )*/, '«&#8239;'.freeze)
67
- input.gsub!(/(\s|&nbsp;| )*(?!&#8239;)(&rdquo;|”|»)/, '&#8239;»'.freeze)
83
+ # Num
84
+ input.gsub!(/n°\s*(\d)/, 'n<sup>o</sup>&#8239;\1'.freeze)
68
85
 
69
- # Point median
86
+ # French Guillemets
87
+ input.gsub!(/(&rdquo;|”|»)<a /, '«&#8239;<a '.freeze)
88
+ input.gsub!(/(&ldquo;|“|«)(?!&#8239;)(\s|&nbsp;| )*/, '«&#8239;'.freeze)
89
+ input.gsub!(/(\s|&nbsp;| )*(?!&#8239;)(&rdquo;|”|»)/, '&#8239;»'.freeze)
70
90
 
71
- if settings['median'] == true
72
- input.gsub!(/(\p{L}+)(·\p{L}+)((·)(\p{L}+))?/, '\1<span aria-hidden="true">\2\4</span>\5'.freeze)
73
- end
91
+ # Point median
74
92
 
75
- # Special punctuation
76
- input.gsub!(/(\s)+\?\!([^\w]|$)/, '&#8239;&#8264;\2'.freeze)
77
- input.gsub!(/(\s)+\!\?([^\w]|$)/, '&#8239;&#8265;\2'.freeze)
78
- input.gsub!(/(\s)+\!\!\!([^\w]|$)/, '&#8239;&#8252;\2'.freeze)
79
- input.gsub!(/(\s)+\!\!([^\w]|$)/, '&#8239;&#8252;\2'.freeze)
93
+ if settings['median'] == true
94
+ input.gsub!(/(\p{L}+)(·\p{L}+)((·)(\p{L}+))?/, '\1<span aria-hidden="true">\2\4</span>\5'.freeze)
95
+ end
80
96
 
81
- # Times
82
- input.gsub!(/(\s)+(\d+)(\s)*x(\s)*(?=\d)/, '\1\2&nbsp;&times;&nbsp;\5'.freeze)
97
+ # Special punctuation
98
+ input.gsub!(/(\s)+\?\!([^\w]|$)/, '&#8239;&#8264;\2'.freeze)
99
+ input.gsub!(/(\s)+\!\?([^\w]|$)/, '&#8239;&#8265;\2'.freeze)
100
+ input.gsub!(/(\s)+\!\!\!([^\w]|$)/, '&#8239;&#8252;\2'.freeze)
101
+ input.gsub!(/(\s)+\!\!([^\w]|$)/, '&#8239;&#8252;\2'.freeze)
83
102
 
84
- # Non-breaking space before '%' and units (< 4 letters)…
85
- input.gsub!(/(\s)+(\d+)(\s)+([[:alpha:]]|%)/, '\1\2&nbsp;\4\5'.freeze)
103
+ # Times
104
+ input.gsub!(/(\s)+(\d+)(\s)*x(\s)*(?=\d)/, '\1\2&nbsp;&times;&nbsp;\5'.freeze)
86
105
 
87
- # Thin non-breaking space before ;', '!', '?'
88
- input.gsub!(/ (;|\!|\?)([^\w!]|$)/, '&#8239;\1\2'.freeze)
106
+ # Non-breaking space before '%' and units (< 4 letters)…
107
+ input.gsub!(/(\s)+(\d+)(\s)+([[:alpha:]]|%)/, '\1\2&nbsp;\4\5'.freeze)
89
108
 
90
- # non-breaking space
91
- input.gsub!(' :'.freeze, '&nbsp;:'.freeze)
109
+ # Thin non-breaking space before ;', '!', '?'
110
+ input.gsub!(/ (;|\!|\?)([^\w!]|$)/, '&#8239;\1\2'.freeze)
92
111
 
93
- # Currencies
94
- input.gsub!(/(\d+)\s*($|€)/, '\1&nbsp;\2'.freeze)
112
+ # non-breaking space
113
+ input.gsub!(' :'.freeze, '&nbsp;:'.freeze)
95
114
 
96
- # nbsp after middle dash (dialogs)
97
- input.gsub!(/(—|&mdash;)(\s)/, '\1&nbsp;'.freeze)
115
+ # Currencies
116
+ input.gsub!(/(\d+)\s*($|€)/, '\1&nbsp;\2'.freeze)
98
117
 
99
- elsif locale == 'en_US'
118
+ # nbsp after middle dash (dialogs)
119
+ input.gsub!(/(—|&mdash;)(\s)/, '\1&nbsp;'.freeze)
100
120
 
101
- # Remove useless spaces
102
- input.gsub!(/ (:|%|;|\!|\?)([^\w!]|$)/, '\1\2'.freeze)
121
+ elsif locale == 'en_US'
103
122
 
104
- # Currencies
105
- input.gsub!(/($|€)\s*(\d+)/, '\1\2'.freeze)
123
+ # Remove useless spaces
124
+ input.gsub!(/ (:|%|;|\!|\?)([^\w!]|$)/, '\1\2'.freeze)
106
125
 
107
- end
126
+ # Currencies
127
+ input.gsub!(/($|€)\s*(\d+)/, '\1\2'.freeze)
108
128
 
109
- # single quotes
110
- input.gsub!(/(\s)'([[:alpha:]])/, '\1‘\2'.freeze)
111
- input.gsub!(/([[:alpha:]])'(\s)/, '\1’\2'.freeze)
112
- input.gsub!(/(\d)''/, '\1’’'.freeze)
113
- input.gsub!(/(\d)'/, '\1’'.freeze)
129
+ end
114
130
 
115
- # Apostrophe
116
- input.gsub!(/([[:alpha:]])'([[:alpha:]])/, '\1’\2'.freeze)
131
+ # single quotes
132
+ input.gsub!(/(\s)'([[:alpha:]])/, '\1‘\2'.freeze)
133
+ input.gsub!(/([[:alpha:]])'(\s)/, '\1’\2'.freeze)
134
+ input.gsub!(/(\d)''/, '\1’’'.freeze)
135
+ input.gsub!(/(\d)'/, '\1’'.freeze)
117
136
 
118
- # Elipsis
119
- input.gsub!('...', '&#8230;'.freeze)
137
+ # Apostrophe
138
+ input.gsub!(/([[:alpha:]])'([[:alpha:]])/, '\1’\2'.freeze)
120
139
 
121
- # Special characters
122
- input.gsub!(/\([c|C]\)/, '©'.freeze)
123
- input.gsub!(/\([p|P]\)/, '℗'.freeze)
124
- input.gsub!(/\([r|R]\)/, '®'.freeze)
125
- input.gsub!(/\((tm|TM)\)/, '™'.freeze)
126
- input.gsub!(/\+-/, '±'.freeze)
140
+ # Elipsis
141
+ input.gsub!('...', '&#8230;'.freeze)
127
142
 
128
- array_response.push input
143
+ # Special characters
144
+ input.gsub!(/\([c|C]\)/, '©'.freeze)
145
+ input.gsub!(/\([p|P]\)/, '℗'.freeze)
146
+ input.gsub!(/\([r|R]\)/, '®'.freeze)
147
+ input.gsub!(/\((tm|TM)\)/, '™'.freeze)
148
+ input.gsub!(/\+-/, '±'.freeze)
149
+
150
+ array_response.push input
151
+ end
152
+ end
129
153
  end
130
154
  end
131
155
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-microtypo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boris Schapira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-02 00:00:00.000000000 Z
11
+ date: 2019-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  requirements: []
128
- rubygems_version: 3.0.2
128
+ rubygems_version: 3.0.3
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: Jekyll plugin that improves microtypography