Simple data-based rendering of desktop client list

This commit is contained in:
Luke Dashjr 2012-04-10 17:01:03 -04:00
parent 08da958e6c
commit 8d01072588
5 changed files with 199 additions and 0 deletions

35
_plugins/clients.rb Normal file
View file

@ -0,0 +1,35 @@
module Jekyll
class Clients < Liquid::Tag
def render(context)
page = context.environments.first['page']
r = ''
for h in page['client_info']
r += '<tr>'
r += '<th>' + h['text'] + '</th>'
hid = h['id']
td = h.fetch('td', 'td')
for c in page['clients']
ci = c[hid]
curi = c.fetch(hid + '_uri', nil)
r += '<' + td
if h.has_key?(ci)
r += ' class="' + h[ci] + '"'
end
r += '>'
if curi
r += "<a href='" + curi + "'>" + ci + "</a>"
elsif ci
r += ci
end
r += "</" + td + ">"
end
r += '</tr>'
end
r
end
end
end
Liquid::Template.register_tag('clients', Jekyll::Clients)