Theme Hooks

The theme hook allows custom themes to be loaded dynamically by AAs CSS/JS Bundles, as selected by Users.

To register a ThemeHook class you would do the following:

@hooks.register('theme_hook')
def register_darkly_hook():
    return ThemeHook()

The ThemeHook class specifies some parameters/instance variables required.

class ThemeHook(name: str, description: str, css: list[dict], js: list[dict], css_template: str | None = None, js_template: str | None = None, js_type: str | None = None, html_tags: dict | str | None = None, header_padding: str | None = '4em')[source]

Theme hook for injecting a Bootstrap 5 Theme and associated JS into alliance auth. These can be local or CDN delivered.

__init__(name: str, description: str, css: list[dict], js: list[dict], css_template: str | None = None, js_template: str | None = None, js_type: str | None = None, html_tags: dict | str | None = None, header_padding: str | None = '4em')[source]
Parameters:
  • name (str) – Theme python name

  • description (str) – Theme verbose name

  • css (List[dict]) – CSS paths to load

  • js (List[dict]) – JS paths to load

  • css_template (Optional[str], optional) – _description_, defaults to None

  • js_template (Optional[str], optional) – _description_, defaults to None

  • js_type (Optional[str], optional) – The type of the JS (e.g.: ‘module’), defaults to None

  • html_tags (Optional[dict|str], optional) – Attributes added to the <html> tag, defaults to None

  • header_padding (Optional[str], optional) – Top padding, defaults to “4em”