[Checkins] SVN: grokui.introspector/trunk/ Merge changes from homework branch.
Uli Fouquet
uli at gnufix.de
Tue Apr 21 20:44:16 EDT 2009
Log message for revision 99355:
Merge changes from homework branch.
Changed:
_U grokui.introspector/trunk/
U grokui.introspector/trunk/buildout.cfg
U grokui.introspector/trunk/setup.py
U grokui.introspector/trunk/src/grokui/introspector/content.py
U grokui.introspector/trunk/src/grokui/introspector/content_templates/inspect.pt
A grokui.introspector/trunk/src/grokui/introspector/static/base.css
A grokui.introspector/trunk/src/grokui/introspector/static/content.css
A grokui.introspector/trunk/src/grokui/introspector/static/logo.gif
A grokui.introspector/trunk/src/grokui/introspector/static/top_bg.jpg
-=-
Property changes on: grokui.introspector/trunk
___________________________________________________________________
Modified: svn:externals
- bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap/
zope.introspector svn://svn.zope.org/repos/main/zope.introspector/trunk
zope.introspectorui svn://svn.zope.org/repos/main/zope.introspectorui/trunk
grok svn://svn.zope.org/repos/main/grok/trunk
+ bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap/
Modified: grokui.introspector/trunk/buildout.cfg
===================================================================
--- grokui.introspector/trunk/buildout.cfg 2009-04-21 23:54:22 UTC (rev 99354)
+++ grokui.introspector/trunk/buildout.cfg 2009-04-22 00:44:15 UTC (rev 99355)
@@ -1,13 +1,12 @@
[buildout]
-develop = . zope.introspector zope.introspectorui grok
+develop = .
parts = test data zopectl app
-extends = http://grok.zope.org/releaseinfo/grok-0.13.cfg
+extends = http://grok.zope.org/releaseinfo/grok-1.0a3.cfg
versions = versions
[versions]
-grokcore.component =
-grok =
+
[data]
recipe = zc.recipe.filestorage
Modified: grokui.introspector/trunk/setup.py
===================================================================
--- grokui.introspector/trunk/setup.py 2009-04-21 23:54:22 UTC (rev 99354)
+++ grokui.introspector/trunk/setup.py 2009-04-22 00:44:15 UTC (rev 99355)
@@ -42,6 +42,7 @@
'grok',
'zope.introspector',
'zope.introspectorui',
+ 'hurry.zopeyui',
],
tests_require = tests_require,
extras_require = dict(test=tests_require),
Modified: grokui.introspector/trunk/src/grokui/introspector/content.py
===================================================================
--- grokui.introspector/trunk/src/grokui/introspector/content.py 2009-04-21 23:54:22 UTC (rev 99354)
+++ grokui.introspector/trunk/src/grokui/introspector/content.py 2009-04-22 00:44:15 UTC (rev 99355)
@@ -1,10 +1,13 @@
import grok
+from hurry import yui
+from hurry.resource import NeededInclusions
from zope import interface
from zope.introspector.interfaces import IObjectInfo
from zope.introspector.viewinfo import ViewInfo
from grokui.introspector.util import dotted_name_url
+
class Inspect(grok.View):
grok.context(interface.Interface)
@@ -25,6 +28,35 @@
def getTypeInspectURL(self):
return dotted_name_url(self.getTypeName())
- def getViews(self):
+ def getViews(self, order=(0,2,1)):
+ """Get all views for the context object.
+
+ Return a list of three-tuples describing a view (<skinname>,
+ <interface, <name>). The list is ordered by one of these
+ categories. The order number is:
+
+ 0 for sort by skin
+ 1 for sort by interface
+ 2 for sort by name
+
+ So, if the result should be sort in skin name order first,
+ followed by interface name order, the order might be (0,1,2).
+ """
info = ViewInfo(self.context)
- return sorted(list(info.getAllViews()))
+ view_list = list(info.getAllViews())
+ return sorted(view_list,
+ key=lambda x: (x[order[0]], x[order[1]], x[order[2]]))
+
+ def encode(self, text):
+ text = str(text)
+ text = text.replace(
+ '&', '&').replace(
+ '<', '<').replace(
+ '>', '>')
+ return text
+
+ def getYUIIncludes(self):
+ # XXX: This is most probably the wrong approach
+ needed = NeededInclusions()
+ needed.need(yui.datatable)
+ return needed.render()
Modified: grokui.introspector/trunk/src/grokui/introspector/content_templates/inspect.pt
===================================================================
--- grokui.introspector/trunk/src/grokui/introspector/content_templates/inspect.pt 2009-04-21 23:54:22 UTC (rev 99354)
+++ grokui.introspector/trunk/src/grokui/introspector/content_templates/inspect.pt 2009-04-22 00:44:15 UTC (rev 99355)
@@ -1,8 +1,40 @@
<html>
+ <head>
+ <title>Grok Content Browser</title>
+ <link type="text/css" rel="stylesheet"
+ href="http://yui.yahooapis.com/2.7.0/build/datatable/assets/skins/sam/datatable.css">
+
+ <link tal:attributes="href static/content.css"
+ rel="stylesheet" type="text/css" />
+ </head>
<body>
- <h1>Content browser</h1>
-
- <h2>Content</h2>
+ <div class="header">
+ <div class="title">
+ <img src="" alt="Grok"
+ tal:attributes="src static/logo.gif" />
+ Content browser
+ </div>
+
+ <div class="globalnav">
+ <div id="globalnavwrapper">
+ <ul>
+ <li><a href="/++inspect++/">Introspector</a></li>
+ <li><a href="/++inspect++/+registry/@@index">Registry Browser</a></li>
+
+ <li><a href="/++inspect++/+code/@@index">Code Browser</a></li>
+ <li><a href="/++inspect++/+content/@@index">Content Browser</a></li>
+ </ul>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body">
+
+ <h2 class="section">Content</h2>
<tal:content define="content context/keys | nothing" >
<span tal:condition="not: content">
No content found...
@@ -26,9 +58,67 @@
</p>
</div>
- <h2>Available views</h2>
- <div tal:repeat="info view/getViews" tal:content="info">
- All views...
+ <h2>Available Views</h2>
+
+ <div class="yui-skin-sam">
+ <div tal:content="structure view/getYUIIncludes" />
+ <div id="myMarkedUpContainer">
+ <table id="myTable">
+ <thead>
+ <tr>
+ <th>Skin</th>
+ <th>Name</th>
+ <th>Interface</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr tal:repeat="info view/getViews">
+ <td tal:content="python:info[0]"></td>
+ <td tal:content="python:info[2]"></td>
+ <td tal:content="python:info[1]"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
</div>
+ <script type="text/javascript">
+ var myDataSource = new YAHOO.util.DataSource(YAHOO.util.Dom.get("myTable"));
+ myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
+ myDataSource.responseSchema = {
+ fields: [{key:"skin",},
+ {key:"name"},
+ {key:"iface"}
+ ]
+ };
+
+ var myColumnDefs = [
+ {key:"skin", label:"Skin", sortable:true},
+ {key:"name", label:"Name", sortable:true},
+ {key:"iface", label:"Interface", sortable:true}
+ ];
+
+ var myDataTable = new YAHOO.widget.DataTable("myMarkedUpContainer", myColumnDefs, myDataSource);
+ </script>
+
+
+ </div>
+ </div>
+ </div>
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+
+ <h3>Quick search</h3>
+
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" size="18" /> <input type="submit" value="Go" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ </div>
+ </div>
+ <div class="clearer"></div>
+
+ </div>
+
</body>
</html>
Copied: grokui.introspector/trunk/src/grokui/introspector/static/base.css (from rev 99354, grokui.introspector/branches/ulif-integrate-homework/src/grokui/introspector/static/base.css)
===================================================================
--- grokui.introspector/trunk/src/grokui/introspector/static/base.css (rev 0)
+++ grokui.introspector/trunk/src/grokui/introspector/static/base.css 2009-04-22 00:44:15 UTC (rev 99355)
@@ -0,0 +1,910 @@
+/*
+ * Grok Official Documentation CSS
+ *
+ * (clean me up! improve me! make me look nicer!)
+ *
+ */
+
+body {
+ font-family: sans-serif;
+ font-size: 100%;
+ background-color: #11303d;
+ background-color: #dddddd;
+ background: #cfcccc url("top_bg.jpg") repeat-x;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+td {
+ vertical-align: top;
+}
+
+/* :::: LAYOUT :::: */
+
+div.document {
+ background-color: #dddddd;
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 250px;
+}
+
+div.body {
+ background-color: white;
+ padding: 1.5em;
+ border-left: 1px solid #999;
+
+}
+
+div.clearer {
+ clear: both;
+}
+
+div.footer {
+ color: #740;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #740;
+ text-decoration: underline;
+}
+
+div.header {
+ background: #999999 url("top_bg.jpg") repeat-x;
+ padding: 0.5em 1em 0 1em;
+}
+
+div.header a{
+ color: #520;
+ padding: 0.5em;
+ text-decoration: none;
+}
+
+div.globalnav {
+ color: #740;
+ border-bottom: 1px solid #aaa;
+ width: 100%;
+ font-size: small;
+}
+
+div.globalnav h3 {
+ display: none;
+}
+
+#globalnavwrapper {
+ padding: 2px;
+ margin: 0.5em 0 0 0;
+}
+
+div.globalnav ul {
+ margin: 0 0 0 0;
+ padding: 0;
+ list-style: none;
+}
+
+div.globalnav li {
+ display: inline;
+ padding: 2px 0.5em;
+ margin: 0 1px;
+ background-color: #eee;
+ border: 1px solid #999;
+}
+
+div.globalnav a {
+ color: #436976;
+ text-decoration: none;
+}
+
+div.globalnav li:hover {
+ background-color: white;
+}
+
+/* ::: Table of Contents :::: */
+
+.document > div.sidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+.sphinxsidebar {
+ float: left;
+ width: 250px;
+ margin-left: -100%;
+ font-size: small;
+ color: #333333;
+ padding: 8px;
+}
+
+.sphinxsidebar a {
+ color: #436976;
+}
+
+.sphinxsidebar h3 {
+ font-family: 'Trebuchet MS', sans-serif;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+.sphinxsidebar h4 {
+ font-family: 'Trebuchet MS', sans-serif;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ list-style: none;
+ color: #c90;
+}
+
+.sphinxsidebar ul ul,
+.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+ color: #436976;
+}
+
+.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.sphinxsidebar ul li {
+ margin: 0.25em 0 0.5em 0;
+}
+
+.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+.sphinxsidebar input {
+ border: 1px solid #555555;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* Grok Tutorial style sidebar */
+.section div.sidebar {
+ margin: 1em 2em;
+ padding: 0.5em 2em 1em 100px;
+ background-color: #fafaf8;
+ border: 1px solid #aaa;
+ border-top-width: 6px;
+ background-image: url(grok_club.gif);
+ background-repeat: no-repeat;
+}
+
+.section .sidebar-title {
+ font-weight: bold;
+ font-size: 110%;
+}
+
+/* :::: MODULE CLOUD :::: */
+div.modulecloud {
+ margin: -5px 10px 5px 10px;
+ padding: 10px;
+ line-height: 160%;
+ border: 1px solid #cbe7e5;
+ background-color: #f2fbfd;
+}
+
+div.modulecloud a {
+ padding: 0 5px 0 5px;
+}
+
+/* :::: SEARCH :::: */
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* :::: COMMON FORM STYLES :::: */
+
+div.actions {
+ padding: 5px 10px 5px 10px;
+ border-top: 1px solid #cbe7e5;
+ border-bottom: 1px solid #cbe7e5;
+ background-color: #e0f6f4;
+}
+
+form dl {
+ color: #333;
+}
+
+form dt {
+ clear: both;
+ float: left;
+ min-width: 110px;
+ margin-right: 10px;
+ padding-top: 2px;
+}
+
+input#homepage {
+ display: none;
+}
+
+div.error {
+ margin: 5px 20px 0 0;
+ padding: 5px;
+ border: 1px solid #d00;
+ font-weight: bold;
+}
+
+/* :::: INLINE COMMENTS :::: */
+
+div.inlinecomments {
+ position: absolute;
+ right: 20px;
+}
+
+div.inlinecomments a.bubble {
+ display: block;
+ float: right;
+ background-image: url(style/comment.png);
+ background-repeat: no-repeat;
+ width: 25px;
+ height: 25px;
+ text-align: center;
+ padding-top: 3px;
+ font-size: 0.9em;
+ line-height: 14px;
+ font-weight: bold;
+ color: black;
+}
+
+div.inlinecomments a.bubble span {
+ display: none;
+}
+
+div.inlinecomments a.emptybubble {
+ background-image: url(style/nocomment.png);
+}
+
+div.inlinecomments a.bubble:hover {
+ background-image: url(style/hovercomment.png);
+ text-decoration: none;
+ color: #3ca0a4;
+}
+
+div.inlinecomments div.comments {
+ float: right;
+ margin: 25px 5px 0 0;
+ max-width: 50em;
+ min-width: 30em;
+ border: 1px solid #2eabb0;
+ background-color: #f2fbfd;
+ z-index: 150;
+}
+
+div#comments {
+ border: 1px solid #2eabb0;
+ margin-top: 20px;
+}
+
+div#comments div.nocomments {
+ padding: 10px;
+ font-weight: bold;
+}
+
+div.inlinecomments div.comments h3,
+div#comments h3 {
+ margin: 0;
+ padding: 0;
+ background-color: #2eabb0;
+ color: white;
+ border: none;
+ padding: 3px;
+}
+
+div.inlinecomments div.comments div.actions {
+ padding: 4px;
+ margin: 0;
+ border-top: none;
+}
+
+div#comments div.comment {
+ margin: 10px;
+ border: 1px solid #2eabb0;
+}
+
+div.inlinecomments div.comment h4,
+div.commentwindow div.comment h4,
+div#comments div.comment h4 {
+ margin: 10px 0 0 0;
+ background-color: #2eabb0;
+ color: white;
+ border: none;
+ padding: 1px 4px 1px 4px;
+}
+
+div#comments div.comment h4 {
+ margin: 0;
+}
+
+div#comments div.comment h4 a {
+ color: #d5f4f4;
+}
+
+div.inlinecomments div.comment div.text,
+div.commentwindow div.comment div.text,
+div#comments div.comment div.text {
+ margin: -5px 0 -5px 0;
+ padding: 0 10px 0 10px;
+}
+
+div.inlinecomments div.comment div.meta,
+div.commentwindow div.comment div.meta,
+div#comments div.comment div.meta {
+ text-align: right;
+ padding: 2px 10px 2px 0;
+ font-size: 95%;
+ color: #538893;
+ border-top: 1px solid #cbe7e5;
+ background-color: #e0f6f4;
+}
+
+div.commentwindow {
+ position: absolute;
+ width: 500px;
+ border: 1px solid #cbe7e5;
+ background-color: #f2fbfd;
+ display: none;
+ z-index: 130;
+}
+
+div.commentwindow h3 {
+ margin: 0;
+ background-color: #2eabb0;
+ color: white;
+ border: none;
+ padding: 5px;
+ font-size: 1.5em;
+ cursor: pointer;
+}
+
+div.commentwindow div.actions {
+ margin: 10px -10px 0 -10px;
+ padding: 4px 10px 4px 10px;
+ color: #538893;
+}
+
+div.commentwindow div.actions input {
+ border: 1px solid #2eabb0;
+ background-color: white;
+ color: #135355;
+ cursor: pointer;
+}
+
+div.commentwindow div.form {
+ padding: 0 10px 0 10px;
+}
+
+div.commentwindow div.form input,
+div.commentwindow div.form textarea {
+ border: 1px solid #3c9ea2;
+ background-color: white;
+ color: black;
+}
+
+div.commentwindow div.error {
+ margin: 10px 5px 10px 5px;
+ background-color: #fbe5dc;
+ display: none;
+}
+
+div.commentwindow div.form textarea {
+ width: 99%;
+}
+
+div.commentwindow div.preview {
+ margin: 10px 0 10px 0;
+ background-color: #70d0d4;
+ padding: 0 1px 1px 25px;
+}
+
+div.commentwindow div.preview h4 {
+ margin: 0 0 -5px -20px;
+ padding: 4px 0 0 4px;
+ color: white;
+ font-size: 1.3em;
+}
+
+div.commentwindow div.preview div.comment {
+ background-color: #f2fbfd;
+}
+
+div.commentwindow div.preview div.comment h4 {
+ margin: 10px 0 0 0!important;
+ padding: 1px 4px 1px 4px!important;
+ font-size: 1.2em;
+}
+
+/* :::: SUGGEST CHANGES :::: */
+div#suggest-changes-box input, div#suggest-changes-box textarea {
+ border: 1px solid #dddddd;
+ background-color: white;
+ color: black;
+}
+
+div#suggest-changes-box textarea {
+ width: 99%;
+ height: 400px;
+}
+
+
+/* :::: PREVIEW :::: */
+div.preview {
+ background-image: url(style/preview.png);
+ padding: 0 20px 20px 20px;
+ margin-bottom: 30px;
+}
+
+
+/* :::: INDEX PAGE :::: */
+
+table.contentstable {
+ width: 90%;
+ margin-top: -1em;
+ margin-left: 2em;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ color: #555;
+ padding-top: 0.25em;
+ font-size: 90%;
+}
+
+/* :::: INDEX STYLES :::: */
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+form.pfform {
+ margin: 10px 0 20px 0;
+}
+
+/* :::: GLOBAL STYLES :::: */
+
+.docwarning {
+ background-color: #ffe4e4;
+ padding: 10px;
+ margin: 0 -20px 0 -20px;
+ border-bottom: 1px solid #f66;
+}
+
+p.subhead {
+ font-weight: bold;
+ margin-top: 20px;
+}
+
+a {
+ color: #355f7c;
+ color: #a70;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: 'Trebuchet MS', sans-serif;
+ font-weight: normal;
+ color: #c90;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 0.5em 0;
+ padding: 3px 1em 3px 0.25em;
+}
+
+div.body h1 { margin-top: 0; background-color: #f2f2f2; font-size: 200%; }
+div.body h2 { font-size: 160%; background-color: #f2f2f2; }
+div.body h3 { font-size: 140%; border-bottom-width: 0; padding-left: 0; }
+div.body h4 { font-size: 120%; border-bottom-width: 0; padding-left: 0; }
+div.body h5 { font-size: 110%; border-bottom-width: 0; padding-left: 0; }
+div.body h6 { font-size: 100%; border-bottom-width: 0; padding-left: 0; }
+
+a.headerlink {
+ color: #dddddd;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+ visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+ visibility: visible;
+}
+
+a.headerlink:hover {
+ color: #555555;
+}
+
+div.body p, div.body dd, div.body li {
+ line-height: 150%;
+}
+
+div.body td {
+ text-align: left;
+}
+
+ul.fakelist {
+ list-style: none;
+ margin: 10px 0 10px 20px;
+ padding: 0;
+}
+
+/* "Footnotes" heading */
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+/* "Topics" */
+
+div.topic {
+ background-color: #eeeeee;
+ border: 1px solid #dddddd;
+ padding: 0 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+.topic ul {
+ margin: 0 0 0.5em 1.5em;
+ padding: 0;
+}
+
+.topic > ul {
+ margin-left: 0;
+}
+
+.simple li {
+ list-style: none;
+}
+
+/* Admonitions */
+
+div.admonition {
+ margin: 0.5em 0;
+ padding: 0.5em;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+div.admonition p {
+ display: inline;
+}
+
+div.seealso {
+ padding: 0;
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.seealso .first {
+ background-color: #ffa;
+ padding: 0.25em 0.5em;
+ display: block;
+ float: left;
+ margin: 0 0.5em 0 0;
+}
+
+div.seealso .last {
+ padding: 0.25em 0;
+ display: block;
+ margin: 0;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+div.note {
+ background-color: #eeeeee;
+ border: 1px solid #dddddd;
+}
+
+dl.class {
+ color: #555555;
+ background: #fafaf8;
+ padding: 0 1em 1em 1em;
+ border: 1px solid #eed;
+}
+
+dl.class dt {
+ margin: 0;
+ padding: 0;
+}
+
+/* only applies to the class name */
+dl.class > dt {
+ padding: 0.5em;
+ margin: 0 -1em;
+ background-color: #eed;
+}
+
+dl.class dd {
+ color: black;
+ font-size: 100%;
+ padding: 0;
+ margin: 0.5em 1em 0.5em 1em;
+}
+
+dl.class > dd {
+ margin: 0.5em 0 0 0;
+ padding: 0;
+}
+
+p.admonition-title {
+ margin: 0 0.5em 0.5em 0;
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+table.docutils {
+ border: 0;
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 0;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+dl {
+ margin-bottom: 15px;
+ clear: both;
+}
+
+dd p {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+.refcount {
+ color: #060;
+}
+
+dt:target,
+.highlight {
+ background-color: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+pre {
+ padding: 1em;
+ background-color: #fafafa;
+ color: #333333;
+ border: 2px dotted #eee;
+ border-left: none;
+ border-right: none;
+ font-size: medium;
+ line-height: 150%;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0;
+}
+
+tt.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+tt.descclassname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+ /* a little hand kerning for grok.Whatever typography */
+ margin-right: -1px;
+}
+
+tt.xref, a tt {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+.footnote:target { background-color: #ffa }
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ background-color: transparent;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+form.comment {
+ margin: 0;
+ padding: 10px 30px 10px 30px;
+ background-color: #eee;
+}
+
+form.comment h3 {
+ background-color: #326591;
+ color: white;
+ margin: -10px -30px 10px -30px;
+ padding: 5px;
+ font-size: 1.4em;
+}
+
+form.comment input,
+form.comment textarea {
+ border: 1px solid #dddddd;
+ padding: 2px;
+ font-family: sans-serif;
+ font-size: 100%;
+}
+
+form.comment input[type="text"] {
+ width: 240px;
+}
+
+form.comment textarea {
+ width: 100%;
+ height: 200px;
+ margin-bottom: 10px;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+img.logo {
+ border-width: 0;
+ margin-bottom: 1em;
+}
+
+/* :::: PRINT :::: */
+ at media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0;
+ width : 100%;
+ }
+
+ div.sidebar,
+ div.globalnav,
+ div.footer,
+ div#comments div.new-comment-box,
+ #top-link {
+ display: none;
+ }
+}
Copied: grokui.introspector/trunk/src/grokui/introspector/static/content.css (from rev 99354, grokui.introspector/branches/ulif-integrate-homework/src/grokui/introspector/static/content.css)
===================================================================
--- grokui.introspector/trunk/src/grokui/introspector/static/content.css (rev 0)
+++ grokui.introspector/trunk/src/grokui/introspector/static/content.css 2009-04-22 00:44:15 UTC (rev 99355)
@@ -0,0 +1,39 @@
+/*
+ * Grok Official Documentation CSS
+ *
+ * (clean me up! improve me! make me look nicer!)
+ *
+ */
+ at import url("base.css");
+
+div.header div.title {
+ font-family: 'Trebuchet MS', sans-serif;
+ font-weight: normal;
+ font-size: 180%;
+ color: #444;
+ margin: 0px 0px 0.5em 10px;
+ padding: 3px 1em 5px 0.25em;
+}
+
+div.header div.title img {
+ margin-top: -10px;
+ he/ight: 60px;
+ }
+
+div.globalnav {
+ color: #740;
+ border-bottom: 1px solid #aaa;
+ width: 100%;
+ font-size: small;
+ margin-top: -25px;
+}
+
+.yui-skin-sam tr {
+ font-family: 'Trebuchet MS', sans-serif;
+ background-color: red;
+}
+
+.yui-skin-sam .yui-dt th,
+.yui-skin-sam .yui-dt th a {
+ font-weight: bold;
+}
Copied: grokui.introspector/trunk/src/grokui/introspector/static/logo.gif (from rev 99354, grokui.introspector/branches/ulif-integrate-homework/src/grokui/introspector/static/logo.gif)
===================================================================
(Binary files differ)
Copied: grokui.introspector/trunk/src/grokui/introspector/static/top_bg.jpg (from rev 99354, grokui.introspector/branches/ulif-integrate-homework/src/grokui/introspector/static/top_bg.jpg)
===================================================================
(Binary files differ)
More information about the Checkins
mailing list