2 from django import template
4 Randomized string encoding
5 Inspired by John Gruber's Markdown:
6 http://daringfireball.net/projects/markdown/syntax#autolink
8 register = template.Library()
10 #@template.stringfilter
11 def encode_string(value):
13 Encode a string into it's equivalent html entity.
15 The tag will randomly choose to represent the character as a hex digit or
18 Use {{ obj.name|encode_string }}
20 {{ "person"|encode_string }} Becomes something like:
21 person
25 type = random.randint(0,1)
27 en = "&#x%x;" % ord(a)
33 register.filter("encode_string", encode_string)
35 def encode_mailto(value, arg):
37 Encode an e-mail address and its corresponding link name to its equivalent
40 Use {{ obj.email|encode_mailto:obj.name }}
42 {{ "j@j.com"|encode_mailto:"j" }} Becomes something like:
43 <a href="mailto:j@j\
44 .com">j</a>
46 address = 'mailto:%s' % value
47 address = encode_string(address)
48 name = encode_string(arg)
49 tag = "<a href=\"%s\">%s</a>" % (address, name)
52 register.filter("encode_mailto", encode_mailto)