谷歌云应用 » v2ex » 添加了BBCODE的[IMG],支持 [IMG] [/IMG] 方式显示图片 - v2ex

添加了BBCODE的[IMG],支持 [IMG] [/IMG] 方式显示图片

By life at 2 月前

添加了BBCODE的[IMG],支持 [IMG] [/IMG] 方式显示图片
# By zern


1 在 v2ex\templatetags\filters.py 文件中添加如下内容:

# auto convert BBCODE [IMG] by zern
def bbcode_content(value):
pat = re.compile(r']*?)>', re.DOTALL | re.M)
value = re.sub(pat, '\\1', value)
bbdata = [
(r'\[url\](.+?)\[/url\]', r'\1'),
(r'\[url=(.+?)\](.+?)\[/url\]', r'\2'),
(r'\[email\](.+?)\[/email\]', r'\1'),
(r'\[email=(.+?)\](.+?)\[/email\]', r'\2'),
(r'\[img\](.+?)\[/img\]', r''),
(r'\[img=(.+?)\](.+?)\[/img\]', r''),
(r'\[b\](.+?)\[/b\]', r'\1'),
(r'\[i\](.+?)\[/i\]', r'\1'),
(r'\[u\](.+?)\[/u\]', r'\1'),
(r'\[quote\](.+?)\[/quote\]', r'\1'),
(r'\[center\](.+?)\[/center\]', r'\1'),
(r'\[code\]\s?(.+?)\[/code\]', r'\1'),
(r'\[big\](.+?)\[/big\]', r'\1'),
(r'\[small\](.+?)\[/small\]', r'\1'),
]
for bbset in bbdata:
p = re.compile(bbset[0], re.DOTALL)
value = p.sub(bbset[1], value)
return value
register.filter(bbcode_content)


2 在 tpl\portion\topic_content.html 加入 |bbcode_content|

{{ topic.content|escape|bbcode_content|youtube|youku|tudou|sinaimg|imgly|clly|mentions|gist|autolink|linebreaksbr }}


3 在 tpl\portion\topic_replies.html 加入 |bbcode_content|

{{ reply.content|escape|bbcode_content|youku|sinaimg|imgly|clly|mentions|gist|autolink|linebreaksbr }}


4 在 tpl\feed\index.xml 及 在 tpl\feed\read.xml 加入 |bbcode_content|

目前尚无回复