summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrevor Bramwell <tbramwell@linuxfoundation.org>2018-02-02 12:16:52 -0800
committerRyota MIBU <r-mibu@cq.jp.nec.com>2018-02-06 10:42:15 +0900
commitc1cbdfaf687437baba73fbbe5551907b6913f0a4 (patch)
treef95736a6c6af21304ed1dc7677c845559fd87bbe
parentfb7da06424c1a12ca0f2e1a2c4f1dd99f0adbb51 (diff)
OPNFV Sphinx Theme
This is a standalone theme for OPNFV docs based on the Sphinx Bootstrap Theme used in opnfvdocs. Change-Id: Ie145c0dc9c1e4c1ed0d8d72d687524b4ef5883de Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
-rw-r--r--opnfv-theme/.gitignore5
-rw-r--r--opnfv-theme/MANIFEST.in7
-rw-r--r--opnfv-theme/README.rst48
-rw-r--r--opnfv-theme/setup.py30
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/__init__.py15
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html5
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html3
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html15
-rwxr-xr-xopnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.icobin0 -> 15086 bytes
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.pngbin0 -> 2829 bytes
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css33
-rw-r--r--opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf7
12 files changed, 168 insertions, 0 deletions
diff --git a/opnfv-theme/.gitignore b/opnfv-theme/.gitignore
new file mode 100644
index 000000000..83b2238da
--- /dev/null
+++ b/opnfv-theme/.gitignore
@@ -0,0 +1,5 @@
+/dist
+/build
+*.egg-info
+*.pyc
+__pycache__
diff --git a/opnfv-theme/MANIFEST.in b/opnfv-theme/MANIFEST.in
new file mode 100644
index 000000000..a5886cd20
--- /dev/null
+++ b/opnfv-theme/MANIFEST.in
@@ -0,0 +1,7 @@
+include *.txt
+include *.rst
+
+recursive-include sphinx_opnfv_theme *
+recursive-include sphinx_opnfv_theme/opnfv *
+
+global-exclude *.pyc
diff --git a/opnfv-theme/README.rst b/opnfv-theme/README.rst
new file mode 100644
index 000000000..484a7a793
--- /dev/null
+++ b/opnfv-theme/README.rst
@@ -0,0 +1,48 @@
+OPNFV Documentation Theme
+=========================
+
+This theme is used for all OPNFV documentation and is released seperatly
+from the documentation itself. It's and extention of the `Sphinx
+Bootstrap Theme`_
+
+Installation
+------------
+
+Here's how to install the theme from PyPI_
+
+To install and configure the theme do the following.
+
+#. Install the theme from pypi::
+
+ $ pip install sphinx_opnfv_theme
+
+#. Configure Sphinx to use the theme:
+
+.. code-block:: python
+
+ # conf.py
+ import sphinx_opnfv_theme
+
+ # ...
+
+ html_theme = 'opnfv'
+ html_theme_path = sphinx_opnfv_theme.get_html_theme_path()
+
+Customization
+-------------
+
+There are no customization specific to this theme yet, but all
+all customizations_ Sphinx Bootstrap Theme are supported.
+
+If you'd like your documentation to match OPNFV's style configure the
+following options for the bootstrap theme::
+
+ html_theme_options = {
+ 'bootswatch_theme': 'journal',
+ 'navbar_sidebarrel': false,
+ 'navbar_title': '',
+ }
+
+.. _Sphinx Bootstrap Theme: https://github.com/ryan-roemer/sphinx-bootstrap-theme
+.. _Pypi: http://pypi.python.org/pypi/sphinx-opnfv-theme/
+.. _customizations: https://github.com/ryan-roemer/sphinx-bootstrap-theme#customization
diff --git a/opnfv-theme/setup.py b/opnfv-theme/setup.py
new file mode 100644
index 000000000..5375c0940
--- /dev/null
+++ b/opnfv-theme/setup.py
@@ -0,0 +1,30 @@
+from setuptools import setup, find_packages
+
+from sphinx_opnfv_theme import __version__
+
+with open('README.rst') as f:
+ readme_text = f.read()
+
+setup(
+ name='sphinx_opnfv_theme',
+ description="OPNFV Theme for Sphinx",
+ long_description=readme_text,
+ url='https://docs.opnfv.org/',
+ author='Trevor Bramwell',
+ author_email='tbramwell@linuxfoundation.org',
+ version=__version__,
+ entry_points = {
+ 'sphinx.html_themes': [
+ 'opnfv = sphinx_opnfv_theme',
+ ]
+ },
+ packages=find_packages(),
+ install_requires = [
+ 'sphinx_bootstrap_theme',
+ 'sphinxcontrib.httpdomain',
+ ],
+ include_package_data=True,
+ package_data = {
+ 'sphinx_opnfv_theme': ['opnfv/**',]
+ },
+)
diff --git a/opnfv-theme/sphinx_opnfv_theme/__init__.py b/opnfv-theme/sphinx_opnfv_theme/__init__.py
new file mode 100644
index 000000000..007927521
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/__init__.py
@@ -0,0 +1,15 @@
+"""OPNFV Sphinx Theme"""
+
+from os import path
+
+__version__='0.1.1'
+
+
+def get_html_theme_path():
+ """Return list of HTML theme paths."""
+ local_path = path.abspath(path.dirname(__file__))
+ return [local_path]
+
+def setup(app):
+ """Required by Sphinx to create the theme."""
+ app.add_html_theme('opnfv', path.abspath(path.dirname(__file__)))
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html
new file mode 100644
index 000000000..ddd674cf1
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/layout.html
@@ -0,0 +1,5 @@
+{# Import the theme's layout. #}
+{% extends "bootstrap/layout.html" %}
+
+{# Custom CSS overrides #}
+{% set css_files = css_files + ['_static/my-styles.css'] %}
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html
new file mode 100644
index 000000000..6b259bc93
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/my_custom_sidebar.html
@@ -0,0 +1,3 @@
+<ul class="globaltoc">
+{{ toctree(maxdepth=theme_globaltoc_depth|toint, collapse=False,includehidden=theme_globaltoc_includehidden|tobool) }}
+</ul> \ No newline at end of file
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html b/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html
new file mode 100644
index 000000000..5bad0b562
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/relations.html
@@ -0,0 +1,15 @@
+<center>
+<div class="btn-group" role="group" aria-label="...">
+ {% if prev %}
+ <a class="btn btn-default" href="{{ prev.link|e }}">Prev Page</a>
+ {% else %}
+ <button type="button" class="btn btn-default disabled">Prev Page</button>
+ {% endif %}
+
+ {% if next %}
+ <a class="btn btn-default" href="{{ next.link|e }}">Next Page</a>
+ {% else %}
+ <button type="button" class="btn btn-default disabled">Next Page</button>
+ {% endif %}
+</div>
+</center> \ No newline at end of file
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico
new file mode 100755
index 000000000..bbe55ab40
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/favicon.ico
Binary files differ
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png
new file mode 100644
index 000000000..1519503eb
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/logo.png
Binary files differ
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css
new file mode 100644
index 000000000..8feb45bfd
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/static/my-styles.css
@@ -0,0 +1,33 @@
+body {
+ font-family: Helvetica, sans-serif;
+ font-size: 16px;
+}
+
+body a {
+ color: #27CCC0;
+}
+
+body a:hover {
+ color: #676767;
+}
+
+.navbar-brand img {
+ height: 200%;
+ margin-top: -5%;
+}
+
+.navbar, h1, h2, h3, h4, h5, h6 {
+ font-family: Helvetica, sans-serif;
+}
+
+.navbar-text{
+ color: #676767;
+}
+
+.navbar-form.navbar-right{
+ padding: 0;
+}
+
+.navbar-form .form-control{
+ width: 150px;
+}
diff --git a/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf b/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf
new file mode 100644
index 000000000..66424aa1f
--- /dev/null
+++ b/opnfv-theme/sphinx_opnfv_theme/opnfv/theme.conf
@@ -0,0 +1,7 @@
+[theme]
+inherit = bootstrap
+stylesheet = bootstrap-sphinx.css
+pygments_style = tango
+
+# Theme Options exposed by html_theme_options
+[options]