doc/_static/sphinx-default.css
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 09 Mar 2017 16:36:33 +0100
changeset 12053 c3c9f2e1424c
parent 10491 c67bcee93248
permissions -rw-r--r--
[pyramid] Add a "pyramid" instance configuration type In a new module 'cubicweb.pyramid.config' we define a "pyramid" instance configuration type. The noticeable feature of this configuration is that it manages a 'development.ini' file that gets installed in application home (along with `.conf` file). This file is templated and includes generated values for secrets of session and authtk tokens. This means that we can just call: pserve etc/cubicweb.d/<appname>/development.ini or gunicorn --paste etc/cubicweb.d/<appname>/development.ini -b :8080 just after instance creation to get a pyramid instance running without having to hack around a 'pyramid.ini' file. This patch drops 'development.ini' from skeleton and moves it in cubicweb/pyramid so that it gets installed at instance creation which is more appropriate than in cube creation. The new configuration class sets "cubicweb.bwcompat" setting to false so it is not intended to replace the "all-in-one" configuration type (which would require a bit more work). This configuration is close to the the 'repository' configuration type with just a couple of options from WebConfiguration that are needed for Pyramid (anonymous user/password plus some miscellaneous options that I'm not so sure are really needed). Note, in particular, that we do not pull CORS settings to be injected as a WSGI middleware like in wsgi_application_from_cwconfig() since I believe this should be left as an end-user responsibility and since this can be defined in a standard way in paste configuration. This configuration inherits from ServerConfiguration but registers the same appobjects as WebConfiguration. In cubicweb.web.request._CubicWebRequestBase, we guard against access to "uiprops" and "datadir_url" of the config because this new "pyramid" config does not have these (this does not make sense without bwcompat mode). At some point, we should either avoid using `cw_request`'s pyramid request attribute or make cubicweb's web request really independant of existing implementation and drop these assumptions.

/**
 * Sphinx Doc Design
 */

html, body {
    background: white;
}

body {
    font-family: Verdana, sans-serif;
    font-size: 100%;
    background-color: white;
    color: black;
    margin: 0;
    padding: 0;
}

/* :::: LAYOUT :::: */

div.logilablogo {
    padding: 10px 10px 10px 10px;
    height:75;
}


div.document {
    background-color: white;
}

div.documentwrapper {
    float: left;
    width: 100%;
}

div.bodywrapper {
    margin: 0 0 0 230px;
}

div.body {
    background-color: white;
    padding: 0 20px 30px 20px;
    border-left:solid;
    border-left-color:#e2e2e2;
    border-left-width:thin;
}

div.sphinxsidebarwrapper {
    padding: 10px 5px 0 10px;
}

div.sphinxsidebar {
    float: left;
    width: 230px;
    margin-left: -100%;
    font-size: 90%;
}

div.clearer {
    clear: both;
}

div.footer {
    color: #ff4500;
    width: 100%;
    padding: 9px 0 9px 0;
    text-align: center;
    font-size: 75%;
}

div.footer a {
    color: #ff4500;
    text-decoration: underline;
}

div.related {
    background-color: #ff7700;
    color: white;
    width: 100%;
    height: 30px;
    line-height: 30px;
    font-size: 90%;
}

div.related h3 {
    display: none;
}

div.related ul {
    margin: 0;
    padding: 0 0 0 10px;
    list-style: none;
}

div.related li {
    display: inline;
}

div.related li.right {
    float: right;
    margin-right: 5px;
}

div.related a {
    color: white;
    font-weight:bold;
}

/* ::: TOC :::: */

div.sphinxsidebar {
    border-style:solid;
    border-color: white;
/*    background-color:#e2e2e2;*/
    padding-bottom:5px;
}

div.sphinxsidebar h3 {
    font-family: Verdana, sans-serif;
    color: black;
    font-size: 1.2em;
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-weight:bold;
    font-style:italic;
}

div.sphinxsidebar h4 {
    font-family: Verdana, sans-serif;
    color: black;
    font-size: 1.1em;
    font-weight: normal;
    margin: 5px 0 0 0;
    padding: 0;
    font-weight:bold;
    font-style:italic;
}

div.sphinxsidebar p {
    color: black;
}

div.sphinxsidebar p.topless {
    margin: 5px 10px 10px 10px;
}

div.sphinxsidebar ul {
    margin: 10px;
    padding: 0;
    list-style: none;
    color: black;
}

div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
    margin-left: 20px;
    list-style: square;
}

