X-Git-Url: https://codewiz.org/gitweb?p=geekigeeki.git;a=blobdiff_plain;f=geekigeeki.py;h=5340646c63101b24629d96a26ff2adea8e66a3b7;hp=43b9cc1107ac68b484b205b86e69f79d18107b25;hb=61f00a0d333aeb1cb45e98ab4c1902ff1981ad6a;hpb=3c14378f82db1c48eee23445edd2fd59e03349dd
diff --git a/geekigeeki.py b/geekigeeki.py
index 43b9cc1..5340646 100755
--- a/geekigeeki.py
+++ b/geekigeeki.py
@@ -3,7 +3,7 @@
#
# Copyright 1999, 2000 Martin Pool
'
-def link_tag(params, text=None, ss_class=None, authentication=False):
+def link_tag(params, text=None, ss_class=None, privileged=False):
if text is None:
text = params # default
classattr = ''
@@ -162,11 +171,9 @@ def link_tag(params, text=None, ss_class=None, authentication=False):
# Prevent crawlers from following links potentially added by spammers or to generated pages
if ss_class == 'external' or ss_class == 'navlink':
classattr += 'rel="nofollow" '
- if authentication:
- path = privileged_path()
- else:
- path = script_name()
- return '%s' % (classattr, path, params, text)
+ elif url_re.match(params):
+ classattr += 'rel="nofollow" '
+ return '%s' % (classattr, relative_url(params, privileged=privileged), text)
# Search ---------------------------------------------------
@@ -318,11 +325,11 @@ def _macro_TitleIndex(*vargs):
for name in pages:
letter = string.lower(name[0])
if letter != current_letter:
- s = s + '%s
' % (letter, letter)
+ s += '%s
' % (letter, letter)
current_letter = letter
else:
- s = s + '
'
- s = s + Page(name).link_to()
+ s += '
'
+ s += Page(name).link_to()
return s
@@ -379,7 +386,7 @@ class PageFormatter:
return Page(word).link_to()
def _img_repl(self, word):
- path = script_name() + '/' + word;
+ path = relative_url(word)
return '' % (path, path)
def _url_repl(self, word):
@@ -389,7 +396,7 @@ class PageFormatter:
return '%s' % (word, word)
def _hurl_repl(self, word):
- m = re.compile("\[\[(\S+)(?:\s*\|\s*([^\]]*)|)\]\]").match(word)
+ m = re.compile("\[\[([^ \t\n\r\f\v\|]+)(?:\s*\|\s*([^\]]+)|)\]\]").match(word)
name = m.group(1)
descr = m.group(2) or name
@@ -397,17 +404,14 @@ class PageFormatter:
if macro:
return apply(macro, (name, descr))
elif img_re.match(name):
- return '' % (name, name, descr)
+ name = relative_url(name)
+ # The "extthumb" nonsense works around a limitation of the HTML block model
+ return '' % (name, name, descr, descr)
else:
if img_re.match(descr):
descr = ''
- if url_re.match(name):
- return '%s' % (name, descr)
- elif name.startswith('/'):
- return '%s' % (name, descr)
- else:
- return link_tag(name, descr, 'wikilink')
+ return link_tag(name, descr, 'wikilink')
def _email_repl(self, word):
return '%s' % (word, word)
@@ -433,13 +437,7 @@ class PageFormatter:
return ''
def _hi_repl(self, word):
- if word == 'FIXME':
- cl = 'error'
- elif word == 'DONE':
- cl = 'success'
- elif word == 'TODO':
- cl = 'notice'
- return '' + word + ''
+ return '' + word + ''
def _tr_repl(self, word):
out = ''
@@ -511,7 +509,7 @@ class PageFormatter:
# Links
+ r"|(?P\b[a-zA-Z0-9_-]+\.(png|gif|jpg|jpeg|bmp))"
+ r"|(?P\s*\}\}\})"
+ + r"|(?P