jekyll-microtypo 0.2.5 → 1.1.0

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