sutty-liquid 0.6.1 → 0.7.3

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
  SHA256:
3
- metadata.gz: 3b58c33b1e623a64bd0a19a7beed5f313f541165d0570968e5e3248c89489b3b
4
- data.tar.gz: 127bd73962c2fb5c8beb66109821b52a0d0335904ff136f5f635ff907434c3c8
3
+ metadata.gz: 9a2dc602d9ee70024c92652320544e0bd8d6642ba492255f7f75f3d93588fe22
4
+ data.tar.gz: 65ca9819809b019451f6bcb17ab22968f5128fe4159e55646ca3014d4d1f6591
5
5
  SHA512:
6
- metadata.gz: 0fa6d9ccd19f5506fedaff884f603c4df346d0a054deba298589937695728ec6b99a89b08e608f9690bcc62fc27a18fe2bae444caa2ba236b381ea36d2678780
7
- data.tar.gz: 86aec73c5775a064e60030e3dd291301cb474bdf6f64fb492df45172c8c2e962d56de2d47fbced270b9ae046c22a8fea36f1c9675f692fa4915371c438f5ed03
6
+ metadata.gz: 97875bdb08224bbdf068cad30267efba723124acc3ced69af70ac2547e24532251756deb224be2769420e168db41f26d41056e3c8b04815eae9578d7fb807e1c
7
+ data.tar.gz: 0ef9112d9a058819be5ce74a19d1f646572fc8dec9f6ded1280ed78dc91e6ee885a38cd35191a82da0f85cecb09dd5205eeebf2b9fd92d10069b992874920589
@@ -11,20 +11,20 @@ module Jekyll
11
11
  # {{ page.date | date_local: '%e de %B de %Y' }}
12
12
  #
13
13
  # @see {_data/es.yml}
14
- # @param [String|Date]
14
+ # @param [String|Date|Time|DateTime]
15
15
  # @param [String]
16
16
  # @return [String]
17
17
  def date_local(input, format)
18
18
  require 'date'
19
19
 
20
- input = Date.parse(input) if input.is_a? String
20
+ input = ::Jekyll::Utils.parse_date(input) unless input.respond_to? :mon
21
21
 
22
22
  # Return early if we don't need to translate
23
23
  return input.strftime(format) unless /%(|\^)[aAbBpP]/ =~ format
24
24
 
25
25
  input.strftime translate_localization_format(input, format)
26
- rescue ArgumentError
27
- Jekyll.logger.warn "#{input} is not a valid Date"
26
+ rescue ArgumentError, TypeError, ::Jekyll::Errors::InvalidDateError => e
27
+ Jekyll.logger.warn "#{input} is not a valid date: #{e.message}"
28
28
  input
29
29
  end
30
30
 
@@ -12,6 +12,8 @@ module Jekyll
12
12
  require 'pry'
13
13
 
14
14
  binding.pry
15
+
16
+ input
15
17
  end
16
18
  end
17
19
  end
@@ -3,6 +3,11 @@
3
3
  module Jekyll
4
4
  module Filters
5
5
  module SocialNetwork
6
+ SUBDOMAINS = /\A(www|chat)\./.freeze
7
+ DOMAIN_MAP = {
8
+ 't.me' => 'telegram'
9
+ }.freeze
10
+
6
11
  # Takes a URL and returns a Hash of attributes, useful when you
7
12
  # want to generate social network buttons from an undetermined
8
13
  # list of URLs.
@@ -19,19 +24,22 @@ module Jekyll
19
24
  # @param [String]
20
25
  # @return [Hash]
21
26
  def social_network(url)
22
- return {} unless url.is_a? String
23
-
24
- require 'uri'
27
+ begin
28
+ require 'uri'
25
29
 
26
- uri = URI url
27
- uri.host.sub! 'www.', ''
28
- name = %r{/@\w+} =~ uri.query ? 'mastodon' : uri.host.split('.', 2).first
30
+ uri = URI url
31
+ host = uri.host.sub SUBDOMAINS, ''
29
32
 
30
- { 'host' => uri.host, 'name' => name, 'url' => url }.to_liquid
31
- rescue URI::InvalidURIError => e
32
- Jekyll.logger.warn e.message
33
+ name = DOMAIN_MAP[host]
34
+ name ||= %r{/@\w+} =~ uri.query ? 'mastodon' : host.split('.', 2).first
35
+ rescue ArgumentError, URI::InvalidURIError => e
36
+ Jekyll.logger.warn(e.message) if Jekyll.respond_to?(:logger)
37
+ ensure
38
+ host ||= url
39
+ name ||= 'globe'
40
+ end
33
41
 
34
- {}.to_liquid
42
+ { 'host' => host, 'name' => name, 'url' => url }.to_liquid
35
43
  end
36
44
  end
37
45
  end
@@ -7,6 +7,19 @@ module Jekyll
7
7
  def start_with(input, start)
8
8
  input.to_s.start_with? start.to_s
9
9
  end
10
+
11
+ # Replaces the last ocurrence of a String
12
+ #
13
+ # @param [String]
14
+ # @param [String]
15
+ # @param [String]
16
+ # @return [String]
17
+ def replace_last(input, search, replace)
18
+ hay = input.split search
19
+ needle = "#{replace}#{hay.pop}"
20
+
21
+ hay.join(search) + needle
22
+ end
10
23
  end
11
24
  end
12
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sutty-liquid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - f
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2021-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '13'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '13'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.13'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.13'
41
83
  description: An assorment of Liquid filters and tags for Jekyll used in Sutty
42
84
  email:
43
85
  - f@sutty.nl