import cgi, sys, os, re, errno, stat, glob
-image_ext = 'png|gif|jpg|jpeg|bmp|ico'
+image_ext = 'png|gif|jpg|jpeg|svg|bmp|ico'
video_ext = 'avi|webm|mkv|ogv'
-image_re = re.compile(r".*\.(" + image_ext + "|" + video_ext + ")$", re.IGNORECASE)
+image_re = re.compile(r".*\.(" + image_ext + ")$", re.IGNORECASE)
video_re = re.compile(r".*\.(" + video_ext + ")$", re.IGNORECASE)
# FIXME: we accept stuff like foo/../bar and we shouldn't
file_re = re.compile(r"([A-Za-z0-9_\-][A-Za-z0-9_\.\-/ ]*)$")
if not descr: descr = humanlink(name)
url = relative_url(name)
if video_re.match(name):
- return '<video controls="1" src="%s">Your browser does not support HTML5 video</video>' % url
+ args = ''
+ if 'maxwidth' in kvargs:
+ args += 'width=' + kvargs['maxwidth']
+ return '<video controls="1" src="%s" %s/>' % (url, args)
elif image_re.match(name):
return '<a href="%s"><img border="0" src="%s" alt="%s" /></a>' % (url, url + url_args(kvargs), descr)
elif file_re.match(name) and not ext_re.search(name): # FIXME: this guesses a wiki page
out += '[[' + pathname + '|' + dirname + ']]/'
out += ' ==\n'
images_out = '\n'
-
+
for filename in page_list(self._filename(), file_re):
- if image_re.match(filename):
+ if image_re.match(filename) or video_re.match(filename):
maxwidth = config_get('image_maxwidth', '400')
if maxwidth:
maxwidth = ' | maxwidth=' + str(maxwidth)
print('<!doctype html>\n<html lang="en">')
print("<head><title>%s: %s</title>" % (config_get('site_name', "Unconfigured Wiki"), text))
print(' <meta charset="utf-8">')
+ print(' <meta name="viewport" content="width=device-width, initial-scale=1.0">')
if not name:
print(' <meta name="robots" content="noindex,nofollow" />')