wai-website-plugin 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/wai-website-plugin.rb +59 -53
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5201348a4c20cc8ac1171e4ede4087f05f059715f14089bfb9ea052451599765
|
4
|
+
data.tar.gz: 98ad558ae9712e4b7b3c97532acf383bca32041b99229aa476a183726c23c6a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3208a04dae45737eba812bce92748c129dbb9d49792afcee69848c9ced41ffb964690eccfbd6a1ef319f28ed01a7005db4c08ad90325820b49f27556d1043833
|
7
|
+
data.tar.gz: 7135864789348226a3ff21ffa65c44b2a54f49bab128354e7ce6995832004004c5b60e0498e17cec5a832aecb120dff2cf6981592675e0c1701a210171a79260
|
data/lib/wai-website-plugin.rb
CHANGED
@@ -1,76 +1,82 @@
|
|
1
1
|
require "jekyll/hooks"
|
2
2
|
|
3
|
-
|
4
|
-
translatedpages = site.documents.find_all {|a| a.data['ref'] == ref}
|
5
|
-
translatedpages = translatedpages.concat(site.pages.find_all {|a| a.data['ref'] == ref})
|
6
|
-
return translatedpages.find {|a| a.data['lang'] == lang}
|
7
|
-
end
|
3
|
+
begin
|
8
4
|
|
9
|
-
def
|
5
|
+
def getPage (site, ref, lang = "en")
|
6
|
+
translatedpages = site.documents.find_all {|a| a.data['ref'] == ref}
|
7
|
+
translatedpages = translatedpages.concat(site.pages.find_all {|a| a.data['ref'] == ref})
|
8
|
+
return translatedpages.find {|a| a.data['lang'] == lang}
|
9
|
+
end
|
10
10
|
|
11
|
-
|
11
|
+
def transform(document, inenglishtext)
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
18
|
-
document.content.gsub!(/\[\[([^\]\]]+?)\]\]\((?!\/TR)(?!\/WAI)(\/.*?\/)(?:#(.*?))?\)/i) do |match|
|
19
|
-
translatedpage = getPage document.site, Regexp.last_match[2], document.data['lang']
|
20
|
-
if Regexp.last_match[3].nil?
|
21
|
-
fragment = ''
|
22
|
-
# Jekyll.logger.debug "Eric’s Hook X2:", Regexp.last_match[1] + "|" + Regexp.last_match[2] + Regexp.last_match[3]
|
13
|
+
unless document.content == ""
|
14
|
+
|
15
|
+
if document.data['lang'] == 'en'
|
16
|
+
inenglishtext = ""
|
23
17
|
else
|
24
|
-
|
18
|
+
inenglishtext = ' (' + inenglishtext +')'
|
25
19
|
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
20
|
+
document.content.gsub!(/\[\[([^\]\]]+?)\]\]\((?!\/TR)(?!\/WAI)(\/.*?\/)(?:#(.*?))?\)/i) do |match|
|
21
|
+
translatedpage = getPage document.site, Regexp.last_match[2], document.data['lang']
|
22
|
+
if Regexp.last_match[3].nil?
|
23
|
+
fragment = ''
|
24
|
+
Jekyll.logger.debug "Eric’s Hook X2:", Regexp.last_match[1] + "|" + Regexp.last_match[2] + Regexp.last_match[3]
|
25
|
+
else
|
26
|
+
fragment = '#' + Regexp.last_match[3]
|
27
|
+
end
|
28
|
+
if translatedpage.nil?
|
29
|
+
'<<' + Regexp.last_match[1] +'>>({{ "' + Regexp.last_match[2] +'" | relative_url }}'+ fragment+'){: hreflang="en"}' + inenglishtext
|
30
|
+
else
|
31
|
+
'<<' + translatedpage.data['title'] +'>>({{ "' + translatedpage.data['permalink'] + '" | relative_url }}'+ fragment+')'
|
32
|
+
end
|
30
33
|
end
|
31
|
-
end
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
document.content.gsub!(/\[([^\]]+?)\]\((?!\/TR)(?!\/WAI)(\/.*?\/)(?:#(.*?))?\)/i) do |match|
|
36
|
+
translatedpage = getPage document.site, Regexp.last_match[2], document.data['lang']
|
37
|
+
if Regexp.last_match[3].nil?
|
38
|
+
fragment = ''
|
39
|
+
Jekyll.logger.debug "Eric’s Hook X2:", Regexp.last_match[1] + "|" + Regexp.last_match[2] + Regexp.last_match[3]
|
40
|
+
else
|
41
|
+
fragment = '#' + Regexp.last_match[3]
|
42
|
+
end
|
43
|
+
if translatedpage.nil?
|
44
|
+
'[' + Regexp.last_match[1] +']({{ "' + Regexp.last_match[2] +'" | relative_url }}'+ fragment+'){: hreflang="en"}' + inenglishtext
|
45
|
+
else
|
46
|
+
'[' + Regexp.last_match[1] +']({{ "' + translatedpage.data['permalink'] + '" | relative_url }}'+ fragment+')'
|
47
|
+
end
|
40
48
|
end
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
'[' + Regexp.last_match[1] +']({{ "' + translatedpage.data['permalink'] + '" | relative_url }}'+ fragment+')'
|
49
|
+
|
50
|
+
document.content.gsub!(/<<([^>>]+?)>>/i) do |match|
|
51
|
+
'[' + Regexp.last_match[1] +']'
|
45
52
|
end
|
46
|
-
end
|
47
53
|
|
48
|
-
document.content.gsub!(/<<([^>>]+?)>>/i) do |match|
|
49
|
-
'[' + Regexp.last_match[1] +']'
|
50
54
|
end
|
51
55
|
|
52
56
|
end
|
53
57
|
|
54
|
-
|
58
|
+
Jekyll::Hooks.register :documents, :pre_render do |document|
|
59
|
+
inenglishtext = document.site.data['translations'].find {|a| a['en'] == 'in English'}
|
60
|
+
inenglishtext = inenglishtext[document.data['lang']]
|
61
|
+
if inenglishtext.nil?
|
62
|
+
inenglishtext = "in English"
|
63
|
+
end
|
64
|
+
Jekyll.logger.debug "Eric’s Hook EN:", inenglishtext
|
55
65
|
|
56
|
-
|
57
|
-
inenglishtext = document.site.data['translations'].find {|a| a['en'] == 'in English'}
|
58
|
-
inenglishtext = inenglishtext[document.data['lang']]
|
59
|
-
if inenglishtext.nil?
|
60
|
-
inenglishtext = "in English"
|
66
|
+
transform document, inenglishtext
|
61
67
|
end
|
62
|
-
# Jekyll.logger.debug "Eric’s Hook EN:", inenglishtext
|
63
68
|
|
64
|
-
|
65
|
-
|
69
|
+
Jekyll::Hooks.register :pages, :pre_render do |document|
|
70
|
+
inenglishtext = document.site.data['translations'].find {|a| a['en'] == 'in English'}
|
71
|
+
inenglishtext = inenglishtext[document.data['lang']]
|
72
|
+
if inenglishtext.nil?
|
73
|
+
inenglishtext = "in English"
|
74
|
+
end
|
75
|
+
Jekyll.logger.debug "Eric’s Hook EN:", inenglishtext
|
66
76
|
|
67
|
-
|
68
|
-
inenglishtext = document.site.data['translations'].find {|a| a['en'] == 'in English'}
|
69
|
-
inenglishtext = inenglishtext[document.data['lang']]
|
70
|
-
if inenglishtext.nil?
|
71
|
-
inenglishtext = "in English"
|
77
|
+
transform document, inenglishtext
|
72
78
|
end
|
73
|
-
# Jekyll.logger.debug "Eric’s Hook EN:", inenglishtext
|
74
79
|
|
75
|
-
|
80
|
+
rescue => e
|
81
|
+
puts e.message
|
76
82
|
end
|