jekyll-locale 0.4.0 → 0.5.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 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