orphan: |
---|
Odoo Documentation
Odoo Theme
The Odoo Documentation theme is a bootstrap-based mix of http://odoo.com and http://getbootstrap.com with additional changes and additions, bundled as a Sphinx theme.
The main style file is _themes/odoodoc/static/style.less
, it is not
converted on the fly and must be compiled manually when altere, using the
official node-based lessc tool.
odoodoc
must be added as an extension to a project using the theme, it
fixes some discrepancies between bootstrap and Sphinx and adds a few
features:
Sphinx Customizations
- toctree bullet lists (HTML
<ul>
) are given thenav
class - the main navigation bar also gets the
navbar-nav
andnavbar-right
set on its root (navbar-right
could probably be handled in CSS to avoid having it in the markup) - tables are given the
table
class - colspecs are removed from tables, tables should autolayout
-
data-
attributes are copied straight from the docutils node to the output HTML node - an
odoo
pygments style based on the bootstrap documentation's - the normal Sphinx sidebars are suppressed and a new sidebar is injected in
div.document
(sidebar1
is outside in the base Sphinx layout) - HTML5 doctype
Additional features
-
versions switcher, uses the
canonical_root
setting and an additionalversions
setting which should be a comma-separated list of available versions. Appends the each version and page name to the root, and displays a list of those links on the current page -
canonical urls, requires a
canonical_root
setting value, and optionally acanonical_branch
(default:master
) -
:guilabel:`Edit on github` link in Sphinx pages if
github_user
andgithub_project
are provided -
:guilabel:`[source]` links in autodoc content links to github with the same requirements (requires Sphinx 1.2)
-
aphorism
class for admonitions, makes the first line of the admonition inline and the same size as the admonition category (mostly for short, single-phrase admonitions) -
exercise
directive, mostly for training-type documents, thesolutions
tag can be used to conditionally show e.g. solutions -
a number of straight-to-HTML directives:
h:div
-
a straight div, can be used instead of
container
(which adds thecontainer
class to the div it generates, that's really not compatible with Bootstrap) h:address
-
generates an
<address>
node - a bunch of roles straight to HTML inline
-
mark
,insert
,delete
,strikethrough
,small`, ``kbd
andvar
generate the corresponding HTML element
Requirements
- Sphinx 1.1, 1.2 for code Python code links
- sphinx-patchqueue (for the content, not the theme)