From 225ec8d44fd17210fe5a8369475286991fd1a3ab Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 8 Oct 2010 11:37:57 +0200 Subject: Initial commit --- .gitignore | 1 + c3hl.py | 346 ++++++++++++++++++++++++ c3hl/css/SlideShow.css | 181 +++++++++++++ c3hl/css/common.css | 580 +++++++++++++++++++++++++++++++++++++++++ c3hl/css/msie.css | 37 +++ c3hl/css/print.css | 68 +++++ c3hl/css/projection.css | 33 +++ c3hl/css/screen.css | 592 ++++++++++++++++++++++++++++++++++++++++++ c3hl/img/PythonPowered.png | Bin 0 -> 1992 bytes c3hl/img/Skyline_Left.png | Bin 0 -> 1890 bytes c3hl/img/Skyline_Right.png | Bin 0 -> 4475 bytes c3hl/img/admon-caution.png | Bin 0 -> 1447 bytes c3hl/img/admon-important.png | Bin 0 -> 1607 bytes c3hl/img/admon-note.png | Bin 0 -> 1255 bytes c3hl/img/admon-tip.png | Bin 0 -> 1910 bytes c3hl/img/admon-warning.png | Bin 0 -> 1971 bytes c3hl/img/alert.png | Bin 0 -> 576 bytes c3hl/img/angry.png | Bin 0 -> 919 bytes c3hl/img/attach.png | Bin 0 -> 1793 bytes c3hl/img/attention.png | Bin 0 -> 730 bytes c3hl/img/biggrin.png | Bin 0 -> 902 bytes c3hl/img/checkmark.png | Bin 0 -> 589 bytes c3hl/img/devil.png | Bin 0 -> 932 bytes c3hl/img/draft.png | Bin 0 -> 9717 bytes c3hl/img/frown.png | Bin 0 -> 945 bytes c3hl/img/icon-error.png | Bin 0 -> 820 bytes c3hl/img/icon-info.png | Bin 0 -> 876 bytes c3hl/img/idea.png | Bin 0 -> 556 bytes c3hl/img/moin-action.png | Bin 0 -> 923 bytes c3hl/img/moin-attach.png | Bin 0 -> 659 bytes c3hl/img/moin-bottom.png | Bin 0 -> 641 bytes c3hl/img/moin-conflict.png | Bin 0 -> 719 bytes c3hl/img/moin-deleted.png | Bin 0 -> 796 bytes c3hl/img/moin-diff.png | Bin 0 -> 526 bytes c3hl/img/moin-download.png | Bin 0 -> 1370 bytes c3hl/img/moin-edit.png | Bin 0 -> 751 bytes c3hl/img/moin-email.png | Bin 0 -> 563 bytes c3hl/img/moin-ftp.png | Bin 0 -> 652 bytes c3hl/img/moin-help.png | Bin 0 -> 996 bytes c3hl/img/moin-home.png | Bin 0 -> 619 bytes c3hl/img/moin-icon.png | Bin 0 -> 427 bytes c3hl/img/moin-info.png | Bin 0 -> 788 bytes c3hl/img/moin-inter.png | Bin 0 -> 682 bytes c3hl/img/moin-jabber.png | Bin 0 -> 422 bytes c3hl/img/moin-new.png | Bin 0 -> 632 bytes c3hl/img/moin-news.png | Bin 0 -> 474 bytes c3hl/img/moin-parent.png | Bin 0 -> 599 bytes c3hl/img/moin-print.png | Bin 0 -> 515 bytes c3hl/img/moin-raw.png | Bin 0 -> 740 bytes c3hl/img/moin-readonly.png | Bin 0 -> 430 bytes c3hl/img/moin-renamed.png | Bin 0 -> 786 bytes c3hl/img/moin-rss.png | Bin 0 -> 757 bytes c3hl/img/moin-search.png | Bin 0 -> 935 bytes c3hl/img/moin-show.png | Bin 0 -> 923 bytes c3hl/img/moin-subscribe.png | Bin 0 -> 791 bytes c3hl/img/moin-telnet.png | Bin 0 -> 681 bytes c3hl/img/moin-top.png | Bin 0 -> 627 bytes c3hl/img/moin-unsubscribe.png | Bin 0 -> 583 bytes c3hl/img/moin-up.png | Bin 0 -> 539 bytes c3hl/img/moin-updated.png | Bin 0 -> 605 bytes c3hl/img/moin-www.png | Bin 0 -> 928 bytes c3hl/img/ohwell.png | Bin 0 -> 921 bytes c3hl/img/prio1.png | Bin 0 -> 266 bytes c3hl/img/prio2.png | Bin 0 -> 278 bytes c3hl/img/prio3.png | Bin 0 -> 276 bytes c3hl/img/redface.png | Bin 0 -> 876 bytes c3hl/img/sad.png | Bin 0 -> 880 bytes c3hl/img/smile.png | Bin 0 -> 873 bytes c3hl/img/smile2.png | Bin 0 -> 860 bytes c3hl/img/smile3.png | Bin 0 -> 902 bytes c3hl/img/smile4.png | Bin 0 -> 876 bytes c3hl/img/star_off.png | Bin 0 -> 738 bytes c3hl/img/star_on.png | Bin 0 -> 758 bytes c3hl/img/thumbs-up.png | Bin 0 -> 410 bytes c3hl/img/tired.png | Bin 0 -> 896 bytes c3hl/img/tongue.png | Bin 0 -> 920 bytes moin.fcgi | 88 +++++++ wikiconfig.py | 184 +++++++++++++ 78 files changed, 2110 insertions(+) create mode 100644 .gitignore create mode 100644 c3hl.py create mode 100644 c3hl/css/SlideShow.css create mode 100644 c3hl/css/common.css create mode 100644 c3hl/css/msie.css create mode 100644 c3hl/css/print.css create mode 100644 c3hl/css/projection.css create mode 100644 c3hl/css/screen.css create mode 100644 c3hl/img/PythonPowered.png create mode 100644 c3hl/img/Skyline_Left.png create mode 100644 c3hl/img/Skyline_Right.png create mode 100644 c3hl/img/admon-caution.png create mode 100644 c3hl/img/admon-important.png create mode 100644 c3hl/img/admon-note.png create mode 100644 c3hl/img/admon-tip.png create mode 100644 c3hl/img/admon-warning.png create mode 100644 c3hl/img/alert.png create mode 100644 c3hl/img/angry.png create mode 100644 c3hl/img/attach.png create mode 100644 c3hl/img/attention.png create mode 100644 c3hl/img/biggrin.png create mode 100644 c3hl/img/checkmark.png create mode 100644 c3hl/img/devil.png create mode 100644 c3hl/img/draft.png create mode 100644 c3hl/img/frown.png create mode 100644 c3hl/img/icon-error.png create mode 100644 c3hl/img/icon-info.png create mode 100644 c3hl/img/idea.png create mode 100644 c3hl/img/moin-action.png create mode 100644 c3hl/img/moin-attach.png create mode 100644 c3hl/img/moin-bottom.png create mode 100644 c3hl/img/moin-conflict.png create mode 100644 c3hl/img/moin-deleted.png create mode 100644 c3hl/img/moin-diff.png create mode 100644 c3hl/img/moin-download.png create mode 100644 c3hl/img/moin-edit.png create mode 100644 c3hl/img/moin-email.png create mode 100644 c3hl/img/moin-ftp.png create mode 100644 c3hl/img/moin-help.png create mode 100644 c3hl/img/moin-home.png create mode 100644 c3hl/img/moin-icon.png create mode 100644 c3hl/img/moin-info.png create mode 100644 c3hl/img/moin-inter.png create mode 100644 c3hl/img/moin-jabber.png create mode 100644 c3hl/img/moin-new.png create mode 100644 c3hl/img/moin-news.png create mode 100644 c3hl/img/moin-parent.png create mode 100644 c3hl/img/moin-print.png create mode 100644 c3hl/img/moin-raw.png create mode 100644 c3hl/img/moin-readonly.png create mode 100644 c3hl/img/moin-renamed.png create mode 100644 c3hl/img/moin-rss.png create mode 100644 c3hl/img/moin-search.png create mode 100644 c3hl/img/moin-show.png create mode 100644 c3hl/img/moin-subscribe.png create mode 100644 c3hl/img/moin-telnet.png create mode 100644 c3hl/img/moin-top.png create mode 100644 c3hl/img/moin-unsubscribe.png create mode 100644 c3hl/img/moin-up.png create mode 100644 c3hl/img/moin-updated.png create mode 100644 c3hl/img/moin-www.png create mode 100644 c3hl/img/ohwell.png create mode 100644 c3hl/img/prio1.png create mode 100644 c3hl/img/prio2.png create mode 100644 c3hl/img/prio3.png create mode 100644 c3hl/img/redface.png create mode 100644 c3hl/img/sad.png create mode 100644 c3hl/img/smile.png create mode 100644 c3hl/img/smile2.png create mode 100644 c3hl/img/smile3.png create mode 100644 c3hl/img/smile4.png create mode 100644 c3hl/img/star_off.png create mode 100644 c3hl/img/star_on.png create mode 100644 c3hl/img/thumbs-up.png create mode 100644 c3hl/img/tired.png create mode 100644 c3hl/img/tongue.png create mode 100755 moin.fcgi create mode 100644 wikiconfig.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/c3hl.py b/c3hl.py new file mode 100644 index 0000000..bdca306 --- /dev/null +++ b/c3hl.py @@ -0,0 +1,346 @@ +# -*- coding: iso-8859-1 -*- +""" + MoinMoin - c3hl theme + + @copyright: 2010 C3-HL + @license: GNU GPL, see COPYING for details. +""" + +from MoinMoin.theme import ThemeBase +from MoinMoin import wikiutil +from MoinMoin.Page import Page + +class Theme(ThemeBase): + + name = "c3hl" + + _ = lambda x: x # We don't have gettext at this moment, so we fake it + icons = { + # key alt icon filename w h + # FileAttach + 'attach': ("%(attach_count)s", "moin-attach.png", 16, 16), + 'info': ("[INFO]", "moin-info.png", 16, 16), + 'attachimg': (_("[ATTACH]"), "attach.png", 32, 32), + # RecentChanges + 'rss': (_("[RSS]"), "moin-rss.png", 16, 16), + 'deleted': (_("[DELETED]"), "moin-deleted.png", 16, 16), + 'updated': (_("[UPDATED]"), "moin-updated.png", 16, 16), + 'renamed': (_("[RENAMED]"), "moin-renamed.png", 16, 16), + 'conflict': (_("[CONFLICT]"), "moin-conflict.png", 16, 16), + 'new': (_("[NEW]"), "moin-new.png", 16, 16), + 'diffrc': (_("[DIFF]"), "moin-diff.png", 16, 16), + # General + 'bottom': (_("[BOTTOM]"), "moin-bottom.png", 16, 16), + 'top': (_("[TOP]"), "moin-top.png", 16, 16), + 'www': ("[WWW]", "moin-www.png", 16, 16), + 'mailto': ("[MAILTO]", "moin-email.png", 16, 16), + 'news': ("[NEWS]", "moin-news.png", 16, 16), + 'telnet': ("[TELNET]", "moin-telnet.png", 16, 16), + 'ftp': ("[FTP]", "moin-ftp.png", 16, 16), + 'file': ("[FILE]", "moin-ftp.png", 16, 16), + # search forms + 'searchbutton': ("[?]", "moin-search.png", 16, 16), + 'interwiki': ("[%(wikitag)s]", "moin-inter.png", 16, 16), + + # smileys (this is CONTENT, but good looking smileys depend on looking + # adapted to the theme background color and theme style in general) + #vvv == vvv this must be the same for GUI editor converter + 'X-(': ("X-(", 'angry.png', 16, 16), + ':D': (":D", 'biggrin.png', 16, 16), + '<:(': ("<:(", 'frown.png', 16, 16), + ':o': (":o", 'redface.png', 16, 16), + ':(': (":(", 'sad.png', 16, 16), + ':)': (":)", 'smile.png', 16, 16), + 'B)': ("B)", 'smile2.png', 16, 16), + ':))': (":))", 'smile3.png', 16, 16), + ';)': (";)", 'smile4.png', 16, 16), + '/!\\': ("/!\\", 'alert.png', 16, 16), + '': ("", 'attention.png', 16, 16), + '(!)': ("(!)", 'idea.png', 16, 16), + ':-?': (":-?", 'tongue.png', 16, 16), + ':\\': (":\\", 'ohwell.png', 16, 16), + '>:>': (">:>", 'devil.png', 16, 16), + '|)': ("|)", 'tired.png', 16, 16), + ':-(': (":-(", 'sad.png', 16, 16), + ':-)': (":-)", 'smile.png', 16, 16), + 'B-)': ("B-)", 'smile2.png', 16, 16), + ':-))': (":-))", 'smile3.png', 16, 16), + ';-)': (";-)", 'smile4.png', 16, 16), + '|-)': ("|-)", 'tired.png', 16, 16), + '(./)': ("(./)", 'checkmark.png', 16, 16), + '{OK}': ("{OK}", 'thumbs-up.png', 16, 16), + '{X}': ("{X}", 'icon-error.png', 16, 16), + '{i}': ("{i}", 'icon-info.png', 16, 16), + '{1}': ("{1}", 'prio1.png', 15, 13), + '{2}': ("{2}", 'prio2.png', 15, 13), + '{3}': ("{3}", 'prio3.png', 15, 13), + '{*}': ("{*}", 'star_on.png', 16, 16), + '{o}': ("{o}", 'star_off.png', 16, 16), + } + del _ + + def shouldShowEditbar(self, page): + if not (page.isWritable() and + self.request.user.may.write(page.page_name)): + return False + + return ThemeBase.shouldShowEditbar(self, page) + + + def topnav(self, d): + request = self.request + + links = [] + + for pagename in request.cfg.topnav: + page = Page(request, pagename) + title = page.split_title() + title = self.shortenPagename(title) + link = page.link_to(request, title) + + links.append(link) + + return '
%s
' % ' | '.join(links) + + def parentlinks(self, d): + _ = self.request.getText + segments = d['page_name'].split('/') + + if len(segments) <= 1: + return '' + + content = [] + curpage = '' + for s in segments[:-1]: + curpage += s + content.append(Page(self.request, + curpage).link_to(self.request, s)) + curpage += '/' + + path_html = u' | '.join(content) + return u'' % path_html + + def remoteip(self): + nologging = u'Dieser Server loggt keine IP-Adressen.' + addr = self.request.environ['REMOTE_ADDR'] + return u'
Deine IP-Adresse ist %s
%s
' % (addr, nologging) + return '' + + def header(self, d, **kw): + """ Assemble wiki header + + @param d: parameter dictionary + @rtype: unicode + @return: page header html + """ + html = [ + # Pre header custom html + self.emit_custom_html(self.cfg.page_header1), + + # Header + u'', + u'
', + u'
', + u'
', + self.logo(), + u'
', + u'
', + u'', + u'
', + self.parentlinks(d), + #u'

