jekyll-design-tag-framework 0.0.1 → 0.0.2
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 +4 -4
- data/lib/jekyll-design-tag-framework/convenience_types.rb +105 -0
- data/lib/jekyll-design-tag-framework/design_element.rb +97 -0
- data/lib/jekyll-design-tag-framework/design_group.rb +87 -0
- data/lib/jekyll-design-tag-framework/design_tag.rb +27 -0
- data/lib/jekyll-design-tag-framework/parameter_parser.rb +58 -0
- data/lib/jekyll-design-tag-framework/picture_element.rb +17 -0
- data/lib/jekyll-design-tag-framework/template_loader.rb +19 -0
- data/lib/jekyll-design-tag-framework/utils.rb +15 -0
- data/lib/jekyll-design-tag-framework/version.rb +5 -0
- data/lib/jekyll-design-tag-framework.rb +53 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a94ceabf63164baded5ff7f0dc09e440ff0fb38dd54fbadb33652e521559212
|
4
|
+
data.tar.gz: 33775eeb613c688a55716404fed1b7f05712622df9e21ff03289621eae08d1ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ebf0026601255e2ff7fd700879b0cb72bd2c9a9056570d77e41ef273ebbbbbd712bb36e30043fc4686e8c58419d408f24de8e9b8cb0ec36d4571ba97b930da9
|
7
|
+
data.tar.gz: 62be3350b8bb8762a9d8b448e30dc1b11c4f768f42942f641b72d7c70fe29c660b8565aecaaaa5d26818bb2ef5bb910430ff51b9717af9dfef685ab15bad8e5d
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require "jekyll-design-tag-framework/design_group"
|
2
|
+
require "jekyll-design-tag-framework/design_element"
|
3
|
+
require "jekyll-design-tag-framework/utils"
|
4
|
+
|
5
|
+
module Jekyll
|
6
|
+
module DesignTagFramework
|
7
|
+
class PostGroup < DesignTagFramework::DesignGroup
|
8
|
+
def initialize(tag_name, text, tokens)
|
9
|
+
super(tag_name, text, tokens, "post_group")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class PostElement < DesignElement
|
14
|
+
def initialize(tag_name, text, tokens)
|
15
|
+
super(tag_name, text, tokens, "post_element")
|
16
|
+
@required_params = [ "title", "author", "url", "date" ]
|
17
|
+
@optional_params = [ "description", "image"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate_params(params)
|
21
|
+
super
|
22
|
+
DesignTagFramework.validate_author(params["author"])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
Liquid::Template.register_tag("post_group", Jekyll::DesignTagFramework::PostGroup)
|
30
|
+
Liquid::Template.register_tag("post_element", Jekyll::DesignTagFramework::PostElement)
|
31
|
+
|
32
|
+
|
33
|
+
module Jekyll
|
34
|
+
module DesignTagFramework
|
35
|
+
class ProjectGroup < DesignTagFramework::DesignGroup
|
36
|
+
def initialize(tag_name, text, tokens)
|
37
|
+
super(tag_name, text, tokens, "project_group")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class ProjectElement < DesignElement
|
42
|
+
def initialize(tag_name, text, tokens)
|
43
|
+
super(tag_name, text, tokens, "project_element")
|
44
|
+
@required_params = [ "title" ]
|
45
|
+
@optional_params = %w(url author image description)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
Liquid::Template.register_tag("project_group", Jekyll::DesignTagFramework::ProjectGroup)
|
52
|
+
Liquid::Template.register_tag("project_element", Jekyll::DesignTagFramework::ProjectElement)
|
53
|
+
|
54
|
+
module Jekyll
|
55
|
+
module DesignTagFramework
|
56
|
+
class FeatureGroup < DesignTagFramework::DesignGroup
|
57
|
+
def initialize(tag_name, text, tokens)
|
58
|
+
super(tag_name, text, tokens, "feature_group")
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
class FeatureElement < DesignElement
|
63
|
+
def initialize(tag_name, text, tokens)
|
64
|
+
super(tag_name, text, tokens, "feature_element")
|
65
|
+
@required_params = [ "title" ]
|
66
|
+
@optional_params = [ "description", "url", "icon-path", "icon-class" ]
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
Liquid::Template.register_tag("feature_group", Jekyll::DesignTagFramework::FeatureGroup)
|
73
|
+
Liquid::Template.register_tag("feature_element", Jekyll::DesignTagFramework::FeatureElement)
|
74
|
+
|
75
|
+
module Jekyll
|
76
|
+
module DesignTagFramework
|
77
|
+
class AuthorElement < DesignElement
|
78
|
+
def initialize(tag_name, text, tokens)
|
79
|
+
super(tag_name, text, tokens, "author_element")
|
80
|
+
@required_params = [ "author" ]
|
81
|
+
@optional_params = [ "class" ]
|
82
|
+
end
|
83
|
+
|
84
|
+
def validate_params(params)
|
85
|
+
super
|
86
|
+
DesignTagFramework.validate_author(params["author"])
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
Liquid::Template.register_tag("author_element", Jekyll::DesignTagFramework::AuthorElement)
|
93
|
+
|
94
|
+
module Jekyll
|
95
|
+
module DesignTagFramework
|
96
|
+
class AlertElement < DesignGroup
|
97
|
+
def initialize(tag_name, text, tokens)
|
98
|
+
super(tag_name, text, tokens, "alert_element")
|
99
|
+
@optional_params = [ "variant" ]
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
Liquid::Template.register_tag("alert_element", Jekyll::DesignTagFramework::AlertElement)
|
@@ -0,0 +1,97 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
class DesignElement < Liquid::Tag
|
4
|
+
include TemplateLoader
|
5
|
+
include DesignTag
|
6
|
+
|
7
|
+
VARIABLE_SYNTAX = %r!\A\s*(?:[\w.-]+)\s*\z!x.freeze
|
8
|
+
|
9
|
+
def initialize(tag_name, text, tokens, type = nil)
|
10
|
+
super(tag_name, text, tokens)
|
11
|
+
@tag_name = tag_name
|
12
|
+
@type = type
|
13
|
+
@required_params = []
|
14
|
+
@optional_params = []
|
15
|
+
if text.match(VARIABLE_SYNTAX)
|
16
|
+
@variable = text.strip
|
17
|
+
else
|
18
|
+
@jdt_params = ParameterParser.new(tag_name, text)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def expand_variable(context)
|
23
|
+
unless context[@variable]
|
24
|
+
raise ArgumentError, <<~MSG
|
25
|
+
Invalid syntax for #{@tag_name} tag:
|
26
|
+
|
27
|
+
#{@variable}
|
28
|
+
|
29
|
+
#{valid_syntax}
|
30
|
+
|
31
|
+
MSG
|
32
|
+
end
|
33
|
+
|
34
|
+
context[@variable]
|
35
|
+
end
|
36
|
+
|
37
|
+
def valid_syntax
|
38
|
+
example_params = @required_params
|
39
|
+
example_params = ["param1", "param2"] if @required_params.empty?
|
40
|
+
i = 1
|
41
|
+
example = example_params.map { |param| i += 1; "#{param}=\"#{i}\"" }.join(" ")
|
42
|
+
examplepst = ""
|
43
|
+
examplepst = " where #{example_params.map { |param| "post.#{param}"}.join(", ") } exists" unless @required_params.empty?
|
44
|
+
optional = "\n\nOptional parameters: #{@optional_params.join(", ")}" unless @optional_params.empty?
|
45
|
+
<<~MSG
|
46
|
+
Valid syntax:
|
47
|
+
|
48
|
+
"{% #{@tag_name} post %}" #{examplepst}
|
49
|
+
|
50
|
+
or
|
51
|
+
|
52
|
+
"{% #{@tag_name} #{example} %}"#{optional}
|
53
|
+
MSG
|
54
|
+
end
|
55
|
+
|
56
|
+
def parse(tokens); end
|
57
|
+
|
58
|
+
def render(context)
|
59
|
+
site = context.registers[:site]
|
60
|
+
|
61
|
+
if @jdt_params
|
62
|
+
params = @jdt_params.parse_params(context)
|
63
|
+
else
|
64
|
+
params = expand_variable(context)
|
65
|
+
end
|
66
|
+
|
67
|
+
@type ||= @jdt_params.type
|
68
|
+
|
69
|
+
expand_author(params, site)
|
70
|
+
validate_params(params)
|
71
|
+
|
72
|
+
context.stack do
|
73
|
+
params["classes"] = class_names
|
74
|
+
context["element"] = params
|
75
|
+
|
76
|
+
return Liquid::Template.parse(get_template(site).strip).render(context)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def template_name
|
81
|
+
return "#{@type}.html" unless @type.nil?
|
82
|
+
|
83
|
+
"design_element.html"
|
84
|
+
end
|
85
|
+
|
86
|
+
def template
|
87
|
+
"<div class=\"{{ element.classes }}\">{{ element.title }}</div>"
|
88
|
+
end
|
89
|
+
|
90
|
+
def class_names
|
91
|
+
["design_element", @type].compact.join(" ")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
Liquid::Template.register_tag("design_element", Jekyll::DesignTagFramework::DesignElement)
|
@@ -0,0 +1,87 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
class DesignGroup < Liquid::Block
|
4
|
+
include TemplateLoader
|
5
|
+
include DesignTag
|
6
|
+
|
7
|
+
def initialize(tag_name, text, tokens, type = nil)
|
8
|
+
super(tag_name, text, tokens)
|
9
|
+
@jdt_params = ParameterParser.new(tag_name, text)
|
10
|
+
@type = type
|
11
|
+
@tag_name = tag_name
|
12
|
+
@parity = nil
|
13
|
+
@required_params = []
|
14
|
+
@optional_params = []
|
15
|
+
end
|
16
|
+
|
17
|
+
def render(context)
|
18
|
+
text = super
|
19
|
+
site = context.registers[:site]
|
20
|
+
page = context.registers[:page]
|
21
|
+
@parity = get_parity(page)
|
22
|
+
params = @jdt_params.parse_params(context)
|
23
|
+
validate_params(params)
|
24
|
+
@type ||= @jdt_params.type
|
25
|
+
|
26
|
+
context.stack do
|
27
|
+
params["classes"] = class_names
|
28
|
+
context["group"] = params
|
29
|
+
text = Liquid::Template.parse(text).render(context)
|
30
|
+
|
31
|
+
markdown_converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
|
32
|
+
|
33
|
+
text = markdown_converter.convert(text)
|
34
|
+
|
35
|
+
context["content"] = text
|
36
|
+
|
37
|
+
text = Liquid::Template.parse(get_template(site).strip).render(context)
|
38
|
+
end
|
39
|
+
text
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_parity(page)
|
43
|
+
if page["design_group_number"].nil?
|
44
|
+
page["design_group_number"] = 1
|
45
|
+
else
|
46
|
+
page["design_group_number"] += 1
|
47
|
+
end
|
48
|
+
if page["design_group_number"].even?
|
49
|
+
"design_group_even"
|
50
|
+
else
|
51
|
+
"design_group_odd"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def template_name
|
56
|
+
return "#{@type}.html" unless @type.nil?
|
57
|
+
|
58
|
+
"design_group.html"
|
59
|
+
end
|
60
|
+
|
61
|
+
def template
|
62
|
+
"<div class=\"{{ group.classes }}\">{{ content }}</div>"
|
63
|
+
end
|
64
|
+
|
65
|
+
def class_names
|
66
|
+
["design_group", @type, @parity].compact.join(" ")
|
67
|
+
end
|
68
|
+
|
69
|
+
def valid_syntax
|
70
|
+
example_params = @required_params
|
71
|
+
example_params = ["param1", "param2"] if @required_params.empty?
|
72
|
+
i = 1
|
73
|
+
example = example_params.map { |param| i += 1; "#{param}=\"#{i}\"" }.join(" ")
|
74
|
+
optional = "\n\nOptional parameters: #{@optional_params.join(", ")}" unless @optional_params.empty?
|
75
|
+
<<~MSG
|
76
|
+
Valid syntax:
|
77
|
+
|
78
|
+
"{% #{@tag_name} #{example} %}"
|
79
|
+
content..
|
80
|
+
{% end#{@tag_name} %}#{optional}
|
81
|
+
MSG
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
Liquid::Template.register_tag("design_group", Jekyll::DesignTagFramework::DesignGroup)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
module DesignTag
|
4
|
+
def expand_author(params, site)
|
5
|
+
author = params["author"]
|
6
|
+
author = site.config["author"] if author.nil?
|
7
|
+
if site.data["authors"].is_a?(Hash) && !params["author"].is_a?(Hash)
|
8
|
+
params["author"] = site.data["authors"][author]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def validate_params(params)
|
13
|
+
return if params.nil?
|
14
|
+
|
15
|
+
@required_params.each do |param|
|
16
|
+
next if params.key?(param)
|
17
|
+
|
18
|
+
raise ArgumentError, <<~MSG
|
19
|
+
#{param} is not defined in #{@tag_name} tag
|
20
|
+
|
21
|
+
#{valid_syntax}
|
22
|
+
MSG
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
class ParameterParser
|
4
|
+
VALID_SYNTAX = %r!
|
5
|
+
([\w-]+)\s*=\s*
|
6
|
+
(?:"([^"\\]*(?:\\.[^"\\]*)*)"|'([^'\\]*(?:\\.[^'\\]*)*)'|([\w.-]+))
|
7
|
+
!x.freeze
|
8
|
+
|
9
|
+
FULL_VALID_SYNTAX = %r!\A\s*(?:#{VALID_SYNTAX}(?=\s|\z)\s*)*\z!.freeze
|
10
|
+
|
11
|
+
def initialize(tag_name, raw_params)
|
12
|
+
@tag_name = tag_name
|
13
|
+
@raw_params = raw_params.strip
|
14
|
+
|
15
|
+
validate_params
|
16
|
+
end
|
17
|
+
|
18
|
+
def validate_params
|
19
|
+
unless FULL_VALID_SYNTAX.match?(@raw_params)
|
20
|
+
raise ArgumentError, <<~MSG
|
21
|
+
Invalid syntax for #{@tag_name} tag:
|
22
|
+
|
23
|
+
#{@raw_params}
|
24
|
+
|
25
|
+
Valid syntax:
|
26
|
+
|
27
|
+
#{syntax_example}
|
28
|
+
|
29
|
+
MSG
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def syntax_example
|
34
|
+
"{% #{@tag_name} param='value' param2='value' %}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def parse_params(context)
|
38
|
+
@params = {}
|
39
|
+
@raw_params.scan(VALID_SYNTAX) do |key, d_quoted, s_quoted, variable|
|
40
|
+
value = if d_quoted
|
41
|
+
d_quoted.include?('\\"') ? d_quoted.gsub('\\"', '"') : d_quoted
|
42
|
+
elsif s_quoted
|
43
|
+
s_quoted.include?("\\'") ? s_quoted.gsub("\\'", "'") : s_quoted
|
44
|
+
elsif variable
|
45
|
+
context[variable]
|
46
|
+
end
|
47
|
+
@params[key] = value
|
48
|
+
end
|
49
|
+
@params
|
50
|
+
end
|
51
|
+
|
52
|
+
def type
|
53
|
+
@params["type"] if @params.key? "type"
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
class PictureElement < DesignElement
|
4
|
+
def initialize(tag_name, text, tokens)
|
5
|
+
super(tag_name, text, tokens, "picture_element")
|
6
|
+
@required_params = [ "src", "alt" ]
|
7
|
+
@optional_params = [ "class", "height", "size-hint" ]
|
8
|
+
end
|
9
|
+
|
10
|
+
def template
|
11
|
+
"<div class=\"{{ element.classes }}\"><img src=\"{{ element.src }}\"></div>"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Liquid::Template.register_tag("picture_element", Jekyll::DesignTagFramework::PictureElement)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
module TemplateLoader
|
4
|
+
def load_template(site)
|
5
|
+
site.includes_load_paths.each do |dir|
|
6
|
+
path = PathManager.join(dir, "dtf")
|
7
|
+
file = PathManager.join(path, template_name)
|
8
|
+
return File.read(file, **site.file_read_opts) if File.file?(file)
|
9
|
+
end
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def get_template(site)
|
14
|
+
t = load_template(site)
|
15
|
+
t || template
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module DesignTagFramework
|
3
|
+
def validate_author(author)
|
4
|
+
keys = ["name"]
|
5
|
+
keys.each do |key|
|
6
|
+
next if author.key?(key)
|
7
|
+
raise ArgumentError, <<~MSG
|
8
|
+
Author #{author} has no parameter #{key}
|
9
|
+
MSG
|
10
|
+
end
|
11
|
+
end
|
12
|
+
module_function :validate_author
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require "jekyll"
|
2
|
+
require "shellwords"
|
3
|
+
require "jekyll-design-tag-framework/version"
|
4
|
+
require "jekyll-design-tag-framework/template_loader"
|
5
|
+
require "jekyll-design-tag-framework/design_tag"
|
6
|
+
require "jekyll-design-tag-framework/parameter_parser"
|
7
|
+
require "jekyll-design-tag-framework/design_group"
|
8
|
+
require "jekyll-design-tag-framework/design_element"
|
9
|
+
require "jekyll-design-tag-framework/convenience_types"
|
10
|
+
require "jekyll-design-tag-framework/picture_element"
|
11
|
+
|
12
|
+
module Jekyll
|
13
|
+
module DesignTagFramework
|
14
|
+
module ImageAssetFilter
|
15
|
+
def asset_expand(input, arg, alt_extension = nil)
|
16
|
+
dirname = File.dirname(input)
|
17
|
+
extension = File.extname(input)
|
18
|
+
basename = File.basename(input, extension)
|
19
|
+
extension = alt_extension unless alt_extension.nil?
|
20
|
+
|
21
|
+
"#{dirname}/#{basename}-#{arg}#{extension}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
Liquid::Template.register_filter(Jekyll::DesignTagFramework::ImageAssetFilter)
|
28
|
+
|
29
|
+
|
30
|
+
Jekyll::Hooks.register :site, :post_write do |site|
|
31
|
+
# code to call after Jekyll renders a page
|
32
|
+
brand_config = site.config["brand"]
|
33
|
+
if brand_config && brand_config["image"] && site.config["generate_favicon"]
|
34
|
+
src_file = File.join(site.source, site.config["brand"]["image"])
|
35
|
+
extension = File.extname(src_file)
|
36
|
+
# basename = File.basename(src_file, extension)
|
37
|
+
unless File.exist?(src_file)
|
38
|
+
throw "Could not find file #{src_file}"
|
39
|
+
end
|
40
|
+
|
41
|
+
dst_file = File.join(site.dest, "favicon.ico")
|
42
|
+
|
43
|
+
cmd = "magick #{src_file.shellescape} -alpha off -resize 48x48 #{dst_file.shellescape}"
|
44
|
+
system(cmd)
|
45
|
+
|
46
|
+
dst_file = File.join(site.dest, "favicon512x512.png")
|
47
|
+
|
48
|
+
cmd = "magick #{src_file.shellescape} -resize 512x512 #{dst_file.shellescape}"
|
49
|
+
system(cmd)
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-design-tag-framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Sosnowski
|
8
|
+
autorequire:
|
8
9
|
bindir: bin
|
9
10
|
cert_chain: []
|
10
11
|
date: 2025-02-03 00:00:00.000000000 Z
|
@@ -71,16 +72,29 @@ dependencies:
|
|
71
72
|
- - "~>"
|
72
73
|
- !ruby/object:Gem::Version
|
73
74
|
version: 0.14.0
|
75
|
+
description:
|
76
|
+
email:
|
74
77
|
executables: []
|
75
78
|
extensions: []
|
76
79
|
extra_rdoc_files: []
|
77
80
|
files:
|
78
81
|
- LICENSE
|
79
82
|
- README.md
|
83
|
+
- lib/jekyll-design-tag-framework.rb
|
84
|
+
- lib/jekyll-design-tag-framework/convenience_types.rb
|
85
|
+
- lib/jekyll-design-tag-framework/design_element.rb
|
86
|
+
- lib/jekyll-design-tag-framework/design_group.rb
|
87
|
+
- lib/jekyll-design-tag-framework/design_tag.rb
|
88
|
+
- lib/jekyll-design-tag-framework/parameter_parser.rb
|
89
|
+
- lib/jekyll-design-tag-framework/picture_element.rb
|
90
|
+
- lib/jekyll-design-tag-framework/template_loader.rb
|
91
|
+
- lib/jekyll-design-tag-framework/utils.rb
|
92
|
+
- lib/jekyll-design-tag-framework/version.rb
|
80
93
|
homepage: https://design-tag-framework.github.io/jekyll-design-tag-framework/
|
81
94
|
licenses:
|
82
95
|
- AGPL-3.0-only
|
83
96
|
metadata: {}
|
97
|
+
post_install_message:
|
84
98
|
rdoc_options: []
|
85
99
|
require_paths:
|
86
100
|
- lib
|
@@ -95,7 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
requirements: []
|
98
|
-
rubygems_version: 3.
|
112
|
+
rubygems_version: 3.5.22
|
113
|
+
signing_key:
|
99
114
|
specification_version: 4
|
100
115
|
summary: A collection of Liquid tags for Jekyll themes and sites, to help separating
|
101
116
|
design and content.
|