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 +4 -4
- data/lib/jekyll/microtypo/version.rb +1 -1
- data/lib/jekyll/microtypo.rb +93 -69
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0733bfc59f0407baf0ee6d906665534f4f728f801cdd44066c142f04b9826401
|
4
|
+
data.tar.gz: 1a86bc66d21a156d8e6e14fd0cbac689a1f29365370196921cf36c7816e06b0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8b08333813e62fa5a3588c4ac3c1082dc996390fe923c9e63677ac5905c0a367e41ffc7f46bf9406dfeae61f3e21c3378e576434764f4be91c19ca753a7c3c1
|
7
|
+
data.tar.gz: 698fc177f7a207f7314710fd01713c6854a8ca74c82587d44dc2449e3b2fe9c04c65aea00a7d01710dc4c98d00f09dd0258e1a3da49a40dd60e5234360364a5d
|
data/lib/jekyll/microtypo.rb
CHANGED
@@ -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 |
|
28
|
-
end_pre_array =
|
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
|
-
|
34
|
+
input_pre = end_pre_array.last
|
35
35
|
|
36
36
|
# <!-- nomicrotypo --><!-- endnomicrotypo --> management
|
37
|
-
no_fix_comment_array =
|
38
|
-
no_fix_comment_array.each do |
|
39
|
-
endno_fix_comment_array =
|
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
|
-
|
44
|
-
|
45
|
-
# <
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
if
|
50
|
-
array_response.push('<
|
51
|
-
array_response.push(
|
52
|
-
array_response.push('</
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
62
|
-
|
80
|
+
# Ordinals
|
81
|
+
input.gsub!(/(\s)(\d)+(e|è)(r|me)?([\s.,])/, '\1\2<sup>\3\4</sup>\5'.freeze)
|
63
82
|
|
64
|
-
|
65
|
-
|
66
|
-
input.gsub!(/(“|“|«)(?! )(\s| | )*/, '« '.freeze)
|
67
|
-
input.gsub!(/(\s| | )*(?! )(”|”|»)/, ' »'.freeze)
|
83
|
+
# Num
|
84
|
+
input.gsub!(/n°\s*(\d)/, 'n<sup>o</sup> \1'.freeze)
|
68
85
|
|
69
|
-
|
86
|
+
# French Guillemets
|
87
|
+
input.gsub!(/(”|”|»)<a /, '« <a '.freeze)
|
88
|
+
input.gsub!(/(“|“|«)(?! )(\s| | )*/, '« '.freeze)
|
89
|
+
input.gsub!(/(\s| | )*(?! )(”|”|»)/, ' »'.freeze)
|
70
90
|
|
71
|
-
|
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
|
-
|
76
|
-
|
77
|
-
|
78
|
-
input.gsub!(/(\s)+\!\!\!([^\w]|$)/, ' ‼\2'.freeze)
|
79
|
-
input.gsub!(/(\s)+\!\!([^\w]|$)/, ' ‼\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
|
-
|
82
|
-
|
97
|
+
# Special punctuation
|
98
|
+
input.gsub!(/(\s)+\?\!([^\w]|$)/, ' ⁈\2'.freeze)
|
99
|
+
input.gsub!(/(\s)+\!\?([^\w]|$)/, ' ⁉\2'.freeze)
|
100
|
+
input.gsub!(/(\s)+\!\!\!([^\w]|$)/, ' ‼\2'.freeze)
|
101
|
+
input.gsub!(/(\s)+\!\!([^\w]|$)/, ' ‼\2'.freeze)
|
83
102
|
|
84
|
-
|
85
|
-
|
103
|
+
# Times
|
104
|
+
input.gsub!(/(\s)+(\d+)(\s)*x(\s)*(?=\d)/, '\1\2 × \5'.freeze)
|
86
105
|
|
87
|
-
|
88
|
-
|
106
|
+
# Non-breaking space before '%' and units (< 4 letters)…
|
107
|
+
input.gsub!(/(\s)+(\d+)(\s)+([[:alpha:]]|%)/, '\1\2 \4\5'.freeze)
|
89
108
|
|
90
|
-
|
91
|
-
|
109
|
+
# Thin non-breaking space before ;', '!', '?'
|
110
|
+
input.gsub!(/ (;|\!|\?)([^\w!]|$)/, ' \1\2'.freeze)
|
92
111
|
|
93
|
-
|
94
|
-
|
112
|
+
# non-breaking space
|
113
|
+
input.gsub!(' :'.freeze, ' :'.freeze)
|
95
114
|
|
96
|
-
|
97
|
-
|
115
|
+
# Currencies
|
116
|
+
input.gsub!(/(\d+)\s*($|€)/, '\1 \2'.freeze)
|
98
117
|
|
99
|
-
|
118
|
+
# nbsp after middle dash (dialogs)
|
119
|
+
input.gsub!(/(—|—)(\s)/, '\1 '.freeze)
|
100
120
|
|
101
|
-
|
102
|
-
input.gsub!(/ (:|%|;|\!|\?)([^\w!]|$)/, '\1\2'.freeze)
|
121
|
+
elsif locale == 'en_US'
|
103
122
|
|
104
|
-
|
105
|
-
|
123
|
+
# Remove useless spaces
|
124
|
+
input.gsub!(/ (:|%|;|\!|\?)([^\w!]|$)/, '\1\2'.freeze)
|
106
125
|
|
107
|
-
|
126
|
+
# Currencies
|
127
|
+
input.gsub!(/($|€)\s*(\d+)/, '\1\2'.freeze)
|
108
128
|
|
109
|
-
|
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
|
-
|
116
|
-
|
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
|
-
|
119
|
-
|
137
|
+
# Apostrophe
|
138
|
+
input.gsub!(/([[:alpha:]])'([[:alpha:]])/, '\1’\2'.freeze)
|
120
139
|
|
121
|
-
|
122
|
-
|
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!('...', '…'.freeze)
|
127
142
|
|
128
|
-
|
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:
|
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-
|
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.
|
128
|
+
rubygems_version: 3.0.3
|
129
129
|
signing_key:
|
130
130
|
specification_version: 4
|
131
131
|
summary: Jekyll plugin that improves microtypography
|