blob: 971f1e21a028c9cc13f520f452a6ae590ae9d8eb (
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
32
33
34
35
36
37
38
39
40
41
42
43
|
module Gentoo
class HerdsGenerator < Jekyll::Generator
XML = '_data/herds.xml'
def generate(site)
xml = Nokogiri::XML(File.open(XML))
site.data['herds'] ||= {}
xml.xpath('/herds/herd').each do |item|
item_data = {}
name = item.xpath('./name').first.text
item_data['email'] = item.xpath('./email/text()').first.content
item_data['description'] = item.xpath('./description/text()').first.text
ns_maint = item.xpath('./maintainer')
item_data['maintainers'] = [] if ns_maint.size > 0
ns_maint.each do |maint|
maint_data = {
'email' => maint.xpath('./email/text()').first.text,
'name' => nil,
'role' => nil
}
ns_name = maint.xpath('./name/text()')
maint_data['name'] = ns_name.first.text if ns_name.size > 0
ns_role = maint.xpath('./role/text()')
maint_data['role'] = ns_role.first.text if ns_role.size > 0
item_data['maintainers'] << maint_data
end
ns_maintproj = item.xpath('./maintainingproject/text()')
item_data['proj'] = ns_maintproj.first.text if ns_maintproj.size > 0
site.data['herds'][name] = item_data
end
end
end
end
|