Skip to content

Instantly share code, notes, and snippets.

@EntityReborn
Created April 3, 2011 22:26
Show Gist options
  • Save EntityReborn/900882 to your computer and use it in GitHub Desktop.
Save EntityReborn/900882 to your computer and use it in GitHub Desktop.
from django import template
from socialites.wiki.models import Page
import re
wikilink = re.compile(r"\[\[([^\]]+)\]\]")
register = template.Library()
@register.filter
def wikify(value):
for match in wikilink.finditer(value):
text = match.group(1)
try:
page = Page.objects.get(pk=text)
add = ""
except Page.DoesNotExist:
page = Page(name=text, content="")
add = "class='doesntexist'"
value = value.replace("[[%s]]"%text,
r"<a %s href='%s/'>%s</a>"%(add,
page.url(),
page.name))
return value
wiki/page/\1/'>\1</a>", value)
@funkybob
Copy link

funkybob commented Apr 3, 2011

from django import template
from socialites.wiki.models import Page
import re

wikilink = re.compile(r"[[([^]]+)]]")
register = template.Library()

@register.filter
def wikify(value):
for match in wikilink.finditer(value):
text = match.group(1)
try:
page = Page.objects.get(pk=text)
value = value.replace('[[%s]]' % text, '%s' % (page.url(), page.name,))
except Page.DoesNotExist:
value = value.replace('[[%s]]' % text, '%s' % ( dummy_url, text )

return value

wiki/page/\1/'>\1", value)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment