mirror of
https://github.com/seigler/dash-docs
synced 2025-07-28 10:16:15 +00:00
Simple data-based rendering of desktop client list
This commit is contained in:
parent
08da958e6c
commit
8d01072588
5 changed files with 199 additions and 0 deletions
35
_plugins/clients.rb
Normal file
35
_plugins/clients.rb
Normal 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)
|
Loading…
Add table
Add a link
Reference in a new issue