diff --git a/VERSION b/VERSION index a06ea35f..e91fd62b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.0 (2012-08-17 22:45:52) dev +Version 2.00.0 (2012-08-17 23:07:17) dev diff --git a/gluon/contrib/markmin/markmin2html.py b/gluon/contrib/markmin/markmin2html.py index 3e0fa2c7..9c84546c 100755 --- a/gluon/contrib/markmin/markmin2html.py +++ b/gluon/contrib/markmin/markmin2html.py @@ -511,7 +511,7 @@ LINK = '\x07' DISABLED_META = '\x08' LATEX = '' regex_URL=re.compile(r'@\{(?P\w+)/(?P.+?)\}') -regex_env=re.compile(r'@\{(?P\w+?)\}') +regex_env=re.compile(r'@\{(?P[\w\-\.]+?)(\:(?P.*?))?\}') regex_expand_meta = re.compile('('+META+'|'+DISABLED_META+')') regex_dd=re.compile(r'\$\$(?P.*?)\$\$') regex_code = re.compile('('+META+'|'+DISABLED_META+r')|(``(?P.+?)``(?::(?P[a-zA-Z][_a-zA-Z\-\d]*)(?:\[(?P

[^\]]*)\])?)?)',re.S) @@ -534,8 +534,9 @@ ttab_in = maketrans("'`:*~\\[]{}@$+-.#", '\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\ ttab_out = maketrans('\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b',"'`:*~\\[]{}@$+-.#") def markmin_escape(text): - """ insert \\ before markmin control characters: '`:*~[]{}@$ """ - return regex_markmin_escape.sub(lambda m: '\\'+m.group(0).replace('\\','\\\\'), text) + """ insert \\ before markmin control characters: '`:*~[]{}@$ """ + return regex_markmin_escape.sub( + lambda m: '\\'+m.group(0).replace('\\','\\\\'), text) def autolinks_simple(url): """ @@ -784,8 +785,8 @@ def render(text, >>> render("this is ``a green text``:color[green:]") '

this is a green text

' - >>> render("**@{probe}**", environment=dict(probe="this is a test")) - '

this is a test

' + >>> render("**@{probe:1}**", environment=dict(probe=lambda t:"test %s" % t)) + '

test 1

' >>> render('[[id1 [span **messag** in ''markmin''] ]] ... [[**link** to id [link\\\'s title] #mark1]]') '
' @@ -798,7 +799,13 @@ def render(text, if environment: def u2(match, environment=environment): - return str(environment.get(match.group('a'), match.group(0))) + f = environment.get(match.group('a'), match.group(0)) + if callable(f): + try: + f = f(match.group('b')) + except Exception, e: + f = 'ERROR: %s' % e + return str(f) text = regex_env.sub(u2, text) if URL is not None:

span messag in markmin ... link to id