Skip to content

Commit

Permalink
Randomize the ordering of clients displayed.
Browse files Browse the repository at this point in the history
  • Loading branch information
genjix committed Jul 9, 2012
1 parent 47b73f5 commit 6850fc8
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
23 changes: 23 additions & 0 deletions _plugins/random.rb
@@ -0,0 +1,23 @@
class Random < Liquid::Tag
Syntax = /(\w+[.]?\w+)\s+(\w+)/o

def initialize(tag_name, markup, tokens)
if markup =~ Syntax
@collection_name = $1
@randomized_name = $2
else
raise SyntaxError.new("Syntax Error in 'random' - Valid syntax: random [source] [var]")
end
super
end

def render(context)
collection = context[@collection_name]
collection = collection.sort_by{rand}
context[@randomized_name] = collection
return
end
end

Liquid::Template.register_tag('random', Random)

5 changes: 3 additions & 2 deletions clients.html
Expand Up @@ -97,8 +97,9 @@ <h1>Bitcoin Client Software</h1>
<p>Bitcoin is a system of merchants, individuals, a network of participants and software. Together they maintain a mutually co-operating infrastructure without the need for authorities - a decentralised peer-to-peer system. A core layer of the Bitcoin system is the Bitcoin network through which people interact with it using Bitcoin client software. Below we list such software.</p>
<p>Bitcoin clients are the base level of technology for conducting Bitcoin transactions. Clients usually store a collection of keys on that computer (often termed a wallet). These keys allow you to send and receive payments through the Bitcoin network. Nobody has access to these keys except yourself, and they must be kept secure. This is where clients differ, with ingenious strategies and ongoing research into making a user-friendly and secure client - not an easy task when both goals often conflict!</p>
<div class="row">
{% for client in page.clients %}
{% cycle '', '', '', '</div><br><div class="row">' %}
{% random page.clients clients %}
{% for client in clients %}
{% cycle '', '', '', '</div><br><div class="row">' %}
<div class="span-one-third">
<h2><a href="http://{{ client.url }}">{{ client.name }}</a></h2>
<img src="img/clients/{{ client.image }}" />
Expand Down

0 comments on commit 6850fc8

Please sign in to comment.