# rel href type
[ 'icon', 'hacker-favicon.ico' ],
[ 'stylesheet', '../wikidata/geekigeeki.css' ],
- [ 'openid.server', 'http://www.codewiz.org/openid' ],
- [ 'openid.delegate', 'http://www.codewiz.org/openid' ],
+ [ 'openid.server', 'http://www.codewiz.org/openid/index.php' ],
+ [ 'openid.delegate', 'http://www.codewiz.org/openid/index.php' ],
+ [ 'pavatar', 'http://www.codewiz.org/wiki/BernieAvatar80x80.png' ],
]
history_url = '../wikigit/wiki.git'
nonexist_pfx = ''
# maximum image width in pixels
-image_maxwidth = 800
+image_maxwidth = 400
# Set to True for CGI var dump
debug_cgi = False
pg = Page(pagename)
if 'save' in form:
if form['file'].value:
- pg.save(form['file'].file.read())
+ pg.save(form['file'].file.read(), form['changelog'].value)
else:
- pg.save(form['savetext'].value.replace('\r\n', '\n'))
+ pg.save(form['savetext'].value.replace('\r\n', '\n'), form['changelog'].value)
pg.format()
elif 'cancel' in form:
pg.msg_text = 'Editing canceled'
return '<p><center>'+ ' | '.join(links) + '</center></p>'
def page_list(dir = None, re = word_re):
- return filter(re.match, os.listdir(dir or data_dir))
+ return sorted(filter(re.match, os.listdir(dir or data_dir)))
def send_footer(name, mod_string=None):
if globals().get('debug_cgi', False):
cgi.print_arguments()
cgi.print_form(form)
cgi.print_environ()
- print '<div id="footer"><hr />'
- print ('<p class="copyright"><span class="benchmark">generated in %0.3fs</span>' +
- ' by <a href="http://www.codewiz.org/wiki/GeekiGeeki">GeekiGeeki</a>' +
- ' version %s</p>') % (clock() - start_time, __version__)
+ print '''
+<div id="footer"><hr />
+<p class="copyright">
+<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img class="license" alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" /></a>
+<span class="benchmark">generated in %0.3fs</span> by <a href="http://www.codewiz.org/wiki/GeekiGeeki">GeekiGeeki</a> version %s
+</p>
+''' % (clock() - start_time, __version__)
if mod_string:
print '<p class="modified">last modified %s</p>' % mod_string
print '</div></body></html>'
def _hurl_repl(self, word):
m = link_re.match(word)
name = m.group(1)
- if m.group(2) is None:
+ descr = m.group(2)
+ if descr is None:
descr = name
elif img_re.match(m.group(2)):
descr = '<img border="0" src="' + descr + '" />'
- else:
- descr = m.group(2)
return link_tag(name, descr, 'wikilink')
self.attrs[m.group(1)] = m.group(2).strip()
#print "bernie: attrs[" + m.group(1) + "] = " + m.group(2) + "<br>\n"
except IOError, er:
- if er.errno != errno.ENOENT:
+ if er.errno != errno.ENOENT and er.errno != errno.EISDIR:
raise er
return self.attrs
+ ' for ' + cgi.escape(remote_user())
+ ' from ' + cgi.escape(get_hostname(remote_host()))
+ '</b></p>')
- print '<div class="editor"><form method="post" enctype="multipart/form-data" action="%s">' % relative_url(self.page_name)
+ print '<div class="editor"><form name="editform" method="post" enctype="multipart/form-data" action="%s">' % relative_url(self.page_name)
print '<input type="hidden" name="edit" value="%s">' % (self.page_name)
- print '<textarea wrap="off" spellcheck="true" id="editor" name="savetext" rows="17" cols="100">%s</textarea>' % (preview or self.get_raw_body())
- print 'Or upload a file: <input type="file" name="file" value="%s" />' % file
+ print '<input type="input" id="editor" name="changelog" value="Edit page %s" accesskey="c" /><br />' % (self.page_name)
+ print '<textarea wrap="off" spellcheck="true" id="editor" name="savetext" rows="17" cols="100" accesskey="e">%s</textarea>' % (preview or self.get_raw_body())
+ print '<label for="file" accesskey="u">Or Upload a file:</label> <input type="file" name="file" value="%s" />' % file
print """
<br />
- <input type="submit" name="save" value="Save" />
- <input type="submit" name="preview" value="Preview" />
+ <input type="submit" name="save" value="Save" accesskey="s">
+ <input type="submit" name="preview" value="Preview" accesskey="p" />
<input type="reset" value="Reset" />
<input type="submit" name="cancel" value="Cancel" />
<br />
- </form></div>"""
+ </form></div>
+ <script language="javascript">
+ <!--
+ document.editform.savetext.focus()
+ //-->
+ </script>
+ """
print "<p>" + Page('EditingTips').link_to() + "</p>"
if preview:
print "<div class='preview'>"
if er.errno != errno.ENOENT: raise er
os.rename(tmp_filename, name)
- def save(self, newdata):
+ def save(self, newdata, changelog):
if not self.can_write():
self.msg_text = 'Write access denied by ACLs'
self.msg_type = 'error'
cmd = ( post_edit_hook
+ " '" + data_dir + '/' + self.page_name
+ "' '" + remote_user()
- + "' '" + remote_host() + "'"
+ + "' '" + remote_host()
+ + "' '" + changelog + "'"
)
out = os.popen(cmd)
output = out.read()