reSTを導入するも

import re, urllib
register = Library()


BRACKET_LINK_RE=re.compile("\[\[(.+?)\]\]")

def restructuredtext_rigid(value):
	try:
		from docutils.core import publish_parts
	except ImportError:
		return value
	else:
		parts = publish_parts(source=value, settings_overrides={'doctitle_xform': False},writer_name="html4css1")
	return parts["fragment"]

@register.filter
def wikify(value):
	"""Makes WikiWords"""
	def quote_link(ob):
		word=ob.group(1)
		return r'<a href="/wiki/%s">%s</a>' % (urllib.quote(word), word)
	#return restructuredtext_rigid(value)
	value = restructuredtext_rigid(value)
	return BRACKET_LINK_RE.sub(quote_link, value)

昨日のwikiの内容を変更するカスタムフィルターにrestructuredtextを導入しようかとあれこれテストしてみました。

test

aa

を入力すると、

<h1>test</h1>

になるはずのtestが消える、、、、しかしこれはメーリングリストにもあったので
自前のrestructuredtext_rigid(value)を作って

parts = publish_parts(source=value,
   settings_overrides={'doctitle_xform': False},
   writer_name="html4css1")
return parts["fragment"]

で解決しました。

しかしそうすると今までできてた

[[wikititle]]

<a href="wikititle">wikititle</a>

が、英語だとできるけど日本語だとエラーになる症状が、、、、、

気になるところですが、Djangoの勉強と全く関係なくなるので日本語のwikinameはしない方向で明日からがんばりたいと思います。