jekyll-locale 0.4.0 → 0.5.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
  SHA1:
3
- metadata.gz: a6aa5bfa8934b5488a01509fcc5edc532e218b7a
4
- data.tar.gz: 896e029d6388b5c7c71f7864f5dce874916dad10
3
+ metadata.gz: c01d9a2e46d7017a012e1a293e2daa48494e5973
4
+ data.tar.gz: 2bb31ee5a8890dcfce4888fa1edfebbd9b87dc03
5
5
  SHA512:
6
- metadata.gz: bd03beca23149b7a9d5518c8213185faa8c6b89361133a24bf4add596211fd2628797096fb99b30a7b235679eaa61d5469c2f8ceef8be7ff459d1a6ddea248fd
7
- data.tar.gz: 80ef5c1b31991f96a3a6b8d26130039badeb93390285e80efff436920af1b9da086c7b4da123cc6525c569d4ab811e1492351da3717f3a20156be7872230cb97
6
+ metadata.gz: 958a745c6fc83812795057b33302055f9416fef9a8e9fcfccf1c9596d83f57a4dd8430c7421ab711ee613a6f4c8cb6398eacdeaa56a7a86c3b8ae84ffa6c5248
7
+ data.tar.gz: 7d3b86d40f1a62ec7ea7920f8651dc3a50c67124c37a658aae97a70c5b0859cc30c9af1aa6323158a405963b0069042bfc8e329466d56ac0c086fd7c0f9048f7
data/README.md CHANGED
@@ -241,6 +241,8 @@ Instead filter out the canonical url from the for-loop, and render the canonical
241
241
 
242
242
  ### `localize_date`
243
243
 
244
+ > **Adapted from [`localize` filter](https://github.com/borisschapira/borisschapira.com/blob/e3db4209536ea624466aa516e7feba79410b6719/_plugins/i18n_date_filter.rb#L9-L24) by Boris Schapira**
245
+
244
246
  This plugin provides a `localize_date` filter to aid in localizing valid date strings. It takes an optional parameter to specify the format
245
247
  of the output string.
246
248
 
@@ -258,6 +260,7 @@ time:
258
260
  formats: # A set of predefined strftime formats
259
261
  default: "%B %d, %Y %l:%M:%S %p %z" # Used by default if no other `format` has been specified.
260
262
  # my_format: # A valid strftime format of your choice.
263
+ # Usage: {{ your_date | localize_date: ":my_format" }}
261
264
  ```
262
265
 
263
266
  #### Requirements
data/lib/jekyll-locale.rb CHANGED
@@ -42,5 +42,6 @@ Jekyll::Hooks.register [:pages, :documents], :pre_render do |document, payload|
42
42
  handler = document.site.locale_handler
43
43
  handler.current_locale = document.locale
44
44
  document.setup_hreflangs if document.setup_hreflangs?
45
+ payload["page"]["locale"] = document.locale || handler.default_locale
45
46
  payload["page"]["hreflangs"] = document.hreflangs
46
47
  end
@@ -17,6 +17,16 @@ module Jekyll
17
17
  configure_data
18
18
  end
19
19
 
20
+ def cleaned_relative_path
21
+ @cleaned_relative_path ||= begin
22
+ rel_path = relative_path[0..-extname.length - 1]
23
+ rel_path.sub!(@locale_page_dir, "")
24
+ rel_path.sub!(collection.relative_directory, "")
25
+ rel_path.gsub!(%r!\.*\z!, "")
26
+ rel_path
27
+ end
28
+ end
29
+
20
30
  def url_template
21
31
  @url_template ||= File.join("", locale, super)
22
32
  end
@@ -11,6 +11,7 @@ module Jekyll
11
11
  #
12
12
 
13
13
  class Locale::PageDrop < Locale::Drop
14
- def_delegators :@obj, :locale, :url
14
+ def_delegator :@obj, :relative_path, :path
15
+ def_delegators :@obj, :url
15
16
  end
16
17
  end
@@ -12,7 +12,7 @@ module Jekyll
12
12
 
13
13
  handler.user_locales.each do |locale|
14
14
  handler.filtered_portfolio.each do |canon_doc|
15
- handler.append_document(Locale::AutoPage, canon_doc, locale, site.pages)
15
+ handler.append_document(Locale::AutoPage, canon_doc, locale)
16
16
  end
17
17
  end
18
18
  end
@@ -26,9 +26,10 @@ module Jekyll
26
26
  end
27
27
 
28
28
  def reset
29
- @portfolio = nil
30
29
  @locale_data = {}
31
30
  @locale_dates = {}
31
+ @portfolio = nil
32
+ @filtered_portfolio = nil
32
33
  end
33
34
 
34
35
  def data
@@ -63,18 +64,18 @@ module Jekyll
63
64
 
64
65
  case canon_doc
65
66
  when Jekyll::Page
66
- append_document(Locale::Page, canon_doc, locale, site.pages)
67
+ append_document(Locale::Page, canon_doc, locale)
67
68
  when Jekyll::Document
68
- append_document(Locale::Document, canon_doc, locale, site.docs_to_write)
69
+ append_document(Locale::Document, canon_doc, locale)
69
70
  end
70
71
  end
71
72
  end
72
73
  end
73
74
 
74
- def append_document(klass, canon_doc, locale, base_array)
75
+ def append_document(klass, canon_doc, locale)
75
76
  locale_page = klass.new(canon_doc, locale)
76
77
  canon_doc.locale_pages << locale_page
77
- base_array << locale_page
78
+ site.pages << locale_page
78
79
  end
79
80
 
80
81
  def user_locales
@@ -128,10 +129,8 @@ module Jekyll
128
129
  attr_reader :site, :config, :locale_data
129
130
 
130
131
  def html_pages
131
- @html_pages ||= begin
132
- pages = site.site_payload["site"]["html_pages"] || []
133
- pages.reject { |page| page.name == "404.html" }
134
- end
132
+ pages = site.site_payload["site"]["html_pages"] || []
133
+ pages.reject { |page| page.name == "404.html" }
135
134
  end
136
135
 
137
136
  def locales_dir
@@ -31,16 +31,18 @@ module Jekyll
31
31
  private
32
32
 
33
33
  def setup(canon, locale)
34
- @locale = locale
35
- @canon = canon
36
- @site = canon.site
34
+ @locale = locale
35
+ @canon = canon
36
+ @site = canon.site
37
37
  @extname = canon.extname
38
- @relative_path = canon.relative_path
39
- @path = site.in_source_dir(site.locale_handler.content_dirname, locale, relative_path)
38
+ @locale_page_dir = File.join(@site.locale_handler.content_dirname, locale, "")
39
+ @relative_path = File.join(@locale_page_dir, canon.relative_path)
40
+ @path = @site.in_source_dir(@relative_path)
40
41
  end
41
42
 
42
43
  def configure_data
43
44
  Jekyll::Utils.deep_merge_hashes(canon.data, @data)
45
+ @data["categories"] = canon.data["categories"]
44
46
  end
45
47
  end
46
48
  end
@@ -3,15 +3,22 @@
3
3
  module Jekyll
4
4
  class Locale::Page < Page
5
5
  include Locale::Helper
6
+ attr_reader :path
6
7
 
7
8
  def initialize(canon, locale)
8
9
  setup(canon, locale)
9
10
  @dir, @name = File.split(relative_path)
10
- @dir = "" if @dir == "."
11
11
  @base = site.source
12
12
  process(@name)
13
13
  read_yaml(@dir, @name)
14
14
  configure_data
15
+
16
+ # Empty the value as it is not longer required.
17
+ @dir = ""
18
+ end
19
+
20
+ def to_liquid
21
+ @to_liquid ||= Locale::PageDrop.new(self)
15
22
  end
16
23
 
17
24
  def template
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Locale
5
- VERSION = "0.4.0"
5
+ VERSION = "0.5.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-locale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashwin Maroli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-15 00:00:00.000000000 Z
11
+ date: 2018-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll