This is a Sphinx theme based on the Foundation 4 css framework. It was created as a by-product of the Authomatic authentication / authorization library.
- Responsive design
- Support for SVG in
<img/>
tags with fallback to PNG - Google Analytics support
- Fork Me On Github support
- pip installable
- SEO rudiments
- SEO meta tags
- Open Graph meta tags
- Facebbok, Twitter and Google+ social buttons
- Authorship Google Rich Snippet
Istall with pip.
$ pip install foundation-sphinx-theme
Set the html_theme
variable to 'foundation'
.
# conf.py
import foundation_sphinx_theme
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'foundation_sphinx_theme'
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = foundation_sphinx_theme.HTML_THEME_PATH
You also need to add the foundation
extension in the conf.py
.
The extension just injects some foundation Foundation 4 css classes
needed for creation of the top bar navigation.
# conf.py
sys.path[0:0] = [os.path.abspath('_themes/foundation-sphinx-theme')]
extensions = ['sphinx.ext.autodoc', 'foundation_sphinx_theme']
There are two ready made styles.
If you want to customize them or make your own,
extend the sass
sources in foundation/static/foundation/sass
.
Use the ..seo-description::
directive if you want to have different SEO description
than the one specified in html_theme_options
for a specific document/page.
The directive can appear anywhere in the document.
If you specify more than one, the content of the last one will be used.
.. seo-description::
Content of this directive overrides the seo_description
in the html_theme_options only for this page.
======================
Title of Your Document
======================
.. seo-description::
Value of the last seo-description directive will be used.
There are these theme options available:
# conf.py
html_theme_options = {
'motto': 'Long description which appears next to logo.',
# Your stylesheet relative to the _static dir.
# Default is 'foundation/css/basic.css'
'stylesheet': '/path/to/your/stylesheet.css',
# Logo image in SVG format. If the browser doesn't support SVG
# It will try to load JPG with the same name.
'logo_screen': '',
# Logo for small screens. If ommited, logo_screen will be used.
'logo_mobile': '',
# Path to your favicon.ico file relative to the _static dir.
'favicon': '',
# Use this if the top-level items of the toctree don't fit in the top-bar navigation.
# If True, the whole toctree will be placed inside a single top-level item.
'top_bar_force_fit': True,
# The title of the aformentioned top-level item. Default is "Sections"
'top_bar_content_title': 'Sections',
# If set, Google Analytics code will be appended to body of each page.
'google_analytics_id': 'your-google-analytics-id',
# The "og:title", "og:type", "og:url", "og:site_name" and "og:description" Open Graph tags
# will be generated automatically, but you should specify the
# path to the image that you want to be used
# in the required "og:image" property relative to the _static dir.
'opengraph_image': 'path/to/your/opengraph-image.jpg',
# Any custom additional OG tags
'opengraph_tags': {
'foo': 'bar', # will be rendered as <meta property="og:foo" content="bar" />
},
# The "description" meta tag will be created automatically, but
# you can specify additional meta tags here.
'meta_tags': {
'foo': 'bar', # will be rendered as <meta name="foo" content="bar">
},
# The value for "description" and "og:description" metatags.
# If omitted, the value of "motto" will be used.
'seo_description': 'This is an example of the Foundation Sphinx Theme output.',
# Use this as the base for Open Graph URLs without trailing slash.
'base_url': 'http://example.com',
# If true a bar with Facebook, Google+ and Twitter social buttons will be displayed
# underneath the header.
'social_buttons': True,
# ID of your Facebook app associated with the Facebook Like button.
'facebook_app_id': '123456789',
# A Twitter ID used for the via mention of the Twitter button.
'twitter_id': 'FoundationSphinx',
# Flattr button settings.
'flattr_id': 'andypipkin', # Your Flattr ID
'flattr_title': '', # If missing docstitle or title will be used.
'flattr_description': '', # If missing seo_description or motto will be used.
'flattr_tags': '', # Optional.
# If "author" and "copyright_year" are set they will override the "copyright" setting.
# Author's name.
'author': 'Peter Hudec',
# Author's link.
'author_link': 'http://peterhudec.com',
# Year to be used in the copyright statement.
'copyright_year': '2013',
# Author's Google+ id. If set a G+ authorship link will be added.
'google_plus_id': '117034840853387702598',
# Fork me on GitHub ribbon will be displayed if "github_user", "github_repo" and "github_ribbon_image" are set:
# https://github.com/blog/273-github-ribbons
# Ribbons are hidden on small screens!
# Your GitHub ID.
'github_user': 'foundation-sphinx-theme',
# The repository slug.
'github_repo': 'foundation-sphinx-theme',
# Path to the ribbon image relative to the "_static" directory.
'github_ribbon_image': 'my-github-ribbon.png',
# Position of the ribbon "left" or "right".
'github_ribbon_position': 'right',
}