# HG changeset patch # User Paul Boddie # Date 1264901389 -3600 # Node ID a04610d53bf19f1a009e5f45e5473e6ce1ddd319 MinimalMoin: a minimal theme for MoinMoin designed to show as much of the page up front as possible. diff -r 000000000000 -r a04610d53bf1 COPYING.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COPYING.txt Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,34 @@ +Licence Agreement +----------------- + +Theme code: + +Copyright (C) 2009, 2010 Paul Boddie +Copyright (C) 2003-2008 MoinMoin:ThomasWaldmann, 2003-2005 Nir Soffer and others + +Stylesheets: + +Copyright (C) 2009, 2010 Paul Boddie +Copyright (C) 2001, 2002, 2003 by Juergen Hermann and others + +Images: + +Images from the modernized theme have been placed in the themes/fsfe/img +directory. Their copyright is attributed to the MoinMoin development team. + +Licensing notice: + +This software is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of +the License, or (at your option) any later version. + +This software is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public +License along with this library; see the file LICENCE.txt +If not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA diff -r 000000000000 -r a04610d53bf1 LICENCE.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENCE.txt Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff -r 000000000000 -r a04610d53bf1 insttheme --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/insttheme Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,18 @@ +#!/bin/bash + +if [[ ! $1 ]] ; then + echo "Please specify a Wiki directory such as ../mywiki or /tmp/mywiki." + exit +fi + +if [[ ! $2 ]] ; then + echo "Please also specify the directory containing the theme resources," + echo "such as ../moin/share/moin/." + exit +fi + +mkdir -p $2/htdocs/minimalmoin +cp -ir themes/minimalmoin/css $2/htdocs/minimalmoin +cp -r themes/minimalmoin/img $2/htdocs/minimalmoin +cp themes/minimalmoin/minimalmoin.py $1/wiki/data/plugin/theme/ +chown www-data: $1/wiki/data/plugin/theme/minimalmoin.py diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/css/common.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/css/common.css Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,545 @@ +/* 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.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;} + +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; } + +.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; +} + +.recentchanges td { + vertical-align: top; + border: none; + background: #e6eaf0; +} + + +.recentchanges .rcdaybreak td { + background: #81BBF2; + border: none; + border: 1px solid #4d7da9; +} + +.rcdaybreak td a { + font-size: 0.88em; +} + +.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.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 { + border: 1pt solid #E5E5E5; + background-color: #F9F9FF; + color: black; + + margin: 10pt 30pt 10pt 30pt; + 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.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 -r 000000000000 -r a04610d53bf1 themes/minimalmoin/css/msie.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/css/msie.css Sun Jan 31 02:29:49 2010 +0100 @@ -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 -r 000000000000 -r a04610d53bf1 themes/minimalmoin/css/print.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/css/print.css Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,53 @@ +/* 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 */ + +#header, #sidebar, #footer, #timings, #credits, #interwiki, #pagelocation { + display: none; +} + diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/css/projection.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/css/projection.css Sun Jan 31 02:29:49 2010 +0100 @@ -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 -r 000000000000 -r a04610d53bf1 themes/minimalmoin/css/screen.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/css/screen.css Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,372 @@ +/* screen.css - MoinMoin Default Styles + +Copyright (c) 2010 Paul Boddie +Copyright (c) 2001, 2002, 2003 by Juergen Hermann +*/ + +/* content styles */ + +body { + padding: 0; + margin: 0; + border: 0; +} + +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.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 { +} + +textarea { + font-size: 1em; + font-family: monospace; +} + +.disabled { + color: gray; +} + +/* user interface styles */ + +#header { + background: #eeeeee; + padding: 0; + border-bottom: 2px solid black; +} + +#footer { + background: #eeeeee; + padding: 0; + border-top: 2px solid black; +} + +/* Menu regions. */ + +.editing, +#identity, +#navigation { + margin-top: 1.5em; /* can be removed if menutitle is undisplayed */ +} + +#navigation { + background: #dddddd; +} + +#identity { + background: #333333; + color: white; +} + +.menutitleholder { + position: relative; + padding-top: 0.5em; /* can be removed if menutitle is undisplayed */ +} + +.menutitle { + position: absolute; + bottom: 1em; + left: 0; + padding: 0.25em; + margin: 0.25em; + background: #999999; + color: white; + /* display: none; */ +} + +/* Menus and lists. */ + +.editbar, +#navibar, +#username, +#pageabout, +#pagelocation { + display: inline-block; +} + +.editbar, +#pageabout, +#pagelocation, +#pagetrail, +#navibar { + padding: 0.5em 0; + margin: 0; + color: black; +} + +#username { + padding: 0.5em 0; + margin: 0; +} + +.editbar li, +#pageabout li, +#pagelocation li, +#pagetrail li, +#username li, +#navibar li { + display: inline; + padding: 0.5em 1em; + white-space: nowrap; +} + +#navibar li.wikilink { + background: #dddddd; +} + +#navibar li.userlink { + background: #cccccc; +} + +.editbar a, +.editbar a:visited, +#username a, +#username a:visited, +#navibar a, +#navibar a:visited { + text-decoration: none !important; +} + +.editbar a, +.editbar a:visited, +#username a, +#username a:visited { + color: inherit !important; +} + +#username li.current a, +#navibar li.current a { + font-weight: bold; +} + +.editbar form, .editbar form div { + display: inline; + margin: 0; +} + +.editbar select { + font-size: 100%; + vertical-align: middle; +} + +/* Other elements. */ + +#logo { + float: left; + margin: 0.5em; + padding: 0; + /* For text only logo */ + font-size: larger; + font-weight: bold; +} + +*[dir="rtl"] #logo { + float: right; +} + +#logo img { + vertical-align: middle; +} + +#logo a { + color: black; + text-decoration: none; +} + +#searchform { + margin: 4px 0.5em 8px 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; +} + +#interwiki { + font-size: 1em; +} + +#pageline { +} + +#message { + clear: both; + margin: 0; + padding: 5px 10px; + border-bottom: 1px solid #c9c9c9; + background: #E6EAF0; +} + +#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%; +} + +#page { + background-color: white; + margin: 0; + padding: 2px 20px 20px 20px; +} + +/* 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 { +} + +#credits, #version, #timings{ + margin: 5px 10px; + padding: 0; + text-align: center; + font-size: 0.88em; + color: #6C7680; +} + +#credits li, #timings li { + display: inline; + padding: 0 2px; + margin: 0 4px; +} + +#credits img { + vertical-align: middle; +} + +.diff { + width:99%; +} + +.diff-header { + font-weight: bold; +} + +.diff-title { + background-color: #C0C0C0; +} + +.diff-added { + background-color: #E0FFE0; + vertical-align: sub; +} + +.diff-removed { + background-color: #FFFFE0; + vertical-align: sub; +} + +.diff-added span { + background-color: #80FF80; +} + +.diff-removed span { + background-color: #FFFF80; +} + +table.navigation { + float: right; + margin: 2px; +} + +#openididentifier { + background: url(../../common/openid.png) no-repeat; + background-position: 0 50%; + padding-left: 18px; +} diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/PythonPowered.png Binary file themes/minimalmoin/img/PythonPowered.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/admon-caution.png Binary file themes/minimalmoin/img/admon-caution.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/admon-important.png Binary file themes/minimalmoin/img/admon-important.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/admon-note.png Binary file themes/minimalmoin/img/admon-note.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/admon-tip.png Binary file themes/minimalmoin/img/admon-tip.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/admon-warning.png Binary file themes/minimalmoin/img/admon-warning.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/alert.png Binary file themes/minimalmoin/img/alert.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/angry.png Binary file themes/minimalmoin/img/angry.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/attach.png Binary file themes/minimalmoin/img/attach.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/attention.png Binary file themes/minimalmoin/img/attention.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/biggrin.png Binary file themes/minimalmoin/img/biggrin.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/checkmark.png Binary file themes/minimalmoin/img/checkmark.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/devil.png Binary file themes/minimalmoin/img/devil.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/draft.png Binary file themes/minimalmoin/img/draft.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/frown.png Binary file themes/minimalmoin/img/frown.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/icon-error.png Binary file themes/minimalmoin/img/icon-error.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/icon-info.png Binary file themes/minimalmoin/img/icon-info.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/idea.png Binary file themes/minimalmoin/img/idea.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-attach.png Binary file themes/minimalmoin/img/moin-attach.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-bottom.png Binary file themes/minimalmoin/img/moin-bottom.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-conflict.png Binary file themes/minimalmoin/img/moin-conflict.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-deleted.png Binary file themes/minimalmoin/img/moin-deleted.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-diff.png Binary file themes/minimalmoin/img/moin-diff.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-download.png Binary file themes/minimalmoin/img/moin-download.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-edit.png Binary file themes/minimalmoin/img/moin-edit.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-email.png Binary file themes/minimalmoin/img/moin-email.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-ftp.png Binary file themes/minimalmoin/img/moin-ftp.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-help.png Binary file themes/minimalmoin/img/moin-help.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-home.png Binary file themes/minimalmoin/img/moin-home.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-icon.png Binary file themes/minimalmoin/img/moin-icon.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-info.png Binary file themes/minimalmoin/img/moin-info.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-inter.png Binary file themes/minimalmoin/img/moin-inter.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-jabber.png Binary file themes/minimalmoin/img/moin-jabber.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-new.png Binary file themes/minimalmoin/img/moin-new.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-news.png Binary file themes/minimalmoin/img/moin-news.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-parent.png Binary file themes/minimalmoin/img/moin-parent.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-print.png Binary file themes/minimalmoin/img/moin-print.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-raw.png Binary file themes/minimalmoin/img/moin-raw.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-readonly.png Binary file themes/minimalmoin/img/moin-readonly.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-renamed.png Binary file themes/minimalmoin/img/moin-renamed.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-rss.png Binary file themes/minimalmoin/img/moin-rss.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-search.png Binary file themes/minimalmoin/img/moin-search.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-show.png Binary file themes/minimalmoin/img/moin-show.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-subscribe.png Binary file themes/minimalmoin/img/moin-subscribe.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-telnet.png Binary file themes/minimalmoin/img/moin-telnet.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-top.png Binary file themes/minimalmoin/img/moin-top.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-unsubscribe.png Binary file themes/minimalmoin/img/moin-unsubscribe.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-up.png Binary file themes/minimalmoin/img/moin-up.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-updated.png Binary file themes/minimalmoin/img/moin-updated.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/moin-www.png Binary file themes/minimalmoin/img/moin-www.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/ohwell.png Binary file themes/minimalmoin/img/ohwell.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/prio1.png Binary file themes/minimalmoin/img/prio1.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/prio2.png Binary file themes/minimalmoin/img/prio2.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/prio3.png Binary file themes/minimalmoin/img/prio3.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/redface.png Binary file themes/minimalmoin/img/redface.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/sad.png Binary file themes/minimalmoin/img/sad.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/smile.png Binary file themes/minimalmoin/img/smile.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/smile2.png Binary file themes/minimalmoin/img/smile2.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/smile3.png Binary file themes/minimalmoin/img/smile3.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/smile4.png Binary file themes/minimalmoin/img/smile4.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/star_off.png Binary file themes/minimalmoin/img/star_off.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/star_on.png Binary file themes/minimalmoin/img/star_on.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/thumbs-up.png Binary file themes/minimalmoin/img/thumbs-up.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/tired.png Binary file themes/minimalmoin/img/tired.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/img/tongue.png Binary file themes/minimalmoin/img/tongue.png has changed diff -r 000000000000 -r a04610d53bf1 themes/minimalmoin/minimalmoin.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/minimalmoin/minimalmoin.py Sun Jan 31 02:29:49 2010 +0100 @@ -0,0 +1,234 @@ +# -*- coding: iso-8859-1 -*- + +""" + MoinMoin - MinimalMoin theme + @copyright: 2009, 2010 Paul Boddie + @copyright: (portions) 2003-2008 MoinMoin:ThomasWaldmann, 2003-2005 Nir Soffer + @license: GNU GPL (v2 or later), see COPYING.txt for details. +""" + +from MoinMoin.theme import ThemeBase +from MoinMoin import i18n +from MoinMoin import wikiutil +from MoinMoin import version +from MoinMoin.Page import Page +import re + +class Theme(ThemeBase): + + name = "minimalmoin" + + # Icon definitions from the modernized theme... + + _ = 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 header(self, d, **kw): + """ Assemble page header + + @param d: parameter dictionary + @rtype: unicode + @return: page header html + """ + + request = self.request + fmt = request.formatter + html = [] + + # NOTE: Some pages cause section numbers to be enabled, affecting the + # NOTE: theme. + + show_section_numbers = fmt._show_section_numbers + fmt._show_section_numbers = 0 + + # The header section. + + html.append(fmt.div(on=1, attr={"id" : "header"})) + + html.append(self.title(d)) + html.append(self.about(d)) + + html.append(fmt.div(on=0)) + + # Show any pertinent message. + + html.append(self.msg(d)) + + # Complete the header. + + html.append(self.startPage()) + + # NOTE: Some pages cause section numbers to be enabled, affecting the + # NOTE: theme. + + fmt._show_section_numbers = show_section_numbers + + return u''.join(html) + + editorheader = header + + def footer(self, d, **kw): + """ Assemble page footer + + @param d: parameter dictionary + @rtype: unicode + @return: page footer html + """ + + request = self.request + fmt = request.formatter + _ = request.getText + html = [] + + # NOTE: Some pages cause section numbers to be enabled, affecting the + # NOTE: theme. + + show_section_numbers = fmt._show_section_numbers + fmt._show_section_numbers = 0 + + # End the page. + + html.append(self.endPage()) + + # The footer section. + + html.append(fmt.div(on=1, attr={"id" : "footer"})) + + html.append(fmt.div(on=1, attr={"class" : "editing"})) + html.append(fmt.span(on=1, attr={"class" : "menutitleholder"})) + html.append(fmt.span(on=1, attr={"class" : "menutitle"})) + html.append(fmt.text(_("Editing options"))) + html.append(fmt.span(on=0)) + html.append(self.editbar(d)) + html.append(fmt.span(on=0)) + html.append(fmt.div(on=0)) + + html.append(fmt.div(on=1, attr={"id" : "navigation"})) + html.append(fmt.span(on=1, attr={"class" : "menutitleholder"})) + html.append(fmt.span(on=1, attr={"class" : "menutitle"})) + html.append(fmt.text(_("Useful pages"))) + html.append(fmt.span(on=0)) + html.append(self.navibar(d)) + html.append(fmt.span(on=0)) + html.append(fmt.div(on=0)) + + html.append(fmt.div(on=1, attr={"id" : "identity"})) + html.append(fmt.span(on=1, attr={"class" : "menutitleholder"})) + html.append(fmt.span(on=1, attr={"class" : "menutitle"})) + html.append(fmt.text(_("User information"))) + html.append(fmt.span(on=0)) + html.append(self.username(d)) + html.append(fmt.span(on=0)) + html.append(fmt.div(on=0)) + + #html.append(self.trail(d)) + + html.append(fmt.div(on=0)) + + # NOTE: Some pages cause section numbers to be enabled, affecting the + # NOTE: theme. + + fmt._show_section_numbers = show_section_numbers + + return u''.join(html) + + def about(self, d, **kw): + """ Link to the controls in the footer. + + @param d: parameter dictionary + @rtype: unicode + @return: about link html + """ + + request = self.request + fmt = request.formatter + _ = request.getText + html = [] + + html.append(fmt.bullet_list(on=1, attr={"id" : "pageabout"})) + html.append(fmt.listitem(on=1)) + + html.append(fmt.anchorlink(on=1, name="footer")) + html.append(fmt.text(_("About this page"))) + html.append(fmt.anchorlink(on=0)) + + html.append(fmt.listitem(on=0)) + html.append(fmt.bullet_list(on=0)) + + return u''.join(html) + +# Theme instantiation. + +def execute(request): + """ + Generate and return a theme object + + @param request: the request object + @rtype: MoinTheme + @return: Theme object + """ + return Theme(request) + +# vim: tabstop=4 expandtab shiftwidth=4