|
From: Brian J. <bri...@gn...> - 2007-10-16 22:54:58
|
A while back I did an ugly hack that mostly worked (but I haven't used
it in a while). I just uses a giant regular expresion to extract link
targets, run them through the wiki engine, and then process the whole
thing with markdown.py.
There must be a better way.
"""Trac plugin for Markdown Syntax (with links)
Everything markdown-ed as a link target is run through Trac's wiki
formatter to get a substitute url.
Tested with Trac 0.8.1 and python-markdown 1.4 on Debian GNU/Linux.
Brian Jaress
2007-01-04
"""
from re import sub, compile, search, I
from markdown import markdown
from trac.WikiFormatter import wiki_to_oneliner
#links, autolinks, and reference-style links
LINK = compile(
r'(\]\()([^) ]+)([^)]*\))|(<)([^>]+)(>)|(\n\[[^]]+\]: *)([^ \n]+)(.*\n)'
)
HREF = compile(r'href=[\'"]?([^\'" ]*)')
def execute(hdf, txt, env):
abs = env.abs_href.base
abs = abs[:len(abs) - len(env.href.base)]
def convert(m):
pre, target, suf = filter(None, m.groups())
url = search(
HREF,
wiki_to_oneliner(target, hdf, env, env.get_db_cnx()),
I).groups()[0]
#Trac creates relative links, which markdown won't touch inside
# <autolinks> because they look like HTML
if pre == '<' and url != target:
pre += abs
return pre + str(url) + suf
return markdown(sub(LINK, convert, txt))
On Tue, Oct 16, 2007 at 03:45:46PM -0500, Yuri Takhteyev wrote:
> Has anyone gotten Trac working with Markdown? What exactly does it take?
>
> - yuri
>
> --
> http://www.freewisdom.org/
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Python-markdown-discuss mailing list
> Pyt...@li...
> https://lists.sourceforge.net/lists/listinfo/python-markdown-discuss
--
Brian Jaress
bri...@gn...
http://brian-jaress.livejournal.com
|