foundation.theme ================ .. py:module:: foundation.theme Classes ------- .. autoapisummary:: foundation.theme.BaseTheme foundation.theme.Theme Module Contents --------------- .. py:class:: BaseTheme(compress: bool = True) Bases: :py:obj:`onegov.core.theme.Theme` Base class for Zurb Foundation based themes. Use this class to create a theme that customizes Zurb Foundation somehow. If you don't want to customize it at all, use :class:`Theme`. To customize start like this:: from onegov.foundation import BaseTheme class MyTheme(BaseTheme): name = 'my-theme' version = '1.0' You can then add paths with your own scss files, as well as imports that should be added *before* the foundation theme, and imports that should be added *after* the foundation theme. Finally, options passed to the :meth:`compile` function take this form:: options = { 'rowWidth': '1000px', 'columnGutter': '30px' } Those options result in variables added at the very top of the sass source before it is compiled:: @import 'foundation/functions'; $rowWidth: 1000px; $columnGutter: 30px; If your variables rely on a certain order you need to pass an ordered dict. .. py:attribute:: compress :value: True .. py:property:: default_options :type: dict[str, Any] Default options used when compiling the theme. .. py:property:: pre_imports :type: list[str] Imports added before the foundation import. The imports must be found in one of the paths (see :attr:`extra_search_paths`). The form of a single import is 'example' (which would search for files named 'example.scss') .. py:property:: foundation_components :type: collections.abc.Sequence[str] All used foundation components. .. py:property:: imports :type: collections.abc.Iterator[str] All imports, including the foundation ones. Override with care. .. py:property:: post_imports :type: list[str] Imports added after the foundation import. The imports must be found in one of the paths (see :attr:`extra_search_paths`). The form of a single import is 'example' (which would search for files named 'example.scss') .. py:property:: extra_search_paths :type: list[str] A list of absolute search paths added before the actual foundation search path. .. py:property:: foundation_path :type: str The search path for the foundation files included in this module. .. py:method:: compile(options: collections.abc.Mapping[str, Any] | None = None) -> str Compiles the theme with the given options. .. py:class:: Theme(compress: bool = True) Bases: :py:obj:`BaseTheme` Zurb Foundation vanilla theme. Use this if you don't want any changes to zurb foundation, except for setting supported variables. Do not use this class as a base for your own theme! Example:: from onegov.core import Framework from onegov.foundation import Theme class App(Framework): theme_options = { 'rowWidth': '1200px' } @App.setting(section='core', name='theme') def get_theme(): return Theme() .. py:attribute:: name :value: 'zurb.foundation' The name of the theme, must be unique.