aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Magorsch <max@magorsch.de>2020-01-18 23:23:38 +0100
committerMax Magorsch <max@magorsch.de>2020-01-18 23:23:38 +0100
commit9b9f0f97d7ab416cd48a11932aaf0ef5f70910a5 (patch)
tree1c69694206673c7a6cb077d053810aa9e423b172
downloadtyrian-sphinx-theme-9b9f0f97d7ab416cd48a11932aaf0ef5f70910a5.tar.gz
tyrian-sphinx-theme-9b9f0f97d7ab416cd48a11932aaf0ef5f70910a5.tar.bz2
tyrian-sphinx-theme-9b9f0f97d7ab416cd48a11932aaf0ef5f70910a5.zip
Initial commit
Signed-off-by: Max Magorsch <max@magorsch.de>
-rw-r--r--README.rst2
-rw-r--r--setup.py37
-rw-r--r--tyrian_sphinx_theme/__init__.py23
-rw-r--r--tyrian_sphinx_theme/_version.py2
-rw-r--r--tyrian_sphinx_theme/layout.html479
-rw-r--r--tyrian_sphinx_theme/localtoc.html12
-rw-r--r--tyrian_sphinx_theme/static/custom.css1
-rw-r--r--tyrian_sphinx_theme/static/tyrian-sphinx-theme.css_t944
-rw-r--r--tyrian_sphinx_theme/support.py91
-rw-r--r--tyrian_sphinx_theme/theme.conf130
10 files changed, 1721 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..b7daefb
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,2 @@
+Tyrian Sphinx Theme
+=================== \ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..1ea369a
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+from setuptools import setup
+
+# Version info -- read without importing
+_locals = {}
+with open("tyrian_sphinx_theme/_version.py") as fp:
+ exec(fp.read(), None, _locals)
+version = _locals["__version__"]
+
+setup(
+ name="tyrian-sphinx-theme",
+ version=version,
+ description="A Tyrian based Sphinx theme for Gentoo",
+ long_description=open('README.rst', encoding='utf-8').read(),
+ author="Max Magorsch",
+ author_email="max@magorsch.de",
+ url="https://github.com/mmagorsc/tyrian_sphinx_theme",
+ packages=["tyrian_sphinx_theme"],
+ include_package_data=True,
+ entry_points={"sphinx.html_themes": ["tyrian_sphinx_theme = tyrian_sphinx_theme"]},
+ classifiers=[
+ "Framework :: Sphinx",
+ "Framework :: Sphinx :: Theme",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 2.6",
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.2",
+ "Programming Language :: Python :: 3.3",
+ "Programming Language :: Python :: 3.4",
+ "Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6"
+ ],
+) \ No newline at end of file
diff --git a/tyrian_sphinx_theme/__init__.py b/tyrian_sphinx_theme/__init__.py
new file mode 100644
index 0000000..5304f18
--- /dev/null
+++ b/tyrian_sphinx_theme/__init__.py
@@ -0,0 +1,23 @@
+import os
+
+from tyrian_sphinx_theme import _version as version
+
+def get_path():
+ """
+ Shortcut for users whose theme is next to their conf.py.
+ """
+ # Theme directory is defined as our parent directory
+ return os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+
+
+def update_context(app, pagename, templatename, context, doctree):
+ context["tyrian_version"] = version.__version__
+
+
+def setup(app):
+ # add_html_theme is new in Sphinx 1.6+
+ if hasattr(app, "add_html_theme"):
+ theme_path = os.path.abspath(os.path.dirname(__file__))
+ app.add_html_theme("tyrian_sphinx_theme", theme_path)
+ app.connect("html-page-context", update_context)
+ return {"version": version.__version__, "parallel_read_safe": True} \ No newline at end of file
diff --git a/tyrian_sphinx_theme/_version.py b/tyrian_sphinx_theme/_version.py
new file mode 100644
index 0000000..e388a85
--- /dev/null
+++ b/tyrian_sphinx_theme/_version.py
@@ -0,0 +1,2 @@
+__version_info__ = (0, 0, 1)
+__version__ = ".".join(map(str, __version_info__))
diff --git a/tyrian_sphinx_theme/layout.html b/tyrian_sphinx_theme/layout.html
new file mode 100644
index 0000000..8a4be9d
--- /dev/null
+++ b/tyrian_sphinx_theme/layout.html
@@ -0,0 +1,479 @@
+{%- block doctype -%}
+{%- if html5_doctype %}
+<!doctype html>
+{%- else %}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+{%- endif %}{%- endblock %}
+{%- set reldelim1 = reldelim1 is not defined and ' &#187;' or reldelim1 %}
+{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
+{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
+{%- set url_root = pathto('', 1) %}
+{# XXX necessary? #}
+{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
+{%- if not embedded and docstitle %}
+ {%- set titlesuffix = " &#8212; "|safe + docstitle|e %}
+{%- else %}
+ {%- set titlesuffix = "" %}
+{%- endif %}
+
+{%- macro script() %}
+ <script type="text/javascript" id="documentation_options" data-url_root="{{ pathto('', 1) }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
+ {%- for js in script_files %}
+ {{ js_tag(js) }}
+ {%- endfor %}
+{%- endmacro %}
+
+{%- macro css() %}
+ <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/custom.css', 1) }}" type="text/css" />
+
+ <link rel="icon" href="https://www.gentoo.org/favicon.ico" type="image/x-icon">
+ <link href="https://assets.gentoo.org/tyrian/bootstrap.min.css" rel="stylesheet" media="screen">
+ <link href="https://assets.gentoo.org/tyrian/tyrian.min.css" rel="stylesheet" media="screen">
+ {%- for css in css_files %}
+ {%- if css|attr("filename") %}
+ {{ css_tag(css) }}
+ {%- else %}
+ <link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
+ {%- endif %}
+ {%- endfor %}
+{%- endmacro %}
+
+{%- macro sidebar() %}
+<div class="" role="navigation" aria-label="main navigation">
+ <div class="">
+ {%- block sidebarlogo %}
+ {%- if logo %}
+ <p class="logo"><a href="{{ pathto(master_doc) }}">
+ <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
+ </a></p>
+ {%- endif %}
+ {%- endblock %}
+
+ {%- if sidebars != None %}
+ {#- new style sidebar: explicitly include/exclude templates #}
+ {%- for sidebartemplate in sidebars %}
+ {%- include sidebartemplate %}
+ {%- endfor %}
+ {%- else %}
+ {#- old style sidebars: using blocks -- should be deprecated #}
+ {%- block sidebartoc %}
+ {%- include "localtoc.html" %}
+ {%- endblock %}
+ {%- block sidebarrel %}
+ {%- include "relations.html" %}
+ {%- endblock %}
+ {%- block sidebarsourcelink %}
+ {%- include "sourcelink.html" %}
+ {%- endblock %}
+ {%- if customsidebar %}
+ {%- include customsidebar %}
+ {%- endif %}
+ {%- block sidebarsearch %}
+ {%- include "searchbox.html" %}
+ {%- endblock %}
+ {%- endif %}
+ </div>
+</div>
+{%- endmacro %}
+
+{%- macro navlinks(navlink_style) %}
+ {% if navlink_style != "none" %}
+ {% if prev or next %}
+ <div class="row" style="margin-top:50px;">
+ <div class="col-sm-6">
+ {% if prev %}
+ <a href="{{ prev.link|e }}" style="color:#767676;">
+ <i class="fa fa-angle-double-left" aria-hidden="true"></i>
+ {% if navlink_style == "long" %}
+ {{ prev.title }}
+ {% endif %}
+ </a>
+ {% endif %}
+ </div>
+
+ <div class="col-sm-6">
+ {% if next %}
+ <a href="{{ next.link|e }}" class="pull-right" style="color:#767676;">
+ {% if navlink_style == "long" %}
+ {{ next.title }}
+ {% endif %}
+ <i class="fa fa-angle-double-right" aria-hidden="true"></i>
+ </a>
+ {% endif %}
+ </div>
+ </div>
+ {% endif %}
+ {% endif %}
+{%- endmacro %}
+
+
+{%- if html_tag %}
+{{ html_tag }}
+{%- else %}
+<html xmlns="http://www.w3.org/1999/xhtml"{% if language is not none %} lang="{{ language }}"{% endif %}>
+{%- endif %}
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ {{- metatags }}
+ {%- block htmltitle %}
+ <title>{{ title|striptags|e }}{{ titlesuffix }}</title>
+ {%- endblock %}
+ {%- block css %}
+ {{- css() }}
+ {%- endblock %}
+ {%- if not embedded %}
+ {%- block scripts %}
+ {{- script() }}
+ {%- endblock %}
+ {%- if pageurl %}
+ <link rel="canonical" href="{{ pageurl }}" />
+ {%- endif %}
+ {%- if use_opensearch %}
+ <link rel="search" type="application/opensearchdescription+xml"
+ title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
+ href="{{ pathto('_static/opensearch.xml', 1) }}"/>
+ {%- endif %}
+ {%- if favicon %}
+ <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
+ {%- endif %}
+ {%- endif %}
+{%- block linktags %}
+ {%- if hasdoc('about') %}
+ <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
+ {%- endif %}
+ {%- if hasdoc('genindex') %}
+ <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
+ {%- endif %}
+ {%- if hasdoc('search') %}
+ <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
+ {%- endif %}
+ {%- if hasdoc('copyright') %}
+ <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
+ {%- endif %}
+ {%- if next %}
+ <link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
+ {%- endif %}
+ {%- if prev %}
+ <link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
+ {%- endif %}
+{%- endblock %}
+{%- block extrahead %} {% endblock %}
+ </head>
+ {%- block body_tag %}<body>{% endblock %}
+
+
+{%- block header %}
+ <header>
+ <div class="site-title">
+ <div class="container">
+ <div class="row">
+ <div class="site-title-buttons">
+ <div class="btn-group btn-group-sm">
+ <a href="https://get.gentoo.org/" role="button" class="btn get-gentoo"><span class="fa fa-fw fa-download"></span> <strong>Get Gentoo!</strong></a>
+ <div class="btn-group btn-group-sm">
+ <a class="btn gentoo-org-sites dropdown-toggle" data-toggle="dropdown" data-target="#" href="#">
+ <span class="fa fa-fw fa-map-o"></span> <span class="hidden-xs">gentoo.org sites</span> <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu dropdown-menu-right">
+ <li><a href="https://www.gentoo.org/" title="Main Gentoo website"><span class="fa fa-home fa-fw"></span> gentoo.org</a></li>
+ <li><a href="https://wiki.gentoo.org/" title="Find and contribute documentation"><span class="fa fa-file-text-o fa-fw"></span> Wiki</a></li>
+ <li><a href="https://bugs.gentoo.org/" title="Report issues and find common issues"><span class="fa fa-bug fa-fw"></span> Bugs</a></li>
+ <li><a href="https://forums.gentoo.org/" title="Discuss with the community"><span class="fa fa-comments-o fa-fw"></span> Forums</a></li>
+ <li><a href="https://packages.gentoo.org/" title="Find software for your Gentoo"><span class="fa fa-hdd-o fa-fw"></span> Packages</a></li>
+ <li class="divider"></li>
+ <li><a href="https://planet.gentoo.org/" title="Find out what's going on in the developer community"><span class="fa fa-rss fa-fw"></span> Planet</a></li>
+ <li><a href="https://archives.gentoo.org/" title="Read up on past discussions"><span class="fa fa-archive fa-fw"></span> Archives</a></li>
+ <li><a href="https://sources.gentoo.org/" title="Browse our source code"><span class="fa fa-code fa-fw"></span> Sources</a></li>
+ <li class="divider"></li>
+ <li><a href="https://infra-status.gentoo.org/" title="Get updates on the services provided by Gentoo"><span class="fa fa-server fa-fw"></span> Infra Status</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="logo">
+ <a href="index.html" title="Back to the homepage" class="site-logo"></a>
+ <span class="site-label">{{ docstitle|replace("Gentoo","")|replace("documentation","") }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <nav class="tyrian-navbar" role="navigation">
+ <div class="container">
+ <div class="row">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ </div>
+ <div class="collapse navbar-collapse navbar-main-collapse">
+ <ul class="nav navbar-nav">
+ {%- if pagename == "index" %}
+ <li class="active">
+ {%- else %}
+ <li>
+ {%- endif %}
+ <a href="index.html">Home</a></li>
+
+ {%- if show_source %}
+ {%- if builder != "singlehtml" and has_source and sourcename %}
+ <li class=""><a href="{{ pathto('_sources/' + sourcename, true)|e }}">Source</a></li>
+ {%- else %}
+ <li class=""><a href="https://gitweb.gentoo.org/proj/policy-guide.git/">Source</a></li>
+ {%- endif %}
+ {%- endif %}
+
+ {%- if builder != "singlehtml" %}
+ {%- if pagename == "search" %}
+ <li class="active">
+ {%- else %}
+ <li>
+ {%- endif %}
+ <a href="search.html">Search</a></li>
+
+ {%- if pagename == "genindex" %}
+ <li class="active">
+ {%- else %}
+ <li>
+ {%- endif %}
+ <a href="genindex.html">Index</a></li>
+ {%- endif %}
+
+ {% if theme_navigationlinks_navbar != "none" %}
+ <li class="disabled"><a>|</a></li>
+ {% if prev %}
+ <li>
+ <a href="{{ prev.link|e }}">
+ <i class="fa fa-angle-double-left" aria-hidden="true"></i>
+ {% if theme_navigationlinks_navbar == "long" %}
+ {{ prev.title }}
+ {% endif %}
+ </a>
+ </li>
+ {%- endif %}
+
+ {% if next %}
+ <li>
+ <a href="{{ next.link|e }}">
+ {% if theme_navigationlinks_navbar == "long" %}
+ {{ next.title }}
+ {% endif %}
+ <i class="fa fa-angle-double-right" aria-hidden="true"></i>
+ </a>
+ </li>
+ {%- endif %}
+
+
+ {%- endif %}
+
+ </ul>
+
+
+ {%- if builder == "singlehtml" %}
+
+ <form action="index.html" class="navbar-form navbar-right" method="get" onsubmit="if (this.quicksearch.value == '')
+ { alert('Please enter one or more search terms first.');
+ return false; } return true;">
+
+ <div class="input-group" style="margin-top:2px;">
+ <span class="input-group-addon" style="background:#61597b;color:#FFF;border:0px;" id="basic-addon1"><i class="fa fa-search" aria-hidden="true"></i></span>
+ <input class="form-control" style="height:30px;border:0px;background:#61597b;color:#FFF;padding-left:0px;box-shadow: none;" type="text" id="highlight" name="highlight" title="Quick Search" placeholder="Quick Search" value="">
+ </div>
+ <button class="btn btn-default hidden" type="submit" value="Search" id="find_top">Search</button>
+ </form>
+
+ {%- else %}
+
+ <form action="{{ pathto('search') }}" class="navbar-form navbar-right" method="get" onsubmit="if (this.quicksearch.value == '')
+ { alert('Please enter one or more search terms first.');
+ return false; } return true;">
+
+ <div class="input-group" style="margin-top:2px;">
+ <span class="input-group-addon" style="background:#61597b;color:#FFF;border:0px;" id="basic-addon1"><i class="fa fa-search" aria-hidden="true"></i></span>
+ <input class="form-control" style="height:30px;border:0px;background:#61597b;color:#FFF;padding-left:0px;box-shadow: none;" type="text" id="quicksearch_top" name="q" title="Quick Search" placeholder="Quick Search" value="">
+ </div>
+ <button class="btn btn-default hidden" type="submit" value="Search" id="find_top">Search</button>
+ </form>
+
+ {%- endif %}
+
+ </div>
+ </div>
+ </div>
+ </nav>
+ </header>
+{% endblock %}
+
+{%- block content %}
+
+ <div class="container">
+ {%- block document %}
+ <div class="row">
+
+ {% if theme_sidebar == "left" %}
+ <div class="col-md-3 hidden-sm hidden-xs" role="main">
+ {{- sidebar() }}
+ </div>
+ {%- endif %}
+
+ <div class="col-md-9 col-sm-12 col-xs-12" role="main">
+
+ {% if theme_navigationlinks_top %}
+ {{- navlinks(theme_navigationlinks_top) }}
+ {% endif %}
+
+ {% block body %} {% endblock %}
+
+ {% if theme_navigationlinks_bottom %}
+ {{- navlinks(theme_navigationlinks_bottom) }}
+ {% endif %}
+
+ </div>
+
+ {% if theme_sidebar == "right" %}
+ <div class="col-md-3 hidden-sm hidden-xs" role="main">
+ {{- sidebar() }}
+ </div>
+ {%- endif %}
+
+ </div>
+ {%- endblock %}
+ <div class="clearer"></div>
+ </div>
+{%- endblock %}
+
+{%- block footer %}
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="col-xs-12 col-md-offset-2 col-md-7">
+ <h3 class="footerhead">{{ docstitle|replace("documentation","") }}</h3>
+ <div class="row">
+ <div class="col-xs-12 col-md-4">
+ <span class="kk-group-header">Powered by</span><br><span><a href="http://sphinx-doc.org/">Sphinx {{ sphinx_version }}</a> &amp; <a href="#">Tyrian Theme {{ tyrian_version }}</a></span>
+ </div>
+ <div class="col-xs-12 col-md-4">
+ </div>
+ <div class="col-xs-12 col-md-4">
+ </div>
+ </div>
+ </div>
+ <div class="col-xs-12 col-md-3">
+ <h3 class="footerhead">Questions or comments?</h3>
+ Please feel free to <a href="https://www.gentoo.org/inside-gentoo/contact/">contact us</a>.
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-xs-2 col-sm-3 col-md-2">
+ <ul class="footerlinks three-icons">
+ <li><a href="https://twitter.com/gentoo" title="@Gentoo on Twitter"><span class="fa fa-twitter fa-fw"></span></a></li>
+ <li><a href="https://plus.google.com/+Gentoo" title="+Gentoo on Google+"><span class="fa fa-google-plus fa-fw"></span></a></li>
+ <li><a href="https://www.facebook.com/gentoo.org" title="Gentoo on Facebook"><span class="fa fa-facebook fa-fw"></span></a></li>
+ </ul>
+ </div>
+ <div class="col-xs-10 col-sm-9 col-md-10">
+ <strong>© 2001–2020 Gentoo Foundation, Inc.</strong><br>
+ <small>
+ Gentoo is a trademark of the Gentoo Foundation, Inc.
+ The contents of this document, unless otherwise expressly stated, are licensed under the
+ <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="license">CC-BY-SA-3.0</a> license.
+ The <a href="https://www.gentoo.org/inside-gentoo/foundation/name-logo-guidelines.html">Gentoo Name and Logo Usage Guidelines</a> apply.
+ </small>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+ <script src="https://assets.gentoo.org/tyrian/bootstrap.min.js"></script>
+
+ {%- if pagename == "index" %}
+
+ <div id="custom_toc">
+
+ {%- if builder == "singlehtml" %}
+ <span style="border-bottom: 1px solid #e1e1e1;font-weight: bold;">Contents</span>
+ [<a class="" id="show_contents" role="button" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">show</a>]
+ {%- else %}
+ <h2 style="margin-top:20px!important;">Contents</h2>
+ {%- endif %}
+ <div class="collapse" id="collapseExample" style="margin-top:10px;">
+ {%- if builder == "singlehtml" %}
+ {{ toc }}
+ {%- endif %}
+ </div>
+
+ </div>
+
+ <script type="text/javascript">
+ $("#custom_toc").prependTo(".toctree-wrapper");
+ $("#custom_toc").css("display", "inline-block");
+
+ $('#collapseExample').on('show.bs.collapse', function () {
+ $("#show_contents").html("hide");
+ })
+
+ $('#collapseExample').on('hide.bs.collapse', function () {
+ $("#show_contents").html("show");
+ })
+
+ $("#collapseExample").collapse('show');
+
+ {%- if builder == "singlehtml" %}
+ $("#show_contents").html("hide");
+ {%- endif %}
+
+ {%- if builder != "singlehtml" %}
+ $(".caption").next().detach().appendTo('#collapseExample');
+ $(".caption").hide();
+ {%- endif %}
+
+ </script>
+ {%- endif %}
+
+
+ <script type="text/javascript">
+ $('body').scrollspy({
+ target: '.bs-docs-sidebar',
+ offset: 40
+ });
+ </script>
+
+
+ <script type="text/javascript">
+ $('#indices-and-tables').hide()
+ </script>
+
+
+
+ {% if theme_analytics_id %}
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', '{{ theme_analytics_id }}']);
+ _gaq.push(['_setDomainName', 'none']);
+ _gaq.push(['_setAllowLinker', true]);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ {% endif %}
+{%- endblock %}
+
+
+
+ </body>
+</html>
+
+
diff --git a/tyrian_sphinx_theme/localtoc.html b/tyrian_sphinx_theme/localtoc.html
new file mode 100644
index 0000000..2957ad6
--- /dev/null
+++ b/tyrian_sphinx_theme/localtoc.html
@@ -0,0 +1,12 @@
+{%- if display_toc %}
+
+ <nav class="bs-docs-sidebar" data-spy="affix" data-offset-top="140" data-offset-bottom="400">
+
+ {%- if builder != "singlehtml" %}
+ {{ toctree()|replace("caption", "hidden")|replace("<ul>", "<ul class='nav'>")|replace('<ul class="current">', "<ul class='current nav'>")|replace("index.html#", "#") }}
+ {%- else %}
+ {{ toc|replace("caption", "hidden")|replace("<ul>", "<ul class='nav'>")|replace("index.html#", "#") }}
+ {%- endif %}
+
+ </nav>
+{%- endif %}
diff --git a/tyrian_sphinx_theme/static/custom.css b/tyrian_sphinx_theme/static/custom.css
new file mode 100644
index 0000000..2a924f1
--- /dev/null
+++ b/tyrian_sphinx_theme/static/custom.css
@@ -0,0 +1 @@
+/* This file intentionally left blank. */
diff --git a/tyrian_sphinx_theme/static/tyrian-sphinx-theme.css_t b/tyrian_sphinx_theme/static/tyrian-sphinx-theme.css_t
new file mode 100644
index 0000000..38cd75b
--- /dev/null
+++ b/tyrian_sphinx_theme/static/tyrian-sphinx-theme.css_t
@@ -0,0 +1,944 @@
+{%- set theme_body_bg = theme_body_bg or theme_base_bg %}
+{%- set theme_code_highlight_bg = theme_code_highlight_bg or theme_body_bg %}
+{%- set theme_sidebar_header = theme_sidebar_header or theme_gray_1 %}
+{%- set theme_sidebar_link = theme_sidebar_link or theme_gray_1 %}
+{%- set theme_anchor_hover_fg = theme_anchor_hover_fg or theme_gray_1 %}
+
+{%- set theme_footnote_border = theme_footnote_border or theme_gray_2 %}
+{%- set theme_pre_bg = theme_pre_bg or theme_gray_2 %}
+
+{%- set theme_head_font_family = theme_head_font_family or theme_font_family %}
+
+{#- set up admonition styling #}
+{#- - basic level #}
+{%- set theme_admonition_xref_bg = theme_admonition_xref_bg or theme_xref_bg %}
+{%- set theme_admonition_bg = theme_admonition_bg or theme_gray_2 %}
+{%- set theme_note_bg = theme_note_bg or theme_gray_2 %}
+{%- set theme_seealso_bg = theme_seealso_bg or theme_gray_2 %}
+
+{#- - critical level #}
+{%- set theme_danger_bg = theme_danger_bg or theme_pink_1 %}
+{%- set theme_danger_border = theme_danger_border or theme_pink_2 %}
+{%- set theme_danger_shadow = theme_danger_shadow or theme_pink_3 %}
+
+{%- set theme_error_bg = theme_error_bg or theme_pink_1 %}
+{%- set theme_error_border = theme_error_border or theme_pink_2 %}
+{%- set theme_error_shadow = theme_error_shadow or theme_pink_3 %}
+
+{#- - warning level #}
+{%- set theme_caution_bg = theme_caution_bg or theme_pink_1 %}
+{%- set theme_caution_border = theme_caution_border or theme_pink_2 %}
+
+{%- set theme_attention_bg = theme_attention_bg or theme_pink_1 %}
+{%- set theme_attention_border = theme_attention_border or theme_pink_2 %}
+
+{%- set theme_warn_bg = theme_warn_bg or theme_pink_1 %}
+{%- set theme_warn_border = theme_warn_border or theme_pink_2 %}
+
+{#- - normal level #}
+{%- set theme_important_bg = theme_important_bg or theme_gray_2 %}
+{%- set theme_tip_bg = theme_tip_bg or theme_gray_2 %}
+{%- set theme_hint_bg = theme_hint_bg or theme_gray_2 %}
+
+{#- /set up admonition styling #}
+
+{%- set theme_shadow = theme_shadow or theme_gray_2 %}
+
+
+{%- set theme_topic_bg = theme_topic_bg or theme_gray_2 %}
+
+{%- set theme_narrow_sidebar_link = theme_narrow_sidebar_link or theme_gray_3 %}
+{%- set theme_sidebar_hr = theme_sidebar_hr or theme_gray_3 %}
+
+{%- set theme_relbar_border = theme_relbar_border or theme_gray_2 -%}
+
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: {{ theme_font_family }};
+ font-size: {{ theme_font_size }};
+ background-color: {{ theme_base_bg }};
+ color: {{ theme_base_text }};
+ margin: 0;
+ padding: 0;
+}
+
+
+div.document {
+ width: {{ theme_page_width }};
+ margin: 30px auto 0 auto;
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 {{ theme_sidebar_width }};
+}
+
+div.sphinxsidebar {
+ width: {{ theme_sidebar_width }};
+ font-size: 14px;
+ line-height: 1.5;
+}
+
+hr {
+ border: 1px solid {{ theme_hr_border }};
+}
+
+div.body {
+ background-color: {{ theme_body_bg }};
+ color: {{ theme_body_text }};
+ padding: 0 30px 0 30px;
+}
+
+div.body > .section {
+ text-align: {{ theme_body_text_align }};
+}
+
+div.footer {
+ width: {{ theme_page_width }};
+ margin: 20px auto 30px auto;
+ font-size: 14px;
+ color: {{ theme_footer_text }};
+ text-align: right;
+}
+
+div.footer a {
+ color: {{ theme_footer_text }};
+}
+
+p.caption {
+ font-family: {{ theme_caption_font_family }};
+ font-size: {{ theme_caption_font_size }};
+}
+
+{% if theme_show_related|lower == 'false' %}
+div.relations {
+ display: none;
+}
+{% endif %}
+
+div.sphinxsidebar a {
+ color: {{ theme_sidebar_link }};
+ text-decoration: none;
+ border-bottom: 1px solid {{ theme_sidebar_link_underscore }};
+}
+
+div.sphinxsidebar a:hover {
+ border-bottom: 1px solid {{ theme_sidebar_link_underscore }};
+}
+
+div.sphinxsidebarwrapper {
+ padding: 18px 10px;
+}
+
+div.sphinxsidebarwrapper p.logo {
+ padding: 0;
+ margin: -10px 0 0 0px;
+ text-align: center;
+}
+
+div.sphinxsidebarwrapper h1.logo {
+ margin-top: -10px;
+ text-align: center;
+ margin-bottom: 5px;
+ text-align: {{ theme_logo_text_align }};
+}
+
+div.sphinxsidebarwrapper h1.logo-name {
+ margin-top: 0px;
+}
+
+div.sphinxsidebarwrapper p.blurb {
+ margin-top: 0;
+ font-style: {{ theme_description_font_style }};
+}
+
+div.sphinxsidebar h3,
+div.sphinxsidebar h4 {
+ font-family: {{ theme_head_font_family }};
+ color: {{ theme_sidebar_header }};
+ font-size: 24px;
+ font-weight: normal;
+ margin: 0 0 5px 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h4 {
+ font-size: 20px;
+}
+
+div.sphinxsidebar h3 a {
+ color: {{ theme_sidebar_link }};
+}
+
+div.sphinxsidebar p.logo a,
+div.sphinxsidebar h3 a,
+div.sphinxsidebar p.logo a:hover,
+div.sphinxsidebar h3 a:hover {
+ border: none;
+}
+
+div.sphinxsidebar p {
+ color: {{ theme_sidebar_text }};
+ margin: 10px 0;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px 0;
+ padding: 0;
+ color: {{ theme_sidebar_list }};
+}
+
+div.sphinxsidebar ul li.toctree-l1 > a {
+ font-size: 120%;
+}
+
+div.sphinxsidebar ul li.toctree-l2 > a {
+ font-size: 110%;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid {{ theme_sidebar_search_button }};
+ font-family: {{ theme_font_family }};
+ font-size: 1em;
+}
+
+div.sphinxsidebar hr {
+ border: none;
+ height: 1px;
+ color: {{ theme_sidebar_hr }};
+ background: {{ theme_sidebar_hr }};
+
+ text-align: left;
+ margin-left: 0;
+ width: 50%;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: {{ theme_link }};
+ text-decoration: underline;
+}
+
+a:hover {
+ color: {{ theme_link_hover }};
+ text-decoration: underline;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: {{ theme_head_font_family }};
+ font-weight: normal;
+ margin: 30px 0px 10px 0px;
+ padding: 0;
+}
+
+div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
+div.body h2 { font-size: 180%; }
+div.body h3 { font-size: 150%; }
+div.body h4 { font-size: 130%; }
+div.body h5 { font-size: 100%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: {{ theme_anchor }};
+ padding: 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ color: {{ theme_anchor_hover_fg }};
+ background: {{ theme_anchor_hover_bg }};
+}
+
+div.body p, div.body dd, div.body li {
+ line-height: 1.4em;
+}
+
+div.admonition {
+ margin: 20px 0px;
+ padding: 10px 30px;
+ background-color: {{ theme_admonition_bg }};
+ border: 1px solid {{ theme_admonition_border }};
+}
+
+div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
+ background-color: {{ theme_admonition_xref_bg }};
+ border-bottom: 1px solid {{ theme_admonition_xref_border }};
+}
+
+div.admonition p.admonition-title {
+ font-family: {{ theme_head_font_family }};
+ font-weight: normal;
+ font-size: 24px;
+ margin: 0 0 10px 0;
+ padding: 0;
+ line-height: 1;
+}
+
+div.admonition p.last {
+ margin-bottom: 0;
+}
+
+div.highlight {
+ background-color: {{ theme_code_highlight_bg }};
+}
+
+dt:target, .highlight {
+ background: {{ theme_highlight_bg }};
+}
+
+div.warning {
+ background-color: {{ theme_warn_bg }};
+ border: 1px solid {{ theme_warn_border }};
+}
+
+div.danger {
+ background-color: {{ theme_danger_bg }};
+ border: 1px solid {{ theme_danger_border }};
+ -moz-box-shadow: 2px 2px 4px {{ theme_danger_shadow }};
+ -webkit-box-shadow: 2px 2px 4px {{ theme_danger_shadow }};
+ box-shadow: 2px 2px 4px {{ theme_danger_shadow }};
+}
+
+div.error {
+ background-color: {{ theme_error_bg }};
+ border: 1px solid {{ theme_error_border }};
+ -moz-box-shadow: 2px 2px 4px {{ theme_error_shadow }};
+ -webkit-box-shadow: 2px 2px 4px {{ theme_error_shadow }};
+ box-shadow: 2px 2px 4px {{ theme_error_shadow }};
+}
+
+div.caution {
+ background-color: {{ theme_caution_bg }};
+ border: 1px solid {{ theme_caution_border }};
+}
+
+div.attention {
+ background-color: {{ theme_attention_bg }};
+ border: 1px solid {{ theme_attention_border }};
+}
+
+div.important {
+ background-color: {{ theme_important_bg }};
+ border: 1px solid {{ theme_important_border }};
+}
+
+div.note {
+ background-color: {{ theme_note_bg }};
+ border: 1px solid {{ theme_note_border }};
+}
+
+div.tip {
+ background-color: {{ theme_tip_bg }};
+ border: 1px solid {{ theme_tip_border }};
+}
+
+div.hint {
+ background-color: {{ theme_hint_bg }};
+ border: 1px solid {{ theme_hint_border }};
+}
+
+div.seealso {
+ background-color: {{ theme_seealso_bg }};
+ border: 1px solid {{ theme_seealso_border }};
+}
+
+div.topic {
+ background-color: {{ theme_topic_bg }};
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre, tt, code {
+ font-family: {{theme_code_font_family}};
+ font-size: {{ theme_code_font_size }};
+}
+
+.hll {
+ background-color: {{theme_code_highlight}};
+ margin: 0 -12px;
+ padding: 0 12px;
+ display: block;
+}
+
+img.screenshot {
+}
+
+tt.descname, tt.descclassname, code.descname, code.descclassname {
+ font-size: 0.95em;
+}
+
+tt.descname, code.descname {
+ padding-right: 0.08em;
+}
+
+img.screenshot {
+ -moz-box-shadow: 2px 2px 4px {{ theme_shadow }};
+ -webkit-box-shadow: 2px 2px 4px {{ theme_shadow }};
+ box-shadow: 2px 2px 4px {{ theme_shadow }};
+}
+
+table.docutils {
+ border: 1px solid {{ theme_table_border }};
+ -moz-box-shadow: 2px 2px 4px {{ theme_shadow }};
+ -webkit-box-shadow: 2px 2px 4px {{ theme_shadow }};
+ box-shadow: 2px 2px 4px {{ theme_shadow }};
+}
+
+table.docutils td, table.docutils th {
+ border: 1px solid {{ theme_table_border }};
+ padding: 0.25em 0.7em;
+}
+
+table.field-list, table.footnote {
+ border: none;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+table.footnote {
+ margin: 15px 0;
+ width: 100%;
+ border: 1px solid {{ theme_footnote_border }};
+ background: {{ theme_footnote_bg }};
+ font-size: 0.9em;
+}
+
+table.footnote + table.footnote {
+ margin-top: -15px;
+ border-top: none;
+}
+
+table.field-list th {
+ padding: 0 0.8em 0 0;
+}
+
+table.field-list td {
+ padding: 0;
+}
+
+table.field-list p {
+ margin-bottom: 0.8em;
+}
+
+/* Cloned from
+ * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
+ */
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+table.footnote td.label {
+ width: .1px;
+ padding: 0.3em 0 0.3em 0.5em;
+}
+
+table.footnote td {
+ padding: 0.3em 0.5em;
+}
+
+dl {
+ margin: 0;
+ padding: 0;
+}
+
+dl dd {
+ margin-left: 30px;
+}
+
+blockquote {
+ margin: 0 0 0 30px;
+ padding: 0;
+}
+
+ul, ol {
+ /* Matches the 30px from the narrow-screen "li > ul" selector below */
+ margin: 10px 0 10px 30px;
+ padding: 0;
+}
+
+pre {
+ background: {{ theme_pre_bg }};
+ padding: 7px 30px;
+ margin: 15px 0px;
+ line-height: 1.3em;
+}
+
+div.viewcode-block:target {
+ background: {{ theme_viewcode_target_bg }};
+}
+
+dl pre, blockquote pre, li pre {
+ margin-left: 0;
+ padding-left: 30px;
+}
+
+tt, code {
+ background-color: {{ theme_code_bg }};
+ color: {{ theme_code_text }};
+ /* padding: 1px 2px; */
+}
+
+tt.xref, code.xref, a tt {
+ background-color: {{ theme_xref_bg }};
+ border-bottom: 1px solid {{ theme_xref_border }};
+}
+
+a.reference {
+ text-decoration: none;
+ border-bottom: none;
+}
+
+/* Don't put an underline on images */
+a.image-reference, a.image-reference:hover {
+ border-bottom: none;
+}
+
+a.reference:hover {
+ border-bottom: none;
+}
+
+a.footnote-reference {
+ text-decoration: none;
+ font-size: 0.7em;
+ vertical-align: top;
+ border-bottom: 1px dotted {{ theme_link }};
+}
+
+a.footnote-reference:hover {
+ border-bottom: 1px solid {{ theme_link_hover }};
+}
+
+a:hover tt, a:hover code {
+ background: {{ theme_code_hover }};
+}
+
+
+@media screen and (max-width: 870px) {
+
+ div.sphinxsidebar {
+ display: none;
+ }
+
+ div.document {
+ width: 100%;
+
+ }
+
+ div.documentwrapper {
+ margin-left: 0;
+ margin-top: 0;
+ margin-right: 0;
+ margin-bottom: 0;
+ }
+
+ div.bodywrapper {
+ margin-top: 0;
+ margin-right: 0;
+ margin-bottom: 0;
+ margin-left: 0;
+ }
+
+ ul {
+ margin-left: 0;
+ }
+
+ li > ul {
+ /* Matches the 30px from the "ul, ol" selector above */
+ margin-left: 30px;
+ }
+
+ .document {
+ width: auto;
+ }
+
+ .footer {
+ width: auto;
+ }
+
+ .bodywrapper {
+ margin: 0;
+ }
+
+ .footer {
+ width: auto;
+ }
+
+ .github {
+ display: none;
+ }
+
+
+
+}
+
+
+
+@media screen and (max-width: 875px) {
+
+ body {
+ margin: 0;
+ }
+
+ div.documentwrapper {
+ float: none;
+ background: {{ theme_base_bg }};
+ }
+
+ div.sphinxsidebar {
+ display: block;
+ float: none;
+ width: 102.5%;
+ {%- if theme_fixed_sidebar|lower == 'true' %}
+ margin: -20px -30px 20px -30px;
+ {%- else %}
+ margin: 50px -30px -20px -30px;
+ {%- endif %}
+ padding: 10px 20px;
+ background: {{ theme_narrow_sidebar_bg }};
+ color: {{ theme_narrow_sidebar_fg }};
+ }
+
+ div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
+ div.sphinxsidebar h3 a {
+ color: {{ theme_base_bg }};
+ }
+
+ div.sphinxsidebar a {
+ color: {{ theme_narrow_sidebar_link }};
+ }
+
+ div.sphinxsidebar p.logo {
+ display: none;
+ }
+
+ div.document {
+ width: 100%;
+ margin: 0;
+ }
+
+ div.footer {
+ display: none;
+ }
+
+ div.bodywrapper {
+ margin: 0;
+ }
+
+ div.body {
+ min-height: 0;
+ padding: 0;
+ }
+
+ .rtd_doc_footer {
+ display: none;
+ }
+
+ .document {
+ width: auto;
+ }
+
+ .footer {
+ width: auto;
+ }
+
+ .footer {
+ width: auto;
+ }
+
+ .github {
+ display: none;
+ }
+}
+
+{%- if theme_fixed_sidebar|lower == 'true' %}
+@media screen and (min-width: 876px) {
+ div.sphinxsidebar {
+ position: fixed;
+ margin-left: 0;
+ }
+}
+{%- endif %}
+
+
+/* misc. */
+
+.revsys-inline {
+ display: none!important;
+}
+
+/* Make nested-list/multi-paragraph items look better in Releases changelog
+ * pages. Without this, docutils' magical list fuckery causes inconsistent
+ * formatting between different release sub-lists.
+ */
+div#changelog > div.section > ul > li > p:only-child {
+ margin-bottom: 0;
+}
+
+/* Hide fugly table cell borders in ..bibliography:: directive output */
+table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
+ border: none;
+ /* Below needed in some edge cases; if not applied, bottom shadows appear */
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+
+/* relbar */
+
+.related {
+ line-height: 30px;
+ width: 100%;
+ font-size: 0.9rem;
+}
+
+.related.top {
+ border-bottom: 1px solid {{ theme_relbar_border }};
+ margin-bottom: 20px;
+}
+
+.related.bottom {
+ border-top: 1px solid {{ theme_relbar_border }};
+}
+
+.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";
+}
+
+/* Hide certain items when printing */
+@media print {
+ div.related {
+ display: none;
+ }
+}
+
+
+.bs-docs-sidebar {
+ padding-left: 20px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+
+.bs-docs-sidebar .nav>li>a {
+ color: #767676;
+ border-left: 2px solid transparent;
+ padding: 4px 20px;
+ font-size: 13px;
+ font-weight: 400;
+}
+
+.bs-docs-sidebar .nav .nav>li>a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 30px;
+ font-size: 12px;
+}
+
+.bs-docs-sidebar .nav>.current>a,
+.bs-docs-sidebar .nav>.active>a,
+.bs-docs-sidebar .nav>li>a:hover,
+.bs-docs-sidebar .nav>li>a:focus {
+ color: #54487A;
+ text-decoration: none;
+ background-color: transparent;
+ border-left-color: #54487A;
+}
+
+.bs-docs-sidebar .nav>.current>a,
+.bs-docs-sidebar .nav>.current:hover>a,
+.bs-docs-sidebar .nav>.current:focus>a,
+.bs-docs-sidebar .nav>.active>a,
+.bs-docs-sidebar .nav>.active:hover>a,
+.bs-docs-sidebar .nav>.active:focus>a {
+ font-weight: 700;
+}
+
+.bs-docs-sidebar .nav .nav>.active>a,
+.bs-docs-sidebar .nav .nav>.active:hover>a,
+.bs-docs-sidebar .nav .nav>.active:focus>a {
+ font-weight: 500;
+}
+
+.bs-docs-sidebar .nav ul.nav {
+ display: none;
+}
+
+.bs-docs-sidebar .nav>.current>ul.nav,
+.bs-docs-sidebar .nav>.active>ul.nav {
+ display: block;
+}
+
+.bs-docs-sidebar > .caption {
+ display: none!important;
+}
+
+
+#collapseExample > p {
+ display: none!important;
+}
+
+
+.bs-docs-sidebar.affix {
+ top: 10px!important;
+}
+
+h2 {
+ margin-top: 40px!important;
+ padding-bottom: 5px;
+ border-bottom: 1px solid #eee;
+}
+
+.collapsed > li > ul {
+ display:block!important;
+}
+
+body {
+ min-height: 100vh;
+ position: relative;
+ margin: 0;
+ padding-bottom: 215px;
+}
+
+footer {
+ position: absolute;
+ margin-top: 40px;
+ bottom: 0;
+ width: 100%;
+}
+
+.site-welcome {
+ font-size:2.5em;
+ text-align:center;
+ margin-bottom:1em
+}
+
+@media (max-width: 870px) {
+ .simple > li {
+ margin-left: 30px;
+ }
+}
+
+@media (min-width: 351px) {
+ .site-logo {
+ height: 63px;
+ width: 191px;
+ background: url(https://assets.gentoo.org/tyrian/site-logo.png);
+ background: url(https://assets.gentoo.org/tyrian/site-logo.svg),
+ linear-gradient(transparent, transparent);
+ }
+}
+
+@media (max-width: 350px) {
+ .site-logo {
+ margin-top: 7px;
+ height: 49px!important;
+ width: 49px!important;
+ background: url(https://www.gentoo.org/assets/img/logo/gentoo-signet.svg);
+ background: url(https://www.gentoo.org/assets/img/logo/gentoo-signet.svg),
+ linear-gradient(transparent, transparent);
+ }
+}
+
+
+@media (min-width: 351px) {
+ .site-label{
+ vertical-align: 2.75em!important;
+ margin-left: 15px;
+ }
+}
+
+@media (max-width: 350px) {
+ .site-label{
+ vertical-align: 2em!important;
+ margin-left: 5px;
+ }
+}
+
+
+.gentoo_svg_logo {
+ content:url("https://assets.gentoo.org/tyrian/site-logo.svg");
+}
+
+.gentoo_logo {
+ content:url("https://assets.gentoo.org/tyrian/site-logo.svg");
+}
+
+
+{%- if builder == "singlehtml" %}
+
+#collapseExample > ul > li {
+ list-style-type: none;
+}
+
+#collapseExample > ul > li > ul > li {
+ list-style-type: none;
+}
+
+#custom_toc {
+ width:auto;border: 1px solid #ddd;padding:5px;display: none;
+}
+
+{%- else %}
+
+h1 + div > h2 {
+ margin-top: 15px !important;
+}
+
+h1 + span + div > span + h2 {
+ margin-top: 15px !important;
+}
+
+#custom_toc {
+ width:auto;margin-bottom:30px;padding:5px;display: none;
+}
+
+@media (max-width: 870px) {
+ #collapseExample {
+ padding-left:20px;
+ }
+}
+
+{%- endif %}
diff --git a/tyrian_sphinx_theme/support.py b/tyrian_sphinx_theme/support.py
new file mode 100644
index 0000000..0438317
--- /dev/null
+++ b/tyrian_sphinx_theme/support.py
@@ -0,0 +1,91 @@
+# flake8: noqa
+
+from pygments.style import Style
+from pygments.token import (
+ Keyword,
+ Name,
+ Comment,
+ String,
+ Error,
+ Number,
+ Operator,
+ Generic,
+ Whitespace,
+ Punctuation,
+ Other,
+ Literal,
+)
+
+
+# Originally based on Alabaster which was based on 'FlaskyStyle'.
+class TyrianSphinxTheme(Style):
+ background_color = "#f8f8f8" # doesn't seem to override CSS 'pre' styling?
+ default_style = ""
+
+ styles = {
+ # No corresponding class for the following:
+ # Text: "", # class: ''
+ Whitespace: "underline #f8f8f8", # class: 'w'
+ Error: "#a40000 border:#ef2929", # class: 'err'
+ Other: "#000000", # class 'x'
+ Comment: "italic #8f5902", # class: 'c'
+ Comment.Preproc: "noitalic", # class: 'cp'
+ Keyword: "bold #004461", # class: 'k'
+ Keyword.Constant: "bold #004461", # class: 'kc'
+ Keyword.Declaration: "bold #004461", # class: 'kd'
+ Keyword.Namespace: "bold #004461", # class: 'kn'
+ Keyword.Pseudo: "bold #004461", # class: 'kp'
+ Keyword.Reserved: "bold #004461", # class: 'kr'
+ Keyword.Type: "bold #004461", # class: 'kt'
+ Operator: "#582800", # class: 'o'
+ Operator.Word: "bold #004461", # class: 'ow' - like keywords
+ Punctuation: "bold #000000", # class: 'p'
+ # because special names such as Name.Class, Name.Function, etc.
+ # are not recognized as such later in the parsing, we choose them
+ # to look the same as ordinary variables.
+ Name: "#000000", # class: 'n'
+ Name.Attribute: "#c4a000", # class: 'na' - to be revised
+ Name.Builtin: "#004461", # class: 'nb'
+ Name.Builtin.Pseudo: "#3465a4", # class: 'bp'
+ Name.Class: "#000000", # class: 'nc' - to be revised
+ Name.Constant: "#000000", # class: 'no' - to be revised
+ Name.Decorator: "#888", # class: 'nd' - to be revised
+ Name.Entity: "#ce5c00", # class: 'ni'
+ Name.Exception: "bold #cc0000", # class: 'ne'
+ Name.Function: "#000000", # class: 'nf'
+ Name.Property: "#000000", # class: 'py'
+ Name.Label: "#f57900", # class: 'nl'
+ Name.Namespace: "#000000", # class: 'nn' - to be revised
+ Name.Other: "#000000", # class: 'nx'
+ Name.Tag: "bold #004461", # class: 'nt' - like a keyword
+ Name.Variable: "#000000", # class: 'nv' - to be revised
+ Name.Variable.Class: "#000000", # class: 'vc' - to be revised
+ Name.Variable.Global: "#000000", # class: 'vg' - to be revised
+ Name.Variable.Instance: "#000000", # class: 'vi' - to be revised
+ Number: "#990000", # class: 'm'
+ Literal: "#000000", # class: 'l'
+ Literal.Date: "#000000", # class: 'ld'
+ String: "#4e9a06", # class: 's'
+ String.Backtick: "#4e9a06", # class: 'sb'
+ String.Char: "#4e9a06", # class: 'sc'
+ String.Doc: "italic #8f5902", # class: 'sd' - like a comment
+ String.Double: "#4e9a06", # class: 's2'
+ String.Escape: "#4e9a06", # class: 'se'
+ String.Heredoc: "#4e9a06", # class: 'sh'
+ String.Interpol: "#4e9a06", # class: 'si'
+ String.Other: "#4e9a06", # class: 'sx'
+ String.Regex: "#4e9a06", # class: 'sr'
+ String.Single: "#4e9a06", # class: 's1'
+ String.Symbol: "#4e9a06", # class: 'ss'
+ Generic: "#000000", # class: 'g'
+ Generic.Deleted: "#a40000", # class: 'gd'
+ Generic.Emph: "italic #000000", # class: 'ge'
+ Generic.Error: "#ef2929", # class: 'gr'
+ Generic.Heading: "bold #000080", # class: 'gh'
+ Generic.Inserted: "#00A000", # class: 'gi'
+ Generic.Output: "#888", # class: 'go'
+ Generic.Prompt: "#745334", # class: 'gp'
+ Generic.Strong: "bold #000000", # class: 'gs'
+ Generic.Subheading: "bold #800080", # class: 'gu'
+ Generic.Traceback: "bold #a40000", # class: 'gt'
+ }
diff --git a/tyrian_sphinx_theme/theme.conf b/tyrian_sphinx_theme/theme.conf
new file mode 100644
index 0000000..4607648
--- /dev/null
+++ b/tyrian_sphinx_theme/theme.conf
@@ -0,0 +1,130 @@
+[theme]
+inherit = basic
+stylesheet = tyrian-sphinx-theme.css
+sidebars = localtoc.html
+
+[options]
+sidebar = right
+navigationlinks_top = none
+navigationlinks_bottom = long
+navigationlinks_navbar = none
+logo =
+logo_name = false
+logo_text_align = left
+description =
+description_font_style = normal
+github_user =
+github_repo =
+github_button = true
+github_banner = false
+github_type = watch
+github_count = true
+badge_branch = master
+travis_button = false
+codecov_button = false
+gratipay_user =
+gittip_user =
+analytics_id =
+touch_icon =
+canonical_url =
+extra_nav_links =
+sidebar_includehidden = true
+sidebar_collapse = true
+show_powered_by = true
+show_related = false
+show_relbars = false
+show_relbar_top =
+show_relbar_bottom =
+
+gray_1 = #444
+gray_2 = #EEE
+gray_3 = #AAA
+
+pink_1 = #FCC
+pink_2 = #FAA
+pink_3 = #D52C2C
+
+base_bg = #fff
+base_text = #000
+hr_border = #B1B4B6
+body_bg =
+body_text = #3E4349
+body_text_align = left
+footer_text = #888
+link = #004B6B
+link_hover = #6D4100
+sidebar_header =
+sidebar_text = #555
+sidebar_link =
+sidebar_link_underscore = #999
+sidebar_search_button = #CCC
+sidebar_list = #000
+sidebar_hr =
+anchor = #DDD
+anchor_hover_fg =
+anchor_hover_bg = #EAEAEA
+table_border = #888
+shadow =
+
+# Admonition options
+## basic level
+admonition_bg =
+admonition_border = #CCC
+note_bg =
+note_border = #CCC
+seealso_bg =
+seealso_border = #CCC
+
+## critical level
+danger_bg =
+danger_border =
+danger_shadow =
+error_bg =
+error_border =
+error_shadow =
+
+## normal level
+tip_bg =
+tip_border = #CCC
+hint_bg =
+hint_border = #CCC
+important_bg =
+important_border = #CCC
+
+## warning level
+caution_bg =
+caution_border =
+attention_bg =
+attention_border =
+warn_bg =
+warn_border =
+
+topic_bg =
+code_highlight_bg =
+highlight_bg = #FAF3E8
+xref_border = #fff
+xref_bg = #FBFBFB
+admonition_xref_border = #fafafa
+admonition_xref_bg =
+footnote_bg = #FDFDFD
+footnote_border =
+pre_bg =
+narrow_sidebar_bg = #333
+narrow_sidebar_fg = #FFF
+narrow_sidebar_link =
+font_size = 17px
+caption_font_size = inherit
+viewcode_target_bg = #ffd
+code_bg = #ecf0f3
+code_text = #222
+code_hover = #EEE
+code_font_size = 0.9em
+code_font_family = 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace
+font_family = Georgia, serif
+head_font_family =
+caption_font_family = inherit
+code_highlight = #FFC
+page_width = 940px
+sidebar_width = 220px
+fixed_sidebar = false
+relbar_border =