Mercurial > trustbridge
changeset 934:519b14c5260d
(issue89) Add sphinx better theme
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 22 Aug 2014 17:16:53 +0200 |
parents | af27328bea9d |
children | e977f7a0e8fd |
files | manuals/theme/better/__init__.py manuals/theme/better/layout.html manuals/theme/better/relbar.html manuals/theme/better/searchbox.html manuals/theme/better/static/better.css_t manuals/theme/better/static/better_basic.css_t manuals/theme/better/theme.conf |
diffstat | 7 files changed, 968 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/__init__.py Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,3 @@ +import os +better_theme_path = os.path.split(os.path.dirname(__file__))[0] +__version__ = '0.1.5'
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/layout.html Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,95 @@ +{%- extends "basic/layout.html" %} +{%- from "relbar.html" import relbar_top with context %} +{%- from "relbar.html" import relbar_bottom with context %} + +{#- ### head ### -#} + +{%- block extrahead %} + + {#- make mobile reasonable #} + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + + {%- for css_file in theme_cssfiles %} + {%- if css_file.startswith('http') %} + <link rel="stylesheet" href="{{ css_file }}" type="text/css" /> + {%- else %} + <link rel="stylesheet" href="{{ pathto(css_file, 1) }}" type="text/css" /> + {%- endif %} + {%- endfor %} + + {%- for js_file in theme_scriptfiles %} + <script src="{{ pathto(js_file, 1) }}" type="text/javascript"></script> + {%- endfor %} + + {%- if theme_inlinecss %} + <style type="text/css">{{ theme_inlinecss|safe }}</style> + {%- endif %} + + {%- block userhead %} + {%- endblock %} +{%- endblock %} + +{#- ### content ### -#} + +{%- block header %} + {%- if theme_showheader|tobool %} + <header id="pageheader"><h1><a href="{{ pathto(master_doc) }} "> + {{ docstitle }} + </a></h1></header> + {%- endif %} +{%- endblock %} + +{%- block relbar1 -%}{{ relbar_top() }}{%- endblock -%} +{%- block relbar2 -%}{{ relbar_bottom() }}{%- endblock -%} + +{%- block footer %} + <footer id="pagefooter"> + + {%- if show_copyright %} + {%- if hasdoc('copyright') %} + {% trans path=pathto('copyright'), copyright=copyright|e %} + <a href="{{ path }}">© {{ copyright }} </a>. + {% endtrans %} + {%- else %} + {%- trans copyright=copyright|e -%} + © {{ copyright }}. + {%- endtrans %} + {%- endif %} + {%- endif %} + + {%- if last_updated %} + {%- trans last_updated=last_updated|e -%} + Last updated on {{ last_updated }}. + {%- endtrans %} + {%- endif %} + + {%- if show_sphinx %} + Created using <a href="http://sphinx-doc.org/">Sphinx</a> + {{ sphinx_version }} + {%- if theme_linktotheme|tobool %} + with the <a href="http://github.com/irskep/sphinx-better-theme"> + better</a> theme + {%- endif %}. + {%- else %} + {%- if theme_linktotheme %} + This site uses the + <a href="http://github.com/irskep/sphinx-better-theme"> + “better”</a> + theme for Sphinx. + {%- endif %} + {%- endif %} + + </footer> + + {% if theme_ga_ua %} + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ theme_ga_ua }}', '{{ theme_ga_domain }}'); + ga('send', 'pageview'); + </script> + {% endif %} +{%- endblock %}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/relbar.html Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,52 @@ +{%- macro rellink_markup() %} + <nav id="rellinks"> + <ul> + {%- if prev %} + <li> + ← + <a href="{{ prev.link|e }}" title="Previous document">{{ prev.title }}</a> + </li> + {%- endif %} + {%- if next %} + <li> + <a href="{{ next.link|e }}" title="Next document">{{ next.title }}</a> + → + </li> + {%- endif %} + </ul> + </nav> +{%- endmacro %} + +{%- macro breadcrumbs_markup() %} + <nav id="breadcrumbs"> + <ul> + {%- block rootrellink %} + <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a></li> + {%- endblock %} + {%- for parent in parents %} + <li> + <a href="{{ parent.link|e }}">{{ parent.title }}</a> + </li> + {%- endfor %} + {%- block relbaritems %} {% endblock %} + </ul> + </nav> +{%- endmacro %} + +{%- macro relbar_top() %} + {%- if theme_showrelbartop|tobool %} + <div class="related top"> + {{- rellink_markup () }} + {{- breadcrumbs_markup() }} + </div> + {%- endif %} +{%- endmacro %} + +{%- macro relbar_bottom() %} + {%- if theme_showrelbarbottom|tobool %} + <div class="related bottom"> + {{- rellink_markup () }} + {{- breadcrumbs_markup() }} + </div> + {%- endif %} +{%- endmacro %}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/searchbox.html Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,11 @@ +{%- if pagename != "search" %} +<form class="search" action="{{ pathto('search') }}" method="get"> + <input type="text" name="q" + placeholder="{{ _('type to search') }}" /> + {#- I have not been able to make this look good. #} + {#- <input type="submit" value="{{ _('Search') }}" /> #} + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> +</form> +<script type="text/javascript">$('#searchbox').show(0);</script> +{%- endif %}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/static/better.css_t Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,324 @@ +@import url("better_basic.css"); + +{% set theme_headtextcolor = theme_headtextcolor or theme_textcolor %} +{% set theme_footertextcolor = theme_footertextcolor or theme_textcolor %} + +/* main styles */ + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 100%; + color: {{ theme_textcolor }}; + margin: 0; + padding: 0; + line-height: 135%; +} + +a { + color: #008; + text-decoration: none; +} + +a:visited { + color: #208; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a.toc-backref { + color: {{ theme_headtextcolor }}; +} + +p { + margin: 1rem 0; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 1em; + margin-bottom: 0.5em; + color: {{ theme_headtextcolor }}; + line-height: 135%; +} + +.body .section:first-child > :first-child, +.sphinxsidebarwrapper > :first-child, +.sphinxsidebar .search:first-child +{ + margin-top: 1rem; +} + +h1 { font-size: 1.5rem; font-weight: bold; } +h2 { font-size: 1.5rem; font-weight: normal; } +h3 { font-size: 1.25rem; font-weight: bold; } +h4 { font-size: 1.25rem; font-weight: normal; } +h5 { font-size: 1rem; font-weight: bold; } +h6 { font-size: 1rem; font-weight: normal; } + +/* page-level layout of containers */ + +header#pageheader, footer#pagefooter, .related, .document { + width: 100%; + max-width: 60rem; + margin: auto; +} + +.documentwrapper { + float: left; + width: 100%; +} + +.bodywrapper { + {% if theme_rightsidebar|tobool -%} + margin: 0 {{ theme_sidebarwidth }} 0 0; + {%- else -%} + margin: 0 0 0 {{ theme_sidebarwidth }}; + {%- endif %} +} + +footer#pagefooter, footer#pagefooter a { + color: {{ theme_footertextcolor }}; +} + + +footer#pagefooter { + padding-top: 2rem; + padding-bottom: 2rem; + text-align: center; +} + +footer#pagefooter a { + text-decoration: underline; +} + +/* header styles */ + +body > header h1 a, body > header h1 a:visited { + color: {{ theme_headtextcolor }}; +} + +a.headerlink { + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +/* code styles */ + +pre, tt { + background-color: #eee; + color: #333; +} + +pre { + font-family: Monaco, Consolas, "Lucida Console", monospace; + margin: 1rem -5px; + padding: 5px; + border-left: none; + border-right: none; + font-size: 0.8rem; + line-height: 1rem; +} + +tt { + padding: 0 1px 0 1px; + font-family: Consolas, Monaco, monospace; +} + +/* API doc styles */ + +dl.function, +dl.class, +dl.method, +dl.attribute, +dl.data, +dl.classmethod { + margin-bottom: 2rem; +} + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #aaa; +} + +.related.bottom { + border-top: 1px solid #aaa; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* sidebar */ + +.sphinxsidebarwrapper { + padding: 0 1rem 0 0; +} + +.sphinxsidebar { + width: {{ theme_sidebarwidth }}; + margin-left: -100%; + font-size: 0.9rem; + {%- if theme_rightsidebar|tobool %} + float: right; + {%- else %} + float: left; + {%- endif %} +} + +.sphinxsidebar h3 a { + color: {{ theme_headtextcolor }}; +} + +.sphinxsidebar p.topless { + margin: 5px 10px 10px 10px; +} + +.sphinxsidebar ul { + margin: 0; + padding: 0; + margin-bottom: 1rem; + list-style: none; +} + +.sphinxsidebar ul ul, +.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +.sphinxsidebar input { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 1.5rem; + font-size: 0.9rem; + margin: 0; + + background-color: white; + border: 1px solid #ccc; + color: #555; +} + +.sphinxsidebar .search { + margin-top: 2rem; +} + +.sphinxsidebar .search input[type=text] { + {#- width: calc({{ theme_sidebarwidth }} - 5rem); #} + {#- width: -webkit-calc({{ theme_sidebarwidth }} - 5rem); #} + width: 90%; + display: inline-block; +} + +.sphinxsidebar .search input[type=submit] { + width: 4rem; + display: inline-block; +} + +/* paragraph-level markup */ + +.admonition p.admonition-title + p { + display: inline; +} + +.admonition p { + margin-bottom: 5px; +} + +.admonition pre { + margin-bottom: 5px; +} + +.admonition ul, .admonition ol { + margin-bottom: 5px; +} + +p.admonition-title { + display: inline; + margin-right: 0; +} + +p.admonition-title:after { + content: ":"; +} + +.note { + background-color: #eee; + border: 1px solid #ccc; +} + +.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +.topic { + background-color: #eee; +} + +.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +.warning tt { + background: #efc2c2; +} + +.note tt { + background: #d6d6d6; +} + +.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +/* responsive styles */ + +@media (max-width: 820px) { + /* kill the sidebar */ + .bodywrapper { margin: 0; } + .sphinxsidebar { + display: none; + } + header#pageheader, footer#pagefooter, .related, .document { + margin: 0 1rem; + width: calc(100% - 2rem); + width: -webkit-calc(100% - 2rem); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/static/better_basic.css_t Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,455 @@ +/* basic.css_t from Sphinx project modified for sphinx-better-theme */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- search page ----------------------------------------------------------- */ + +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; +} + +/* -- 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%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +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; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- general body styles --------------------------------------------------- */ + +a.headerlink { + 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; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 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; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + 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; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.refcount { + color: #060; +} + +.optional { + font-size: 1.3em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +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.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; +} + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/manuals/theme/better/theme.conf Fri Aug 22 17:16:53 2014 +0200 @@ -0,0 +1,28 @@ +[theme] +inherit = basic +stylesheet = better.css +pygments_style = sphinx + +[options] +rightsidebar = false +inlinecss = +cssfiles = +scriptfiles = +ga_ua = +ga_domain = + +showrelbartop = true +showrelbarbottom = true +showheader = true +linktotheme = true + +# css shortcuts that should decrease as the markup improves + +## page width is determined by CSS +sidebarwidth = 15rem + +## headtextcolor (color of h* tags) and footertextcolor default to the value +## of textcolor +textcolor = #000000 +headtextcolor = +footertextcolor =