Merge branch 'master' of ssh://bernie@trinity.codewiz.org/~/public_html/wiki/git...
authorBernie Innocenti <bernie@codewiz.org>
Sun, 30 Nov 2008 19:12:54 +0000 (14:12 -0500)
committerBernie Innocenti <bernie@codewiz.org>
Sun, 30 Nov 2008 19:12:54 +0000 (14:12 -0500)
geekigeeki.conf.py
geekigeeki.css
geekigeeki.py
post_edit_hook.sh

index 59b85305a19138e88b4d016147c489baf07d111b..31cf0469820519fafd5b568e082e9c7767fd7ec0 100644 (file)
@@ -12,8 +12,9 @@ link_urls = [
     # 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'
@@ -32,7 +33,7 @@ show_hosts = True
 nonexist_pfx = ''
 
 # maximum image width in pixels
-image_maxwidth = 800
+image_maxwidth = 400
 
 # Set to True for CGI var dump
 debug_cgi = False
index 8971f4bcb9eb73d3c9cf6401e428071b8e0397e3..8e7e9cc61b8d152c0c5897ec25f4211d32311321 100755 (executable)
@@ -215,10 +215,17 @@ div.nav {
 
 #footer p.copyright {
        float: left;
-       margin-left: 1em;
+       margin-left: 0em;
        padding: 0 1em;
 }
 
+#footer .license {
+       border-width: 0;
+       vertical-align: top;
+       margin-left: 0em;
+       margin-right: 1em;
+}
+
 #footer p.modified {
        float: right;
        text-align: right;
index 07b3307709e243518dfcebb9f4e54b1c2185765c..5a3eb8e58abc8b422d77a1b64bda50789886e3c0 100755 (executable)
@@ -246,9 +246,9 @@ def handle_edit(pagename):
     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'
@@ -265,17 +265,20 @@ def make_index_key():
     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>'
@@ -360,12 +363,11 @@ class WikiFormatter:
     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')
 
@@ -622,7 +624,7 @@ class Page:
                 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
 
@@ -692,18 +694,25 @@ class Page:
             + ' 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'>"
@@ -741,7 +750,7 @@ class Page:
                 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'
@@ -754,7 +763,8 @@ class Page:
             cmd = ( post_edit_hook
                 + " '" + data_dir + '/' + self.page_name
                 + "' '" + remote_user()
-                + "' '" + remote_host() + "'"
+                + "' '" + remote_host()
+               + "' '" + changelog + "'"
             )
             out = os.popen(cmd)
             output = out.read()
index fca8e24a856da03ee5014e89c47802e765a5f5c9..2c06f19b1474abdbd2b98e637ee4d372024b46ad 100755 (executable)
@@ -4,7 +4,7 @@
 set -e
 exec 2>&1
 
-if [ $# -ne 3 ]; then
+if [ $# -ne 4 ]; then
        echo "Usage $0 <path-to-commit> <remote-user> <remote-host>"
        exit 1
 fi
@@ -17,4 +17,4 @@ git-add $file # In case it's a new page
 
 GIT_COMMITTER_NAME='GeekiGeeki' \
 GIT_COMMITTER_EMAIL='webmaster@codewiz.org' \
-git-commit -a -m "Edit page $file" --author="$2 <$2@$3>"
+git commit -a -m "$4" --author="$2 <$2@$3>"