From 6850fc8c83494d6ec415ea9d36fb98366373cc03 Mon Sep 17 00:00:00 2001 From: Amir Taaki Date: Mon, 9 Jul 2012 16:53:08 +0100 Subject: [PATCH] Randomize the ordering of clients displayed. --- _plugins/random.rb | 23 +++++++++++++++++++++++ clients.html | 5 +++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 _plugins/random.rb diff --git a/_plugins/random.rb b/_plugins/random.rb new file mode 100644 index 00000000..3679f5b2 --- /dev/null +++ b/_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) + diff --git a/clients.html b/clients.html index 6fcc0218..b3aeb77c 100644 --- a/clients.html +++ b/clients.html @@ -97,8 +97,9 @@ clients:

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.

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!

- {% for client in page.clients %} - {% cycle '', '', '', '

' %} + {% random page.clients clients %} + {% for client in clients %} + {% cycle '', '', '', '

' %}