div.sphinxsidebar ul ul {
    margin-top: 0;
    margin-bottom: 0;
}

div.sphinxsidebar a {
    color: black;
    text-decoration: none;
}

div.sphinxsidebar form {
    margin-top: 10px;
}

div.sphinxsidebar input {
    border: 1px solid #e2e2e2;
    font-family: sans-serif;
    font-size: 1em;
    padding-bottom: 5px;
}

/* :::: 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 #ccc;
    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%;
}

table.contentstable p.biglink {
    line-height: 150%;
}

a.biglink {
    font-size: 1.3em;
}

span.linkdescr {
    font-style: italic;
    padding-top: 5px;
    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: orangered;
    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: 'Verdana', sans-serif;
    background-color: white;
    font-weight: bold;
    color: black;
    border-bottom: 1px solid #ccc;
    margin: 20px -20px 10px -20px;
    padding: 3px 0 3px 10px;
}

div.body h1 { margin-top: 10pt; font-size: 150%; }
div.body h2 { font-size: 120%; }
div.body h3 { font-size: 100%; }
div.body h4 { font-size: 80%; }
div.body h5 { font-size: 600%; }
div.body h6 { font-size: 40%; }

a.headerlink {
    color: #c60f0f;
    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 {
    background-color: #c60f0f;
    color: white;
}

div.body p, div.body dd, div.body li {
    text-align: justify;
    line-height: 130%;
}

div.body p.caption {
    text-align: inherit;
}

div.body td {
    text-align: left;
}

ul.fakelist {
    list-style: none;
    margin: 10px 0 10px 20px;
    padding: 0;
}

.field-list ul {
    padding-left: 1em;
}

.first {
    margin-top: 0 !important;
}

/* "Footnotes" heading */
p.rubric {
    margin-top: 30px;
    font-weight: bold;
}

/* "Topics" */

div.topic {
    background-color: #eee;
    border: 1px solid #ccc;
    padding: 0 7px 0 7px;
    margin: 10px 0 10px 0;
}

p.topic-title {
    font-size: 1.1em;
    font-weight: bold;
    margin-top: 10px;
}

/* Admonitions */

div.admonition {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 7px;
}

div.admonition dt {
    font-weight: bold;
}

div.admonition dl {
    margin-bottom: 0;
}

div.admonition p {
    display: inline;
}

div.seealso {
    background-color: #ffc;
    border: 1px solid #ff6;
}

div.warning {
    background-color: #ffe4e4;
    border: 1px solid #f66;
}

div.note {
    background-color: #eee;
    border: 1px solid #ccc;
}

p.admonition-title {
    margin: 0px 10px 5px 0px;
    font-weight: bold;
    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;
}

.field-list ul {
    margin: 0;
    padding-left: 1em;
}

.field-list p {
    margin: 0;
}

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: 5px;
    background-color: #efc;
    color: #333;
    border: 1px solid #ac9;
    border-left: none;
    border-right: none;
    overflow: auto;
}

td.linenos pre {
    padding: 5px 0px;
    border: 0;
    background-color: transparent;
    color: #aaa;
}

table.highlighttable {
    margin-left: 0.5em;
}

table.highlighttable td {
    padding: 0 0.5em 0 0.5em;
}

tt {
    background-color: #ecf0f3;
    padding: 0 1px 0 1px;
    font-size: 0.95em;
}

tt.descname {
    background-color: transparent;
    font-weight: bold;
    font-size: 1.2em;
}

tt.descclassname {
    background-color: transparent;
}

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 #ccc;
    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;
}

/* :::: PRINT :::: */
@media print {
    div.document,
    div.documentwrapper,
    div.bodywrapper {
        margin: 0;
        width : 100%;
    }

    div.sphinxsidebar,
    div.related,
    div.footer,
    div#comments div.new-comment-box,
    #top-link {
        display: none;
    }
}