octopress-multilingual 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +4 -1
- data/lib/octopress-multilingual.rb +43 -16
- data/lib/octopress-multilingual/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81d74a15580418e28ebe00dcd4f8a6cb3dcbc67a
|
4
|
+
data.tar.gz: aa61892cf1e4e764dc77d5eee1a6252f8419637e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7c725533664f672619d4ca3a3000098eebbe7a2266d53076c9e233589514cb09d7d3d8a1851b7bd62cd0958474ec74c01d31c7512ca07f6700d10fab12b673b
|
7
|
+
data.tar.gz: 54dd83d45d96e9b5311da61ba385a4681d939b331b79a124b5573b6084a7d6aed129c315a836bd1b684c0629804e6f93ec6172b6b35efc32cfd8e15e2e60545f
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -48,13 +48,16 @@ Note: This guide will only cover the steps listed above. Your site may still hav
|
|
48
48
|
|
49
49
|
## Configuration
|
50
50
|
|
51
|
-
|
51
|
+
You can for standard language codes.
|
52
|
+
|
53
|
+
First, be sure to configure your Jekyll site's main language. An site written primarily in English would add this to its Jekyll configuration:
|
52
54
|
|
53
55
|
```yaml
|
54
56
|
lang: en
|
55
57
|
```
|
56
58
|
|
57
59
|
Here we are setting the default language to English. Posts without a defined language will be treated as English posts.
|
60
|
+
For a list of standard language codes, refer to [ISO 639-1](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
|
58
61
|
|
59
62
|
## Defining a post's language
|
60
63
|
|
@@ -16,10 +16,6 @@ module Octopress
|
|
16
16
|
<< " lang: en\n\n"
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
20
|
-
def site
|
21
|
-
@site
|
22
|
-
end
|
23
19
|
|
24
20
|
def languages
|
25
21
|
posts_by_language.keys
|
@@ -59,29 +55,29 @@ module Octopress
|
|
59
55
|
@posts_without_lang ||= site.reject(&:lang)
|
60
56
|
end
|
61
57
|
|
62
|
-
def site_payload
|
63
|
-
@site = site
|
64
|
-
|
58
|
+
def site_payload
|
65
59
|
if defined?(Octopress::Docs) && Octopress::Docs.enabled?
|
66
60
|
{}
|
67
61
|
else
|
68
62
|
return unless main_language
|
69
63
|
|
64
|
+
@payload ||= begin
|
70
65
|
payload = {
|
71
66
|
'posts' => main_language_posts,
|
72
67
|
'posts_by_language' => posts_by_language,
|
73
68
|
'languages' => languages
|
74
69
|
}
|
75
70
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
71
|
+
if defined? Octopress::Linkblog
|
72
|
+
payload.merge!({
|
73
|
+
'linkposts' => linkposts_by_language[main_language],
|
74
|
+
'articles' => articles_by_language[main_language],
|
75
|
+
'linkposts_by_language' => linkposts_by_language,
|
76
|
+
'articles_by_language' => articles_by_language
|
77
|
+
})
|
78
|
+
end
|
79
|
+
payload
|
83
80
|
end
|
84
|
-
payload
|
85
81
|
end
|
86
82
|
end
|
87
83
|
|
@@ -113,6 +109,14 @@ module Octopress
|
|
113
109
|
end
|
114
110
|
end
|
115
111
|
|
112
|
+
class SiteHookRead < Hooks::Site
|
113
|
+
priority :high
|
114
|
+
# Generate site_payload so other plugins can access
|
115
|
+
def post_read(site)
|
116
|
+
Octopress::Multilingual.site = site
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
116
120
|
class SiteHook < Hooks::Site
|
117
121
|
priority :low
|
118
122
|
|
@@ -126,7 +130,7 @@ module Octopress
|
|
126
130
|
#
|
127
131
|
|
128
132
|
{
|
129
|
-
'site' => Octopress::Multilingual.site_payload
|
133
|
+
'site' => Octopress::Multilingual.site_payload,
|
130
134
|
}
|
131
135
|
end
|
132
136
|
end
|
@@ -170,6 +174,29 @@ module Jekyll
|
|
170
174
|
:lang => lang
|
171
175
|
})
|
172
176
|
end
|
177
|
+
|
178
|
+
def next
|
179
|
+
language = lang || site.config['lang']
|
180
|
+
posts = Octopress::Multilingual.posts_by_language[language]
|
181
|
+
pos = posts.index {|post| post.equal?(self) }
|
182
|
+
if pos && pos < posts.length - 1
|
183
|
+
posts[pos + 1]
|
184
|
+
else
|
185
|
+
nil
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
def previous
|
190
|
+
language = lang || site.config['lang']
|
191
|
+
posts = Octopress::Multilingual.posts_by_language[language]
|
192
|
+
pos = posts.index {|post| post.equal?(self) }
|
193
|
+
if pos && pos > 0
|
194
|
+
posts[pos - 1]
|
195
|
+
else
|
196
|
+
nil
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
173
200
|
end
|
174
201
|
end
|
175
202
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-multilingual
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octopress-hooks
|