', + #self.title_with_separators(d), + #u'

', + + # Post header custom html (not recommended) + self.emit_custom_html(self.cfg.page_header2), + + # Start of page + self.startPage(), + ] + return u'\n'.join(html) + + def editorheader(self, d, **kw): + """ Assemble wiki header for editor + + @param d: parameter dictionary + @rtype: unicode + @return: page header html + """ + html = [ + # Pre header custom html + self.emit_custom_html(self.cfg.page_header1), + + # Header + u'
', + u'', + u'
', + u'

', + self.title_with_separators(d), + u'

', + + # Post header custom html (not recommended) + self.emit_custom_html(self.cfg.page_header2), + + # Start of page + self.startPage(), + ] + return u'\n'.join(html) + + def footer(self, d, **keywords): + """ Assemble wiki footer + + @param d: parameter dictionary + @keyword ...:... + @rtype: unicode + @return: page footer html + """ + page = d['page'] + html = [ + # End of page + self.pageinfo(page), + self.endPage(), + + # Pre footer custom html (not recommended!) + self.emit_custom_html(self.cfg.page_footer1), + + u'
', + + # Footer + u'', + u'
', + + # Post footer custom html + self.emit_custom_html(self.cfg.page_footer2), + ] + return u'\n'.join(html) + + def username(self, d): + """ Assemble the username / userprefs link + + @param d: parameter dictionary + @rtype: unicode + @return: username html + """ + request = self.request + _ = request.getText + + userlinks = [] + # Add username/homepage link for registered users. We don't care + # if it exists, the user can create it. + if request.user.valid and request.user.name: + interwiki = wikiutil.getInterwikiHomePage(request) + name = request.user.name + aliasname = request.user.aliasname + if not aliasname: + aliasname = name + title = "%s @ %s" % (aliasname, interwiki[0]) + # link to (interwiki) user homepage + homelink = (request.formatter.interwikilink(1, title=title, id="userhome", generated=True, *interwiki) + + request.formatter.text(name) + + request.formatter.interwikilink(0, title=title, id="userhome", *interwiki)) + userlinks.append(homelink) + # link to userprefs action + if 'userprefs' not in self.request.cfg.actions_excluded: + userlinks.append(d['page'].link_to(request, text=_('Settings'), + querystr={'action': 'userprefs'}, id='userprefs', rel='nofollow')) + + if request.user.valid: + if request.user.auth_method in request.cfg.auth_can_logout: + userlinks.append(d['page'].link_to(request, text=_('Logout'), + querystr={'action': 'logout', 'logout': 'logout'}, id='logout', rel='nofollow')) + else: + query = {'action': 'login'} + # special direct-login link if the auth methods want no input + if request.cfg.auth_login_inputs == ['special_no_input']: + query['login'] = '1' + if request.cfg.auth_have_login: + userlinks.append(d['page'].link_to(request, text=_("Login"), + querystr=query, id='login', rel='nofollow')) + userlinks.append('Anmelden mit Client-Zertifikat' + % (request.cfg.clientcerthost, d['page'].url(request))) + + userlinks_html = u' | '.join(userlinks) + html = u'
%s
' % userlinks_html + return html + + def trail(self, d): + """ Assemble page trail + + @param d: parameter dictionary + @rtype: unicode + @return: trail html + """ + request = self.request + user = request.user + html = '' + if not user.valid or user.show_page_trail: + trail = user.getTrail() + if trail: + items = [] + for pagename in trail: + try: + interwiki, page = wikiutil.split_interwiki(pagename) + if interwiki != request.cfg.interwikiname and interwiki != 'Self': + link = (self.request.formatter.interwikilink(True, interwiki, page) + + self.shortenPagename(page) + + self.request.formatter.interwikilink(False, interwiki, page)) + items.append(link) + continue + else: + pagename = page + + except ValueError: + pass + page = Page(request, pagename) + title = page.split_title() + title = self.shortenPagename(title) + link = page.link_to(request, title) + items.append(link) + html = u'
%s
' % u' » '.join(items) + return html + + def interwiki(self, d): + """ Assemble the interwiki name display, linking to page_front_page + + @param d: parameter dictionary + @rtype: string + @return: interwiki html + """ + if self.request.cfg.show_interwiki: + page = wikiutil.getFrontPage(self.request) + text = self.request.cfg.interwikiname or 'Self' + link = page.link_to(self.request, text=text, rel='nofollow') + html = u'%s: ' % link + else: + html = u'' + return html + +def execute(request): + """ + Generate and return a theme object + + @param request: the request object + @rtype: MoinTheme + @return: Theme object + """ + return Theme(request) + diff --git a/c3hl/css/SlideShow.css b/c3hl/css/SlideShow.css new file mode 100644 index 0000000..180be6a --- /dev/null +++ b/c3hl/css/SlideShow.css @@ -0,0 +1,181 @@ +/* + * Single page slide show styles + * + * Copy SlideShow.css to your theme's css/ directory. + * + * copyright: 2008 Thomas Waldmann + * license: GNU GPL, see COPYING for details + */ + +li p {margin: 0;} /* Workaround for moin's bad list html */ + +html { + background-color: white; + color: black; + font-family: Arial, Lucida Grande, sans-serif; + font-size: 20pt; +} + +body { + margin: 1em; + padding: 20px; +} + +/* Slide heading */ +h1 {font-size: 32pt; color: #33F;} +h1:before {content:url(../../common/moinmoin.png); padding-right:10px; display: inline-block; vertical-align: middle;} + +/* Slide content */ + +#content {margin-left: 20pt; margin-right: 0;} +#content[dir="rtl"] {margin-left: 0; margin-right: 20pt;} + +h2 { font-size: 28pt; color: #000;} +h3 { font-size: 24pt; color: #000;} +h4 { font-size: 18pt; color: #000;} +h5 { font-size: 16pt; color: #000;} +h6 { font-size: 14pt; color: #000;} + +li { margin: 12pt; } + +a { color: #69F; } +a:visited { color: #69F; } +a.nonexistent, a.badinterwiki { color: #666; } + +tt { font-size: 18pt; } +pre { font-size: 14pt; } +sup, sub { font-size: 14pt; } + +pre { + border: 1pt dashed #222; + padding: 5pt; + white-space: pre; + background-color: #DDF; + color: #444; +} + + +/* Navigation */ + +#navigation { + position: fixed; + top: 0; + left: 0; + right: 0; + padding: 0; + margin: 0; + color: #EEE; + font-size: 14pt; +} + +#navigation ul { + margin: 0; + padding: 6pt; + text-align: center; +} + +#navigation li { + display: inline; + margin: 0 2pt; + padding: 0; +} + +#navigation a { + text-decoration: none; + color: #ddd; +} + +#navigation a:hover { + color: #bbb; +} + +#navigation .current { + color: #888; +} + + +#date { + position: fixed; + bottom: 0.5em; + left: 2em; + right: 0; + font-size: 12pt; + clear: both; + display: inline; + margin: 0; + padding: 0; + color: #6C7680; +} + +#author { + position: fixed; + bottom: 0.5em; + left: 2em; + right: 0; + text-align: center; + font-size: 12pt; + clear: both; + display: inline; + margin: 0; + padding: 0; + color: #6C7680; +} + +#counter { + position: fixed; + bottom: 0.5em; + left: 2em; + right: 0; + text-align: right; + font-size: 12pt; + clear: both; + display: inline; + margin: 0; + padding: 0; + color: #6C7680; +} + +/* CSS for ParserBase */ + +div.codearea { /* the div makes the border */ + margin: 0.5em 0; + padding: 0; + border: 1pt dashed #222; + background-color: #EEF; + color: #444; +} + +div.codearea pre { /* the pre has no border and is inside the div */ + margin: 0; + padding: 10pt; + border: none; +} + +a.codenumbers { /* format of the line numbering link */ + margin: 0pt; + font-size: 10pt; + color: #888; + display: none; /* rather annoying to see the link */ +} + +/* format of certain syntax spans */ +div.codearea pre span.LineNumber {color: #444;} +div.codearea pre span.ID {color: #000;} +div.codearea pre span.Operator {color: #000;} +div.codearea pre span.Char {color: #048;} +div.codearea pre span.Comment {color: green;} +div.codearea pre span.Number {color: red;} +div.codearea pre span.String {color: magenta;} +div.codearea pre span.SPChar {color: #00C;} +div.codearea pre span.ResWord {color: #39F;} +div.codearea pre span.ConsWord {color: #088; font-weight: bold;} +div.codearea pre span.Error {color: #F88; border: solid 1.5pt #FF0000;} +div.codearea pre span.ResWord2 {color: #69F; font-weight: bold;} +div.codearea pre span.Special {color: #00F;} +div.codearea pre span.Preprc {color: #839;} + +@media print { + #navigation { + display: none; + } +} diff --git a/c3hl/css/common.css b/c3hl/css/common.css new file mode 100644 index 0000000..e57d7de --- /dev/null +++ b/c3hl/css/common.css @@ -0,0 +1,580 @@ +/* common.css - MoinMoin Default Styles + +Copyright (c) 2001, 2002, 2003 by Juergen Hermann +*/ + +/* content styles */ + +html { + background-color: white; + color: black; + font-family: sans-serif; + font-size: 1em; +} + +body { + margin: 0; +} + +/* Links */ + +a {color: #0044B3;} +/* a:visited {color: #597BB3;} */ +a:visited {color: #FF7BB3;} + +a.nonexistent:visited, a.nonexistent, +a.badinterwiki:visited, a.badinterwiki {color: gray;} + +a.www:before {content: url(../img/moin-www.png); margin: 0 0.2em;} +a.http:before {content: url(../img/moin-www.png); margin: 0 0.2em;} +a.https:before {content: url(../img/moin-www.png); margin: 0 0.2em;} +a.file:before {content: url(../img/moin-ftp.png); margin: 0 0.2em;} +a.ftp:before {content: url(../img/moin-ftp.png); margin: 0 0.2em;} +a.nntp:before {content: url(../img/moin-news.png); margin: 0 0.2em;} +a.news:before {content: url(../img/moin-news.png); margin: 0 0.2em;} +a.telnet:before, a.ssh:before {content: url(../img/moin-telnet.png); margin: 0 0.2em;} +a.irc:before, a.ircs:before {content: url(../img/moin-telnet.png); margin: 0 0.2em;} +a.xmpp:before {content: url(../img/moin-jabber.png); margin: 0 0.2em;} +a.mailto:before {content: url(../img/moin-email.png); margin: 0 0.2em;} +a.attachment:before {content: url(../img/moin-attach.png); margin: 0 0.2em;} +a.badinterwiki:before {content: url(../img/moin-inter.png); margin: 0 0.2em;} +a.interwiki:before {content: url(../img/moin-inter.png); margin: 0 0.2em;} +a.action:before {content: url(../img/moin-action.png); margin: 0 0.2em;} + +li p { + margin: .25em 0; +} + +li.gap { + margin-top: 0.5em; +} + +dt { + margin-top: 0.5em; + font-weight: bold; +} + +dd { + margin-top: 0; + margin-bottom: 0; +} + +dd p { + margin: 0.25em 0; +} + +a, img, img.drawing { + border: 0; +} + +pre { + border: 1pt solid #AEBDCC; + background-color: #F3F5F7; + padding: 5pt; + font-family: courier, monospace; + white-space: pre; + /* begin css 3 or browser specific rules - do not remove! + see: http://forums.techguy.org/archive/index.php/t-249849.html */ + white-space: pre-wrap; + word-wrap: break-word; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + /* end css 3 or browser specific rules */ +} + +pre.comment { + background-color: #CCCCCC; + color: red; + padding: 0; + margin: 0; + border: 0; +} + +pre.comment:before { + content: url(../img/attention.png); +} + + +/* .comment css definition must be top of .red/.green/.blue or it won't work */ +.comment { color: #555555; background-color: #DDDDFF; } + +.red { background-color: #FFCCCC; } +.green { background-color: #CCFFCC; } +.blue { background-color: #CCCCFF; } +.yellow { background-color: #FFF29F; } +.orange { background-color: #FFD59B; } +.grey { background-color: #CCCCCC; } + +.solid { border: 2px solid #000000; padding: 2px; } +.dashed { border: 2px dashed #000000; padding: 2px; } +.dotted { border: 2px dotted #000000; padding: 2px; } + +.left { text-align: left; } +.center { text-align: center; } +.right { text-align: right; } +.justify { text-align: justify; } + +table +{ + margin: 0.5em 0 0 0.5em; + border-collapse: collapse; +} + +th, td +{ + padding: 0.25em 0.5em 0.25em 0.5em; + border: 1pt solid #ADB9CC; +} + +td p { + margin: 0; + padding: 0; +} +/* TableOfContents macro */ +div.table-of-contents { + border: 1px solid #bbbbbb; + color: black; + background-color: #eeeeee; + font-size: 80%; + text-align: left; + margin: 0.5em 0 0.5em 1em; + padding: 0.5em 0.75em 0.5em 0.5em; + max-width: 50%; + display: inline-table; +} +div.table-of-contents ol { + margin: 0; + padding: 0 0 0 2em; +} +div.table-of-contents ul { + margin: 0; + list-style:none; +} +div.table-of-contents li { + margin:0; + padding: 0; +} +p.table-of-contents-heading { + font-weight:bold; + padding:0; + margin: 0 0 0.5em 0; + letter-spacing: 0.075em; +} + +/* Navigation macro */ +table.navigation { + background: #fff; + margin: 0; +} + +.footnotes div { + width: 5em; + border-top: 1pt solid gray; +} + +.footnotes ol { + padding: 0 2em; + margin: 0 0 1em; +} + +.footnotes li { +} + +.info { + float: right; + font-size: 0.7em; + color: gray; +} + +#pageinfo { + margin-top: 2em; +} + +.seperator { + color: gray; +} + +#pagebottom {clear: both;} + +/* standard rule ---- */ +hr { + height: 1pt; + background-color: #9C9C9C; + border: 0; +} + +/* custom rules ----- to ---------- */ +.hr1 {height: 2pt;} +.hr2 {height: 3pt;} +.hr3 {height: 4pt;} +.hr4 {height: 5pt;} +.hr5 {height: 6pt;} +.hr6 {height: 7pt;} + +/* Replacement for deprecated html 3 element and html 4 */ +.u {text-decoration: underline;} +.strike {text-decoration: line-through;} + +/* eye catchers */ +.warning +{ + color: red; +} + +.error +{ + color: red; +} + +strong.highlight +{ + background-color: #CCE0FF; + padding: 1pt; +} + + +/* Recent changes */ + +.rcrss { + float: right; + margin: 0 7px 0 14px; + height: 0; + position: relative; + top: 9px; +} +*[div="rtl"] .rcrss { + float: left; +} +.recentchanges[dir="rtl"] .rcrss { + float: left; +} + +.recentchanges table { + clear: both; + border-collapse: collapse; + + /*border: 1px solid #4d7da9;*/ + border: 1px solid #987; +} + +.recentchanges td { + vertical-align: top; + border: none; +/*background: #e6eaf0;*/ + background: #f0eae6; +} + + +.recentchanges .rcdaybreak td { + /*background: #81BBF2; + border: none; + border: 1px solid #4d7da9;*/ + background: #943; + /*border: 1px solid #4d7da9;*/ + border: 1px solid #987; +} + +.rcdaybreak td a { + font-size: 0.88em; +} + +.rcdaybreak td a:link { + color: #db9; +} + +.rcdaybreak td a:visited { + color: #b99; +} + +.rcicon1, .rcicon2 { + text-align: center; +} + +.rcpagelink { + width: 33%; +} + +.rctime { + font-size: 0.88em; + white-space: nowrap; +} + +.rceditor { + white-space: nowrap; + font-size: 0.88em; +} + +.rccomment { + width: 50%; + color: gray; + font-size: 0.88em; +} + + +/* User Preferences */ + +.userpref table, .userpref td { + border: none; +} + +/* CSS for new code_area markup used by Colorizer and ParserBase */ + +div.codemsg { + margin: 0.5em 0; + padding: 0.5em; + padding-left:2.5em; + background:none; + border: 1pt solid #CCBDAE; + background-color: #F7F0E0; + background-image:url('../img/alert.png'); + background-repeat:no-repeat; + background-position: 0.5em 0.5em; + color: black; +} + +div.codearea { /* the div makes the border */ + margin: 0.5em 0; + padding: 0; + border: 1pt solid #AEBDCC; + background-color: #F3F5F7; + color: black; +} + +div.codearea pre { /* the pre has no border and is inside the div */ + margin: 0; + padding: 10pt; + border: none; +} + +a.codenumbers { /* format of the line numbering link */ + margin: 0 10pt; + font-size: 0.85em; + color: gray; +} + +/* format of certain syntax spans */ +div.codearea pre span.LineNumber {color: gray;} +div.codearea pre span.ID {color: #000000;} +div.codearea pre span.Operator {color: #0000C0;} +div.codearea pre span.Char {color: #004080;} +div.codearea pre span.Comment {color: #008000;} +div.codearea pre span.Number {color: #0080C0;} +div.codearea pre span.String {color: #004080;} +div.codearea pre span.SPChar {color: #0000C0;} +div.codearea pre span.ResWord {color: #A00000;} +div.codearea pre span.ConsWord {color: #008080; font-weight: bold;} +div.codearea pre span.Error {color: #FF8080; border: solid 1.5pt #FF0000;} +div.codearea pre span.ResWord2 {color: #0080ff; font-weight: bold;} +div.codearea pre span.Special {color: #0000ff;} +div.codearea pre span.Preprc {color: #803999;} + +/* for diff parser */ +div.codearea pre span.DiffAdded {color: #4876FF;} +div.codearea pre span.DiffRemoved {color: #FF0000;} +div.codearea pre span.DiffChanged {color: #FF7F50;} +div.codearea pre span.DiffSeparator {color: #228B22; font-weight: bold} + +/* Search results */ +.advancedsearch { + border: 1pt solid #ADB9CC; +} + +.advancedsearch td { + vertical-align: top; + background-color: #E7E7E7; + border: 0px; +} + +.advancedsearch td.searchfor { + font-weight: bold; +} + +.advancedsearch input { + border: 1px solid #ADB9CC; + background-color: #fff; +} + +.advancedsearch input[disabled] { + background-color: #eee; +} + +.advancedsearch td.submit { + border-top: 1px solid #ADB9CC; + background-color: #fff; + text-align: right; +} + +.advancedsearch optioni, +.advancedsearch select { + border: 1px solid #ADB9CC; + background-color: #fff; +} + + +.searchresults dt { + margin-top: 1em; + font-weight: normal; +} + +.searchresults dd, .searchresults p { + font-size: 0.85em; +} + +.searchresults .searchhitinfobar { + color: #008000; + margin-left: 15px; + margin-top: 0; +} + +p.searchstats { + font-size: 0.8em; + text-align: right; + width: 100%; + background-color: #E6EAF0; + border-top: 1px solid #9088DC; + padding: 2px; +} + +p.searchhint { + background-color: #E6EAF0; + border: 1px solid #9088DC; + padding: 2px; +} + +.searchpages { + margin-left: auto; + margin-right: auto; +} + +.searchpages tr, .searchpages td { + border: 0; + padding: 5px; + margin: 0; + text-align: center; + vertical-align: middle; + color: #b93a58; + font-weight: bold; + font-size: 1.05em; +} + +.searchpages td a, .searchpages td a:link { + text-decoration: underline; +} + +/* MonthCalendar css */ + +/* days without and with pages linked to them */ +a.cal-emptyday { + color: #777777; + text-align: center; +} +a.cal-usedday { + color: #000000; + font-weight: bold; + text-align: center; +} +/* general stuff: workdays, weekend, today */ +td.cal-workday { + background-color: #DDDDFF; + text-align: center; +} +td.cal-weekend { + background-color: #FFDDDD; + text-align: center; +} +td.cal-today { + background-color: #CCFFCC; + border-style: solid; + border-width: 2pt; + text-align: center; +} +/* invalid places on the monthly calendar sheet */ +td.cal-invalidday { + background-color: #CCCCCC; +} +/* links to prev/next month/year */ +a.cal-link { + color: #000000; + text-decoration: none; +} +th.cal-header { + background-color: #DDBBFF; + text-align: center; +} + +/* for MonthCalendar mouseover info boxes */ +TABLE.tip { + color: black; + background-color: #FF8888; + font-size: small; + font-weight: normal; + border-style: solid; + border-width: 1px; +} + +TH.tip { + background-color: #FF4444; + font-weight: bold; + text-align: center; +} + +TD.tip { + text-align: left; +} +*[dir="rtl"] TD.tip { + text-align: right; +} + +/* end MonthCalendar stuff */ + +#message .hint {font-style: italic;} +#message .info { + float: none; + font-size: 1em; + color: black; +} +#message .info:before {content: url('../img/icon-info.png'); margin: 0 0.2em;} +#message .warning:before {content: url('../img/alert.png'); margin: 0 0.2em;} +#message .error:before {content: url('../img/icon-error.png'); margin: 0 0.2em;} + + +/* admonition start */ +#content div.caution, +#content div.important, +#content div.note, +#content div.tip, +#content div.warning, +#content div.news { + border: 1pt solid #ccc; + background-color: #F8f8f8; + color: black; + + margin: 10pt 20pt 10pt 20pt; + background-repeat: no-repeat; + background-position: 8px 8px; + min-height: 64px; /*64=48+8+8 but doesn't work with IE*/ + padding-left: 64px; +} + +#content div.news { + padding-left: 32px; + padding-right: 32px; +} + +#content div.caution p, +#content div.important p, +#content div.note p, +#content div.tip p, +#content div.warning p { + margin-top: 8px; /*to align text with bg graphic*/ +} + +#content div.tip { background-image: url("../img/admon-tip.png"); } +#content div.note { background-image: url("../img/admon-note.png"); } +#content div.important { background-image: url("../img/admon-important.png"); } +#content div.caution { background-image: url("../img/admon-caution.png"); } +#content div.warning { background-image: url("../img/admon-warning.png"); } + +/* admonition end */ + diff --git a/c3hl/css/msie.css b/c3hl/css/msie.css new file mode 100644 index 0000000..6aea986 --- /dev/null +++ b/c3hl/css/msie.css @@ -0,0 +1,37 @@ +/* msie.css - MoinMoin MS Internet explorer bug workarounds */ + +/* IE6 and IE7 both suck with :before */ +a.www { padding-left: 19px; background: url(../img/moin-www.png) left center no-repeat; } +a.http { padding-left: 19px; background: url(../img/moin-www.png) left center no-repeat; } +a.https { padding-left: 19px; background: url(../img/moin-www.png) left center no-repeat; } +a.file { padding-left: 19px; background: url(../img/moin-ftp.png) left center no-repeat; } +a.ftp { padding-left: 19px; background: url(../img/moin-ftp.png) left center no-repeat; } +a.nntp { padding-left: 19px; background: url(../img/moin-news.png) left center no-repeat; } +a.news { padding-left: 19px; background: url(../img/moin-news.png) left center no-repeat; } +a.telnet, a.ssh { padding-left: 19px; background: url(../img/moin-telnet.png) left center no-repeat; } +a.irc, a.ircs { padding-left: 19px; background: url(../img/moin-telnet.png) left center no-repeat; } +a.mailto { padding-left: 19px; background: url(../img/moin-email.png) left center no-repeat; } +a.attachment { padding-left: 19px; background: url(../img/moin-attach.png) left center no-repeat; } +a.badinterwiki { padding-left: 19px; background: url(../img/moin-inter.png) left center no-repeat; } +a.interwiki { padding-left: 19px; background: url(../img/moin-inter.png) left center no-repeat; } +#message .warning { padding-left: 21px; background: url(../img/alert.png) left center no-repeat; } +#message .error { padding-left: 21px; background: url(../img/icon-error.png) left center no-repeat; } + +#pagetrail li, #pagelocation li { + border-left: 1px solid #AAA; + padding: 0 0.3em; +} + +/* Spans for line-anchors - needed for IE6 and IE7 where omitting the "display: none" triggers rendering bugs. */ +span.anchor { display: none; } + +/* Some * html hacks for IE6 and below only (IE7 ignores * html) */ + +/* IE6 has a bug with rendering of float elements. We workaround this bug by + * assigning those elements a height attribute because we currently don't know + * a better solution. This results in IE calculating the correct height of the + * characters and displaying them correctly. We don't know any negative side + * effects of this workaround: + */ +* html div#page, * html div#header { height: 0.001%; } + diff --git a/c3hl/css/print.css b/c3hl/css/print.css new file mode 100644 index 0000000..b8e4d18 --- /dev/null +++ b/c3hl/css/print.css @@ -0,0 +1,68 @@ +/* print.css - MoinMoin Default Styles + +Copyright (c) 2001, 2002, 2003 by Juergen Hermann +*/ + +/* content styles */ + +html { + font-family: Times, serif; + font-size: 12pt; +} + +body { + /* Give about 3.4cm in Mozilla/Firefox and about 2.2cm in Safari */ + margin: 1.5cm; +} + +a, a:visited, a.nonexistent, a.badinterwiki { + color: black; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +.info a { + color: gray; +} + +pre { + font-size: 10pt; +} + +a.interwiki:before, a.badinterwiki:before { + content: attr(title) ":"; +} + +a.interwiki img, a.badinterwiki img { + display: none; +} + +.footnotes div { + width: 5em; + border-top: 1pt solid gray; +} + +/* user interface styles */ + +#logo { + font-family: sans-serif; + font-weight: bold; + font-size: 280%; + text-align: center; +} + +#subtitle { + font-family: sans-serif; + font-weight: bold; + text-align: center; + font-variant: small-caps; + margin-left: 5em; + margin-bottom: 45px; +} + +#header, #sidebar, #footer, #timings, #credits, #interwiki, #pagelocation, #pagehead { + display: none; +} diff --git a/c3hl/css/projection.css b/c3hl/css/projection.css new file mode 100644 index 0000000..627093e --- /dev/null +++ b/c3hl/css/projection.css @@ -0,0 +1,33 @@ +/* projection.css - MoinMoin Slide Styles + +Copyright (c) 2003 by Juergen Hermann +*/ + +@import url(screen.css); + +html { line-height: 1.8em; } + +body, b, em, a, span, div, p, td { font-size: 18pt; } + +h1 { font-size: 26pt; } +h2 { font-size: 22pt; } +h3 { font-size: 20pt; } +h4 { font-size: 18pt; } +h5 { font-size: 16pt; } +h6 { font-size: 14pt; } + +tt, pre { font-size: 16pt; } +sup, sub { font-size: 12pt; } + +table.navigation { + float: right; + margin: 2px; +} + +.navigation td, .navigation a { + font-size: 10pt; + padding: 2px; +} + +#interwiki, #pagelocation, #pageinfo { display: none; } + diff --git a/c3hl/css/screen.css b/c3hl/css/screen.css new file mode 100644 index 0000000..7734dec --- /dev/null +++ b/c3hl/css/screen.css @@ -0,0 +1,592 @@ +/* screen.css - MoinMoin Default Styles + +Copyright (c) 2001, 2002, 2003 by Juergen Hermann +*/ + +/* content styles */ + +/* debug +* {border: 1px dotted blue;} +*/ + +html { + background: #222; +} + +body { + padding: 0; + border: 0; +} + +#wrapper { + padding: 0; + border: 0; + width: 75%; + min-width: 850px; + max-width: 1200px; + margin: 1em auto; +} + +/*a:link { color: #47f; text-decoration: none; } +a:link:hover, a:link:active { text-decoration: underline; color: green; } +a:visited { text-decoration: none; color: #04a;} +a:visited:hover { text-decoration: none; color: red; }*/ +a:link { color: #c60; text-decoration: none; } +a:visited { color: #c30; text-decoration: none;} +a:link:hover, a:link:active, a:visited:hover { text-decoration: underline; } + +/*#credits a:link { + color: #c60; +} + +#credits a:visited { + color: #c30; +} + +#credits a:link:hover, #credits a:visited:hover { + text-decoration: underline; +}*/ + +a.nonexistent:link { color: #666 } +a.nonexistent:hover { color: black; text-decoration: underline } + +a.download { + font-size: 120%; + letter-spacing: 0.05em; + font-weight: bold; + background: #E7E7E7; + border: 1px solid #9C9C9C; + padding: 0.5em; + text-align: center; +} + +input { + /* does strange effect to button (text size becomes bigger when clicking) + font-size: 1em; + font-family: Arial, Lucida Grande, sans-serif; + */ +} + +textarea { + font-size: 1em; + font-family: monospace; +} + +.disabled { + /* IE ignore disabled attribute, but at least show items in gray */ + color: gray; +} + +/* user interface styles */ + +#header { + /*margin: 1px; + padding: 1px;*/ + margin: 0; + vertical-align: bottom; + /*background: #e6eaf0;*/ + background: #555; + position: relative; + /*line-height: 1.1em;*/ +} + +#logoright { + margin: 0; + padding: 0; + background: url(../img/Skyline_Right.png) no-repeat right bottom; +} + +#logoleft { + background: url(../img/Skyline_Left.png) no-repeat left bottom; + margin: 0; + padding: 0; +} + +#logo { + padding: 0.3em 0 20px 0; + margin: 0 140px -10px 0; + text-align: center; + font-size: 100px; + font-weight: bold; + font-family: sans-serif; +} + +#logo a { + color: #888; + text-decoration: none; +} + +#pagehead { + position: absolute; + top: 0; + left: 0; + width: 100%; + white-space: nowrap; + background: #404040; + font-size: 0.82em; +} + +#topnav { + float: left; + padding: 2px 1.5em; +} + +#username { + text-align: right; + padding: 2px 1.5em; +} + +#pagehead a:link, #pagehead a:visited { + color: #ee9000; +} + +#pagehead a:link:hover, #pagehead a:visited:hover { + text-decoration: underline; +} + +#pagehead a.nonexistent:link, #pagehead a.nonexistent:visited { color: #888 } +#pagehead a.nonexistent:link:hover, #pagehead a.nonexistent:visited:hover { color: black; text-decoration: underline } + + +/*#username form { + display: inline; +} + +#username input { + display: inline; + padding: 0; + margin: 0; + border: none; + background: transparent; + color: blue; + font-size: 0.82em; + cursor: pointer; +} + +#username input:hover { + color: red; +}*/ + +#searchform { + position: absolute; + top: -1.4em; + right: 1em; + /*margin: -6px 0.5em -1em 0.5em;*/ + padding: 0; + font-size: 0.82em; + float: right; + clear: right; + text-align: right; +} +*[dir="rtl"] #searchform { + float: left; + clear: left; + text-align: left; +} +#searchform input { + font-size: 100%; + vertical-align: middle; +} +#pagetrail { + clear: right; + display: inline; + margin: 0 0.88em 0.25em 0.88em; + padding: 0; + font-size: 0.88em; +} + +*[dir="rtl"] #pagetrail { + clear: left; +} + +#interwiki { + font-size: 1em; +} + +#locationline { + padding: 0; + font-size: 100%; + font-weight: normal; + margin: 0.25em 12px 5px 12px; + clear: right; +} +*[dir="rtl"] #locationline { + clear: left; +} + +#pagelocation { + font-size: 1.5em; + letter-spacing: 0.05em; +} + + +*[dir="rtl"] #pagetrail span.sep { + visibility: hidden; +} +*[dir="rtl"] #pagetrail span.sep:after { + content: " « "; +} + +#navibar { + clear: both; /* problem: clear: right; aligns nicely right of logo, + but lets it float high in the header, disconnected from ground */ + display: block; + margin: 0; + padding: 0 10px; + font-size: 0.82em; + zoom: 1; /* for avoiding a gap between navibar and pageline on IE */ +} + +#navibar li { + float: left; + display: inline; + margin: -1.2em 2px 0 2px; + padding: 3px 6px; + /*border: 1px solid #acd;*/ + border: 1px solid #aaa; + border-bottom: none; + white-space: nowrap; +} + +*[dir="rtl"] #navibar li { + float: right; +} + +#navibar li.wikilink { + background: white; /*url(../img/tab-wiki.png) repeat-x;*/ +} + +#navibar li.userlink { + background: #E6EAF0; /*url(../img/tab-user.png) repeat-x;*/ +} + +#navibar a, #navibar a:visited { + color: black; + text-decoration: none; +} + +#navibar li.current a { + font-weight: bold; +} + +#navibar li:hover { + /*background: #d6e4f9;*/ + background: #bbb; +} + +#navibar li.current, #navibar li.current:hover { + /*background: #81BBF2;*/ /* url(../img/tab-selected.png) repeat-x; */ + background: #999; + /*border: 1px solid #4d7da9; + border-bottom: 1px solid #81bbf2;*/ + border: 1px solid #333; + border-bottom: 1px solid #999; + margin-bottom: -1px; +} + +#pageline { + clear: both; + margin: 0; + padding: 0; + width: 100%; + /* sync these values, line-height is needed for IE */ + height: 4px; + line-height: 4px; + /*border-bottom: 1px solid #4d7da9; + border-top: 1px solid #4d7da9;*/ + border-bottom: 1px solid #333; + border-top: 1px solid #333; + /*background: #81BBF2;*/ + background: #999; +} + +.editbar { + clear: both; + display: block; + margin: 0; + padding: 2px 8px; + /*background: #d6e4f9;*/ + background: #ccc; + font-size: 0.8em; + /*border-bottom: 1px solid #4d7da9; + border-top: 1px solid #4d7da9;*/ + border-bottom: 1px solid #666; + border-top: 1px solid #666; + margin-top: -1px; +} + +.editbar form, .editbar form div { + display: inline; + margin: 0; +} + +.editbar select { + font-size: 100%; + vertical-align: middle; +} + +.editbar li { + display: inline; + padding: 0; + margin: 4px 6px; +} + +.editbar a, .editbar a:visited { + color: #c30; +} + +#message { + clear: both; + margin: 0; + padding: 5px 10px; + border-bottom: 1px solid #c9c9c9; + /*background: #E6EAF0;*/ + background: #eee; +} + +#message p { + margin: 5px 0; + padding: 0; + /* font-weight: bold; */ +} + +#message div.buttons { + font-weight: normal; +} + +.dialog form { + margin: 0 15px; +} + +.dialog td { + border: none; + padding: 5px; +} + +.dialog td.label { + text-align: right; + font-weight: bold; + width: 25%; +} + +*[dir="rtl"] .dialog td.label { + text-align: left; +} + +.dialog td.content input { + width: 100%; +} + +.calendar-include-date { + color: #666; + font-size: 80%; + text-align: right; + margin: 0; + padding: 0; +} + +#pagewrapper { + background-color: white; + margin: 0; + padding: 2px 20px 20px 20px; +} + +#parentlinks { + margin: 10px 20px 15px 20px; + padding: 3px; + float:left; + border: 1px solid #808080; +} + +#page { + clear: both; + margin: 0; + padding: 0; + + /* theses are some Firefox 1.5b1 specific extensions, see also the CSS3 draft. + -moz-column-width: 25em; + -moz-column-gap: 2em; + -moz-column-rule: solid black 0.3em; -- doesn't work yet with 1.5b1! + + TODO: make text/gui editor NOT use #page css, we don't want columns there! + */ +} + +/* We use here dumb css1 ids because of IE suckiness */ +#editor-textarea, #editor-help { + font-family: monospace; + border: 1px solid #8cacbb; + color: black; + background-color: white; + padding: 3px; + width: 100%; + margin-top: 0.5em; +} + +#editor-help { + font-size: small; + background-color: #EEEEFF; +} + +#editor-comment { + font-size: 100%; + border: 1px solid #8cacbb; + color: black; + background-color: white; + vertical-align: middle; + padding: 1px; + display: inline; + width: 70%; +} + +#preview, #previewbelow { + border: 1px solid #6C7680; + padding: 10px 30px 20px 30px; + background: url(../img/draft.png); + margin-top: 0.5em; +} + +#textcha { + font-size: 100%; + margin-top: 0.5em; + border: 2px solid #FF8888; + color: black; + vertical-align: middle; + padding: 3px 2px; +} + +#textcha-answer { + border: 2px solid #000000; + padding: 3px 2px; +} + +input.button { + /* + border: 1px solid #8cacbb; + color: black; + background-color: #CCCCCC; + vertical-align: middle; + text-decoration: none; + font-size: 100%; + cursor: pointer; + margin: 2px; + padding: 1px; + display: inline; + */ +} + +#footer { + clear: both; + margin: 0; + padding: 0; +} + +#credits, #version, #timings{ + margin: 5px 10px; + padding: 0; + text-align: center; + font-size: 0.82em; + color: #6C7680; +} + +#credits { + margin-top: 1em; +} + +#credits li, #timings li { + display: inline; + padding: 0 2px; + margin: 0 4px; +} + +#credits a:link { + color: #c60; +} + +#credits a:visited { + color: #c30; +} + +#credits a:link:hover, #credits a:visited:hover { + text-decoration: underline; +} + +#credits img { + vertical-align: middle; +} + +#ipinfo { + margin-top: 0.8em; + color: #ccc; + text-align: center; + font-size: 0.82em; +} + +.diff { + width:99%; +} + +.diff-header { + font-weight: bold; +} + +.diff-title { + background-color: #C0C0C0; +} + +.diff-added { + background-color: #E0FFE0; + vertical-align: sub; + width: 50%; +} + +.diff-removed { + background-color: #FFFFE0; + vertical-align: sub; + width: 50%; +} + +.diff-added span { + background-color: #80FF80; +} + +.diff-removed span { + background-color: #FFFF80; +} + +td.diff-info { + vertical-align: top; +} + +div.diff-info { + white-space: nowrap; +} + +div.diff-info-rev-comment span.diff-info-value { + white-space: normal; +} + +div.diff-info-header { + background-color: #E8E8E8; + width: 100%; + padding: 0.25em 0.5em; + margin: -0.25em -0.5em; + margin-bottom: 0.25em; + text-align: center; +} + +td.diff-same { + text-align: center; + border: 0; +} + +table.navigation { + float: right; + margin: 2px; +} + +#openididentifier { + background: url(../../common/openid.png) no-repeat; + background-position: 0 50%; + padding-left: 18px; +} diff --git a/c3hl/img/PythonPowered.png b/c3hl/img/PythonPowered.png new file mode 100644 index 0000000..d9d9e6f Binary files /dev/null and b/c3hl/img/PythonPowered.png differ diff --git a/c3hl/img/Skyline_Left.png b/c3hl/img/Skyline_Left.png new file mode 100644 index 0000000..0abcd39 Binary files /dev/null and b/c3hl/img/Skyline_Left.png differ diff --git a/c3hl/img/Skyline_Right.png b/c3hl/img/Skyline_Right.png new file mode 100644 index 0000000..5ef19d0 Binary files /dev/null and b/c3hl/img/Skyline_Right.png differ diff --git a/c3hl/img/admon-caution.png b/c3hl/img/admon-caution.png new file mode 100644 index 0000000..750ae97 Binary files /dev/null and b/c3hl/img/admon-caution.png differ diff --git a/c3hl/img/admon-important.png b/c3hl/img/admon-important.png new file mode 100644 index 0000000..c5726d5 Binary files /dev/null and b/c3hl/img/admon-important.png differ diff --git a/c3hl/img/admon-note.png b/c3hl/img/admon-note.png new file mode 100644 index 0000000..d01b8c6 Binary files /dev/null and b/c3hl/img/admon-note.png differ diff --git a/c3hl/img/admon-tip.png b/c3hl/img/admon-tip.png new file mode 100644 index 0000000..2ac5747 Binary files /dev/null and b/c3hl/img/admon-tip.png differ diff --git a/c3hl/img/admon-warning.png b/c3hl/img/admon-warning.png new file mode 100644 index 0000000..f5c7a6f Binary files /dev/null and b/c3hl/img/admon-warning.png differ diff --git a/c3hl/img/alert.png b/c3hl/img/alert.png new file mode 100644 index 0000000..06148e8 Binary files /dev/null and b/c3hl/img/alert.png differ diff --git a/c3hl/img/angry.png b/c3hl/img/angry.png new file mode 100644 index 0000000..1189598 Binary files /dev/null and b/c3hl/img/angry.png differ diff --git a/c3hl/img/attach.png b/c3hl/img/attach.png new file mode 100644 index 0000000..9a34c9a Binary files /dev/null and b/c3hl/img/attach.png differ diff --git a/c3hl/img/attention.png b/c3hl/img/attention.png new file mode 100644 index 0000000..b9704e6 Binary files /dev/null and b/c3hl/img/attention.png differ diff --git a/c3hl/img/biggrin.png b/c3hl/img/biggrin.png new file mode 100644 index 0000000..8519e02 Binary files /dev/null and b/c3hl/img/biggrin.png differ diff --git a/c3hl/img/checkmark.png b/c3hl/img/checkmark.png new file mode 100644 index 0000000..2fd3819 Binary files /dev/null and b/c3hl/img/checkmark.png differ diff --git a/c3hl/img/devil.png b/c3hl/img/devil.png new file mode 100644 index 0000000..1fa14fa Binary files /dev/null and b/c3hl/img/devil.png differ diff --git a/c3hl/img/draft.png b/c3hl/img/draft.png new file mode 100644 index 0000000..6b625f4 Binary files /dev/null and b/c3hl/img/draft.png differ diff --git a/c3hl/img/frown.png b/c3hl/img/frown.png new file mode 100644 index 0000000..0f05f25 Binary files /dev/null and b/c3hl/img/frown.png differ diff --git a/c3hl/img/icon-error.png b/c3hl/img/icon-error.png new file mode 100644 index 0000000..ab6808f Binary files /dev/null and b/c3hl/img/icon-error.png differ diff --git a/c3hl/img/icon-info.png b/c3hl/img/icon-info.png new file mode 100644 index 0000000..e8fbc66 Binary files /dev/null and b/c3hl/img/icon-info.png differ diff --git a/c3hl/img/idea.png b/c3hl/img/idea.png new file mode 100644 index 0000000..8eeebdd Binary files /dev/null and b/c3hl/img/idea.png differ diff --git a/c3hl/img/moin-action.png b/c3hl/img/moin-action.png new file mode 100644 index 0000000..46ad8a0 Binary files /dev/null and b/c3hl/img/moin-action.png differ diff --git a/c3hl/img/moin-attach.png b/c3hl/img/moin-attach.png new file mode 100644 index 0000000..e9199b0 Binary files /dev/null and b/c3hl/img/moin-attach.png differ diff --git a/c3hl/img/moin-bottom.png b/c3hl/img/moin-bottom.png new file mode 100644 index 0000000..f4014f3 Binary files /dev/null and b/c3hl/img/moin-bottom.png differ diff --git a/c3hl/img/moin-conflict.png b/c3hl/img/moin-conflict.png new file mode 100644 index 0000000..d7cffa5 Binary files /dev/null and b/c3hl/img/moin-conflict.png differ diff --git a/c3hl/img/moin-deleted.png b/c3hl/img/moin-deleted.png new file mode 100644 index 0000000..0532937 Binary files /dev/null and b/c3hl/img/moin-deleted.png differ diff --git a/c3hl/img/moin-diff.png b/c3hl/img/moin-diff.png new file mode 100644 index 0000000..283843d Binary files /dev/null and b/c3hl/img/moin-diff.png differ diff --git a/c3hl/img/moin-download.png b/c3hl/img/moin-download.png new file mode 100644 index 0000000..875c55d Binary files /dev/null and b/c3hl/img/moin-download.png differ diff --git a/c3hl/img/moin-edit.png b/c3hl/img/moin-edit.png new file mode 100644 index 0000000..d926dd4 Binary files /dev/null and b/c3hl/img/moin-edit.png differ diff --git a/c3hl/img/moin-email.png b/c3hl/img/moin-email.png new file mode 100644 index 0000000..9be90c6 Binary files /dev/null and b/c3hl/img/moin-email.png differ diff --git a/c3hl/img/moin-ftp.png b/c3hl/img/moin-ftp.png new file mode 100644 index 0000000..18b7d24 Binary files /dev/null and b/c3hl/img/moin-ftp.png differ diff --git a/c3hl/img/moin-help.png b/c3hl/img/moin-help.png new file mode 100644 index 0000000..61cd256 Binary files /dev/null and b/c3hl/img/moin-help.png differ diff --git a/c3hl/img/moin-home.png b/c3hl/img/moin-home.png new file mode 100644 index 0000000..a0f8f21 Binary files /dev/null and b/c3hl/img/moin-home.png differ diff --git a/c3hl/img/moin-icon.png b/c3hl/img/moin-icon.png new file mode 100644 index 0000000..a644f24 Binary files /dev/null and b/c3hl/img/moin-icon.png differ diff --git a/c3hl/img/moin-info.png b/c3hl/img/moin-info.png new file mode 100644 index 0000000..ef68f64 Binary files /dev/null and b/c3hl/img/moin-info.png differ diff --git a/c3hl/img/moin-inter.png b/c3hl/img/moin-inter.png new file mode 100644 index 0000000..010a249 Binary files /dev/null and b/c3hl/img/moin-inter.png differ diff --git a/c3hl/img/moin-jabber.png b/c3hl/img/moin-jabber.png new file mode 100644 index 0000000..f6e8325 Binary files /dev/null and b/c3hl/img/moin-jabber.png differ diff --git a/c3hl/img/moin-new.png b/c3hl/img/moin-new.png new file mode 100644 index 0000000..522fc34 Binary files /dev/null and b/c3hl/img/moin-new.png differ diff --git a/c3hl/img/moin-news.png b/c3hl/img/moin-news.png new file mode 100644 index 0000000..a9850ee Binary files /dev/null and b/c3hl/img/moin-news.png differ diff --git a/c3hl/img/moin-parent.png b/c3hl/img/moin-parent.png new file mode 100644 index 0000000..590234a Binary files /dev/null and b/c3hl/img/moin-parent.png differ diff --git a/c3hl/img/moin-print.png b/c3hl/img/moin-print.png new file mode 100644 index 0000000..93be1b1 Binary files /dev/null and b/c3hl/img/moin-print.png differ diff --git a/c3hl/img/moin-raw.png b/c3hl/img/moin-raw.png new file mode 100644 index 0000000..2cbcc71 Binary files /dev/null and b/c3hl/img/moin-raw.png differ diff --git a/c3hl/img/moin-readonly.png b/c3hl/img/moin-readonly.png new file mode 100644 index 0000000..0466619 Binary files /dev/null and b/c3hl/img/moin-readonly.png differ diff --git a/c3hl/img/moin-renamed.png b/c3hl/img/moin-renamed.png new file mode 100644 index 0000000..124d375 Binary files /dev/null and b/c3hl/img/moin-renamed.png differ diff --git a/c3hl/img/moin-rss.png b/c3hl/img/moin-rss.png new file mode 100644 index 0000000..32272be Binary files /dev/null and b/c3hl/img/moin-rss.png differ diff --git a/c3hl/img/moin-search.png b/c3hl/img/moin-search.png new file mode 100644 index 0000000..fd7f0b0 Binary files /dev/null and b/c3hl/img/moin-search.png differ diff --git a/c3hl/img/moin-show.png b/c3hl/img/moin-show.png new file mode 100644 index 0000000..613f136 Binary files /dev/null and b/c3hl/img/moin-show.png differ diff --git a/c3hl/img/moin-subscribe.png b/c3hl/img/moin-subscribe.png new file mode 100644 index 0000000..33e6e31 Binary files /dev/null and b/c3hl/img/moin-subscribe.png differ diff --git a/c3hl/img/moin-telnet.png b/c3hl/img/moin-telnet.png new file mode 100644 index 0000000..619db11 Binary files /dev/null and b/c3hl/img/moin-telnet.png differ diff --git a/c3hl/img/moin-top.png b/c3hl/img/moin-top.png new file mode 100644 index 0000000..314ae47 Binary files /dev/null and b/c3hl/img/moin-top.png differ diff --git a/c3hl/img/moin-unsubscribe.png b/c3hl/img/moin-unsubscribe.png new file mode 100644 index 0000000..9e24ce2 Binary files /dev/null and b/c3hl/img/moin-unsubscribe.png differ diff --git a/c3hl/img/moin-up.png b/c3hl/img/moin-up.png new file mode 100644 index 0000000..5c00095 Binary files /dev/null and b/c3hl/img/moin-up.png differ diff --git a/c3hl/img/moin-updated.png b/c3hl/img/moin-updated.png new file mode 100644 index 0000000..38b1e10 Binary files /dev/null and b/c3hl/img/moin-updated.png differ diff --git a/c3hl/img/moin-www.png b/c3hl/img/moin-www.png new file mode 100644 index 0000000..ac5957a Binary files /dev/null and b/c3hl/img/moin-www.png differ diff --git a/c3hl/img/ohwell.png b/c3hl/img/ohwell.png new file mode 100644 index 0000000..e35daf1 Binary files /dev/null and b/c3hl/img/ohwell.png differ diff --git a/c3hl/img/prio1.png b/c3hl/img/prio1.png new file mode 100644 index 0000000..296fcaa Binary files /dev/null and b/c3hl/img/prio1.png differ diff --git a/c3hl/img/prio2.png b/c3hl/img/prio2.png new file mode 100644 index 0000000..850965c Binary files /dev/null and b/c3hl/img/prio2.png differ diff --git a/c3hl/img/prio3.png b/c3hl/img/prio3.png new file mode 100644 index 0000000..0649d2a Binary files /dev/null and b/c3hl/img/prio3.png differ diff --git a/c3hl/img/redface.png b/c3hl/img/redface.png new file mode 100644 index 0000000..2ea4da9 Binary files /dev/null and b/c3hl/img/redface.png differ diff --git a/c3hl/img/sad.png b/c3hl/img/sad.png new file mode 100644 index 0000000..a86e6f9 Binary files /dev/null and b/c3hl/img/sad.png differ diff --git a/c3hl/img/smile.png b/c3hl/img/smile.png new file mode 100644 index 0000000..361d705 Binary files /dev/null and b/c3hl/img/smile.png differ diff --git a/c3hl/img/smile2.png b/c3hl/img/smile2.png new file mode 100644 index 0000000..cc4bea9 Binary files /dev/null and b/c3hl/img/smile2.png differ diff --git a/c3hl/img/smile3.png b/c3hl/img/smile3.png new file mode 100644 index 0000000..4cf923e Binary files /dev/null and b/c3hl/img/smile3.png differ diff --git a/c3hl/img/smile4.png b/c3hl/img/smile4.png new file mode 100644 index 0000000..96f3af6 Binary files /dev/null and b/c3hl/img/smile4.png differ diff --git a/c3hl/img/star_off.png b/c3hl/img/star_off.png new file mode 100644 index 0000000..2f99cae Binary files /dev/null and b/c3hl/img/star_off.png differ diff --git a/c3hl/img/star_on.png b/c3hl/img/star_on.png new file mode 100644 index 0000000..6a64f93 Binary files /dev/null and b/c3hl/img/star_on.png differ diff --git a/c3hl/img/thumbs-up.png b/c3hl/img/thumbs-up.png new file mode 100644 index 0000000..ca277c6 Binary files /dev/null and b/c3hl/img/thumbs-up.png differ diff --git a/c3hl/img/tired.png b/c3hl/img/tired.png new file mode 100644 index 0000000..077c98d Binary files /dev/null and b/c3hl/img/tired.png differ diff --git a/c3hl/img/tongue.png b/c3hl/img/tongue.png new file mode 100644 index 0000000..7215ac7 Binary files /dev/null and b/c3hl/img/tongue.png differ diff --git a/moin.fcgi b/moin.fcgi new file mode 100755 index 0000000..c15d47d --- /dev/null +++ b/moin.fcgi @@ -0,0 +1,88 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +""" + MoinMoin - CGI/FCGI Driver script + + @copyright: 2000-2005 by Juergen Hermann , + 2008 by MoinMoin:ThomasWaldmann, + 2008 by MoinMoin:FlorianKrupicka, + 2010 by MoinMoin:RadomirDopieralski + @license: GNU GPL, see COPYING for details. +""" + +import sys, os + +# a) Configuration of Python's code search path +# If you already have set up the PYTHONPATH environment variable for the +# stuff you see below, you don't need to do a1) and a2). + +# a1) Path of the directory where the MoinMoin code package is located. +# Needed if you installed with --prefix=PREFIX or you didn't use setup.py. +#sys.path.insert(0, 'PREFIX/lib/python2.3/site-packages') + +# a2) Path of the directory where wikiconfig.py / farmconfig.py is located. +# See wiki/config/... for some sample config files. +#sys.path.insert(0, '/path/to/wikiconfigdir') +#sys.path.insert(0, '/path/to/farmconfigdir') + + +# b) Configuration of moin's logging +# If you have set up MOINLOGGINGCONF environment variable, you don't need this! +# You also don't need this if you are happy with the builtin defaults. +# See wiki/config/logging/... for some sample config files. +from MoinMoin import log +#log.load_config('/path/to/logging_configuration_file') +logging = log.getLogger(__name__) + +## this works around a bug in flup's CGI autodetection (as of flup 1.0.1): +#os.environ['FCGI_FORCE_CGI'] = 'Y' # 'Y' for (slow) CGI, 'N' for FCGI + +# Creating the WSGI application +# use shared=True to have moin serve the builtin static docs +# use shared=False to not have moin serve static docs +# use shared='/my/path/to/htdocs' to serve static docs from that path +from MoinMoin.web.serving import make_application +app = make_application(shared=False) # <-- adapt here as needed + +# Is fixing the script name needed? +# Use None if your url looks like http://domain/wiki/moin.fcgi +# Use '' if you use rewriting to run at http://domain/ +# Use '/mywiki' if you use rewriting to run at http://domain/mywiki/ +#fix_script_name = '' # <-- adapt here as needed +# +#if fix_script_name is None: +# application = app +#else: +# def script_name_fixer(env, start): +# env['SCRIPT_NAME'] = fix_script_name +# return app(env, start) +# application = script_name_fixer + +from urllib import unquote +def script_name_fixer(env, start): + env['PATH_INFO'] = unquote(env['REQUEST_URI'].split('?', 1)[0]) + env['SCRIPT_NAME'] = '' + return app(env, start) +application = script_name_fixer + +# CGI with Apache2 on Windows (maybe other combinations also) has trouble with +# URLs of non-ASCII pagenames. Use True to enable middleware that tries to fix. +fix_apache_win32 = False # <-- adapt here as needed + +if fix_apache_win32: + from werkzeug.contrib.fixers import PathInfoFromRequestUriFix + application = PathInfoFromRequestUriFix(application) + + +## Choose your server mode (threaded, forking or single-thread) +try: + # v-- adapt here as needed + from flup.server.fcgi import WSGIServer +# from flup.server.fcgi_fork import WSGIServer +# from flup.server.fcgi_single import WSGIServer +except ImportError: + logging.warning("No flup-package installed, only basic CGI support is available.") + from MoinMoin.web._fallback_cgi import WSGIServer + +WSGIServer(application).run() + diff --git a/wikiconfig.py b/wikiconfig.py new file mode 100644 index 0000000..a748dce --- /dev/null +++ b/wikiconfig.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +# IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a +# western country and you don't know that you use utf-8, you probably want to +# use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode +# encoding) you MUST use: coding: utf-8 +# That setting must match the encoding your editor uses when you modify the +# settings below. If it does not, special non-ASCII chars will be wrong. + +""" + MoinMoin - Configuration for a single wiki + + If you run a single wiki only, you can omit the farmconfig.py config + file and just use wikiconfig.py - it will be used for every request + we get in that case. + + Note that there are more config options than you'll find in + the version of this file that is installed by default; see + the module MoinMoin.config.multiconfig for a full list of names and their + default values. + + Also, the URL http://moinmo.in/HelpOnConfiguration has + a list of config options. + + ** Please do not use this file for a wiki farm. Use the sample file + from the wikifarm directory instead! ** +""" + +import os + +from MoinMoin.config import multiconfig, url_prefix_static +from MoinMoin.auth import MoinAuth +from MoinMoin.auth.sslclientcertlighty import SSLClientCertLightyAuth + + +class Config(multiconfig.DefaultConfig): + + # Critical setup --------------------------------------------------- + + # Directory containing THIS wikiconfig: + #wikiconfig_dir = os.path.abspath(os.path.dirname(__file__)) + wikiconfig_dir = '/var/www/www.ccchl.de' + + # We assume that this config file is located in the instance directory, like: + # instance_dir/ + # wikiconfig.py + # data/ + # underlay/ + # If that's not true, feel free to just set instance_dir to the real path + # where data/ and underlay/ is located: + #instance_dir = '/where/ever/your/instance/is' + instance_dir = wikiconfig_dir + + # Where your own wiki pages are (make regular backups of this directory): + data_dir = os.path.join(instance_dir, 'data', '') # path with trailing / + + # Where system and help pages are (you may exclude this from backup): + data_underlay_dir = os.path.join(instance_dir, 'underlay', '') # path with trailing / + + # The URL prefix we use to access the static stuff (img, css, js). + # Note: moin runs a static file server at url_prefix_static path (relative + # to the script url). + # If you run your wiki script at the root of your site (/), just do NOT + # use this setting and it will automatically work. + # If you run your wiki script at /mywiki, you need to use this: + url_prefix_static = '/static' + + + # Wiki identity ---------------------------------------------------- + + # Site name, used by default for wiki name-logo [Unicode] + sitename = u'CCC-HL' + + # Wiki logo. You can use an image, text or both. [Unicode] + # For no logo or text, use '' - the default is to show the sitename. + # See also url_prefix setting below! + logo_string = u'CCC-HL ‒ Chaostreff Lübeck' % url_prefix_static + + # name of entry page / front page [Unicode], choose one of those: + + # a) if most wiki content is in a single language + page_front_page = u"Hauptseite" + + # b) if wiki content is maintained in many languages + #page_front_page = u"FrontPage" + + # The interwiki name used in interwiki links + #interwikiname = u'UntitledWiki' + # Show the interwiki name (and link it to page_front_page) in the Theme, + # nice for farm setups or when your logo does not show the wiki's name. + #show_interwiki = 1 + + + # Security ---------------------------------------------------------- + + auth = [MoinAuth(), SSLClientCertLightyAuth(name_key = False)] + clientcerthost = 'www.ccchl.de:423' + + # This is checked by some rather critical and potentially harmful actions, + # like despam or PackageInstaller action: + superuser = [u"NeoRaider", u"magu", ] + + # IMPORTANT: grant yourself admin rights! replace YourName with + # your user name. See HelpOnAccessControlLists for more help. + # All acl_rights_xxx options must use unicode [Unicode] + acl_rights_before = u"AdminGroup:read,write,delete,revert,admin" + acl_rights_default = u"Known:read,write All:read" + + # The default (ENABLED) password_checker will keep users from choosing too + # short or too easy passwords. If you don't like this and your site has + # rather low security requirements, feel free to DISABLE the checker by: + #password_checker = None # None means "don't do any password strength checks" + + # Link spam protection for public wikis (Uncomment to enable) + # Needs a reliable internet connection. + #from MoinMoin.security.antispam import SecurityPolicy + + + # Mail -------------------------------------------------------------- + + # Configure to enable subscribing to pages (disabled by default) + # or sending forgotten passwords. + + # SMTP server, e.g. "mail.provider.com" (None to disable mail) + #mail_smarthost = "" + + # The return address, e.g u"Jürgen Wiki " [Unicode] + #mail_from = u"" + + # "user pwd" if you need to use SMTP AUTH + #mail_login = "" + + + # User interface ---------------------------------------------------- + + # Add your wikis important pages at the end. It is not recommended to + # remove the default links. Leave room for user links - don't use + # more than 6 short items. + # You MUST use Unicode strings here, but you need not use localized + # page names for system and help pages, those will be used automatically + # according to the user selected language. [Unicode] + navi_bar = [ + # If you want to show your page_front_page here: + u'%(page_front_page)s', + u'Ãœber uns', + u'Projekte', + ] + + topnav = [ + u'AktuelleÄnderungen', + u'SeiteFinden', + u'Impressum', + ] + + # The default theme anonymous or new users get + theme_default = 'c3hl' + theme_force = True + + + # Language options -------------------------------------------------- + + # See http://moinmo.in/ConfigMarket for configuration in + # YOUR language that other people contributed. + + # The main wiki language, set the direction of the wiki pages + language_default = 'de' + + # the following regexes should match the complete name when used in free text + # the group 'all' shall match all, while the group 'key' shall match the key only + # e.g. CategoryFoo -> group 'all' == CategoryFoo, group 'key' == Foo + # moin's code will add ^ / $ at beginning / end when needed + # You must use Unicode strings here [Unicode] + page_category_regex = ur'(?PKategorie(?P(?!Template)\S+))' + page_dict_regex = ur'(?P(?P\S+)Dict)' + page_group_regex = ur'(?P(?P\S+)Group)' + page_template_regex = ur'(?P(?P\S+)Template)' + + + # Content options --------------------------------------------------- + + # Show users hostnames in RecentChanges + show_hosts = 0 + + # Enable graphical charts, requires gdchart. + #chart_options = {'width': 600, 'height': 300} -- cgit v1.2.3