octopress-multilingual 0.0.7 → 0.0.8
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/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
|