blob: f0d420f9c207988a411e741f5f9355254b3ba8f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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
# directly add generated page metadata to `page.meta` in liquid
page.data['meta'] = site.data['post'][page.slug]
# set page.date to generated date_initial
page.data['date'] = page.data['meta']['date_initial']
end
end
def parse_unix_dates(data)
for key, value in data do
if value.is_a? Hash
data[key] = parse_unix_dates(value)
next
end
next unless value.is_a? String
next unless value =~ /^@\d+$/
data[key] = Time.at(Integer(value[1..]))
end
return data
end
end
end
|