aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2025-01-24 23:58:41 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2025-01-24 23:58:41 +0100
commitca3d6e59baade9eafdf5b1d35be617a9947f4d06 (patch)
tree4e206ca627565acb87e86e5b8da77aa86b859e55
parent993b7c123c52965642d1bd1544041cad2d9a3b0e (diff)
remove module
-rw-r--r--_plugins/meta.rb73
1 files changed, 35 insertions, 38 deletions
diff --git a/_plugins/meta.rb b/_plugins/meta.rb
index 6024cca..5caa6b6 100644
--- a/_plugins/meta.rb
+++ b/_plugins/meta.rb
@@ -1,48 +1,45 @@
-module Meta
- class Generator < Jekyll::Generator
- def generate(site)
- # convert yaml @0123456789 (unix timestamps) into ruby Date
- site.data = parse_unix_dates(site.data)
-
- for page in site.collections['items'] do
- # convert generated page metadata and add directly to `page.meta` in liquid
- page.data['meta'] = transform_data(site, page.slug)
-
- # set page.authors to author metadata from git+yaml
- page.data['authors'] = site.data['authors'].filter do |author|
- author['git'].intersect?(page.data['meta']['authors'])
- end
-
- # set page.date to generated date_initial
- page.data['date'] = page.data['meta']['date']
+class Meta < Jekyll::Generator
+ def generate(site)
+ # convert yaml @0123456789 (unix timestamps) into ruby Date
+ site.data = parse_unix_dates(site.data)
+
+ for page in site.collections['items'] do
+ # convert generated page metadata and add directly to `page.meta` in liquid
+ page.data['meta'] = transform_data(site, page.slug)
+
+ # set page.authors to author metadata from git+yaml
+ page.data['authors'] = site.data['authors'].filter do |author|
+ author['git'].intersect?(page.data['meta']['authors'])
end
- end
- def parse_unix_dates(data)
- # recurse deeper
- return data.transform_values { |val| parse_unix_dates(val) } if data.is_a? Hash
- return data.map { |val| parse_unix_dates(val) } if data.is_a? Array
+ # set page.date to generated date_initial
+ page.data['date'] = page.data['meta']['date']
+ end
+ end
- # convert strings matching regex
- return Time.at(Integer(data[1..])) if data.is_a? String and data =~ /^@\d+$/
+ def parse_unix_dates(data)
+ # recurse deeper
+ return data.transform_values { |val| parse_unix_dates(val) } if data.is_a? Hash
+ return data.map { |val| parse_unix_dates(val) } if data.is_a? Array
- # base case
- return data
- end
+ # convert strings matching regex
+ return Time.at(Integer(data[1..])) if data.is_a? String and data =~ /^@\d+$/
- def transform_data(site, slug)
- data = site.data['post'][slug]
- data['git_log'] = data['git_log'].sort { |c| c['date'].to_i }
+ # base case
+ return data
+ end
- git_log = data['git_log'].filter do |commit|
- !site.data['git']['ignore_commits'].include?(commit['hash'])
- end
+ def transform_data(site, slug)
+ data = site.data['post'][slug]
+ data['git_log'] = data['git_log'].sort { |c| c['date'].to_i }
- data['authors'] = git_log.map{ |c| c['author'] }.uniq
- data['date_initial'] = git_log.first['date']
- data['date'] = git_log.last['date']
- return data
+ git_log = data['git_log'].filter do |commit|
+ !site.data['git']['ignore_commits'].include?(commit['hash'])
end
+
+ data['authors'] = git_log.map{ |c| c['author'] }.uniq
+ data['date_initial'] = git_log.first['date']
+ data['date'] = git_log.last['date']
+ return data
end
end
-