jekyll-kw-shorten 0.0.6 → 0.0.11
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e593496e1b6a803fc2ccad35c0e477fefe1fb7fa1f9d5ae4431a84a9c99395f
|
4
|
+
data.tar.gz: 27ad67e6058c04547fc482d58e9b12bf9f06685ce01ff966b5e7fd7302348801
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf3e5f9f35fad937a511661d3a6ab694046dc8fe178e84a234c195e46766d3291d2438c0990cba4b534d129d87d951865d4cb8903fe9009b9263cf664a217bf0
|
7
|
+
data.tar.gz: ece39f6384277d0f5f32fc6c32a79c3903099343cf4d0cea6682fae432814240dffdfe3817852e0339dc4d17db2019a8f400306e2582c415d8de4b63691bc933
|
data/lib/jekyll-kw-shorten.rb
CHANGED
@@ -1,42 +1,50 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'jekyll/KargWare/Shorten/parser'
|
4
|
+
require 'jekyll/KargWare/Shorten/version'
|
4
5
|
|
5
6
|
module Jekyll
|
6
7
|
module KargWare
|
8
|
+
# jekyll-kw-shorten jekyll (tag and filter) class
|
7
9
|
module Shorten
|
8
10
|
class Error < StandardError; end
|
9
11
|
class Exception < Gem::Exception; end
|
10
12
|
|
13
|
+
module_function def get_plugin_config(context)
|
14
|
+
if defined? context.registers[:site].config
|
15
|
+
context.registers[:site].config[Jekyll::KargWare::Shorten::RUBYGEM_NAME] || {}
|
16
|
+
else
|
17
|
+
{}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
11
21
|
# shorten tag {% shorten input %} for Jekyll
|
12
22
|
class ShortenTag < Liquid::Tag
|
13
23
|
def initialize(tag_name, input, tokens)
|
14
24
|
super
|
15
|
-
@input = input
|
25
|
+
@input = input.to_s.strip
|
16
26
|
end
|
17
27
|
|
18
28
|
def render(context)
|
19
|
-
|
29
|
+
parser = Jekyll::KargWare::Shorten::Parser.new(
|
30
|
+
Jekyll::KargWare::Shorten.get_plugin_config(context)
|
31
|
+
)
|
32
|
+
parser.parse(@input)
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
36
|
# shorten filter {{ number | shorten }} for Jekyll
|
24
37
|
module ShortenFilter
|
25
38
|
def shorten(number)
|
26
|
-
parser = Jekyll::KargWare::Shorten::Parser.new(
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def get_site_config
|
33
|
-
@context.registers[:site].config['jekyll-kw-shorten'] || {}
|
39
|
+
parser = Jekyll::KargWare::Shorten::Parser.new(
|
40
|
+
Jekyll::KargWare::Shorten.get_plugin_config(@context)
|
41
|
+
)
|
42
|
+
parser.parse(number)
|
34
43
|
end
|
35
44
|
end
|
36
|
-
|
37
45
|
end
|
38
46
|
end
|
39
47
|
end
|
40
48
|
|
41
49
|
Liquid::Template.register_tag('shorten', Jekyll::KargWare::Shorten::ShortenTag)
|
42
|
-
Liquid::Template.register_filter(Jekyll::KargWare::Shorten::ShortenFilter)
|
50
|
+
Liquid::Template.register_filter(Jekyll::KargWare::Shorten::ShortenFilter)
|
@@ -13,25 +13,39 @@ module Jekyll
|
|
13
13
|
@configuration = Jekyll::KargWare::Shorten::Configuration.new(options)
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
num = text.
|
21
|
-
if num >= 1000000000000
|
22
|
-
|
23
|
-
elsif num >= 1000000000
|
24
|
-
|
25
|
-
elsif num >= 1000000
|
26
|
-
|
27
|
-
elsif num >= 1000
|
28
|
-
|
16
|
+
def parse(text)
|
17
|
+
return text unless Parser.number?(text)
|
18
|
+
|
19
|
+
begin
|
20
|
+
num = text.to_f
|
21
|
+
if num >= 1000000000000
|
22
|
+
'∞ 🚀'
|
23
|
+
elsif num >= 1000000000
|
24
|
+
format(num / 1000000000.0) + @configuration.shorten_gt9_digit
|
25
|
+
elsif num >= 1000000
|
26
|
+
format(num / 1000000.0) + @configuration.shorten_gt6_digit
|
27
|
+
elsif num >= 1000
|
28
|
+
format(num / 1000.0) + @configuration.shorten_gt3_digit
|
29
29
|
else
|
30
|
-
|
30
|
+
num.round(0).truncate(0).to_s.rjust(5)
|
31
31
|
end
|
32
|
+
rescue StandardError => e
|
33
|
+
puts e.message
|
34
|
+
text
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
38
|
+
# private
|
39
|
+
|
40
|
+
def format(num)
|
41
|
+
num.round(1).truncate(1).to_s
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.number?(string)
|
45
|
+
true if Float(string)
|
46
|
+
rescue StandardError
|
47
|
+
false
|
48
|
+
end
|
35
49
|
end
|
36
50
|
end
|
37
51
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-kw-shorten
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Karg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jekyll
|