sutty-liquid 0.6.1 → 0.7.3

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
  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