This article covers the core global objects available on every Localist Events template. The Site object and its related nested objects control platform-wide settings, branding, features, and authentication across the entire theme. These objects are always available without needing to be explicitly passed to templates.
The following objects are covered in this article:
Site — Platform configuration, branding, and nested settings
User — Current visitor and user-specific data
Site Format — Localized date/time formatting patterns
Theme — Theming configuration and navigation
Navigation Link — Header navigation link structure
The Site Object
The Site object is the primary global configuration object. It is accessed as site and contains settings for branding, authentication, features, URLs, and nested configuration objects.
Identity and Branding
Variable
Type
Description
site.name
String
The platform name.
site.contact_email
String
Platform contact email.
site.home_link
String
URL to the platform home page.
site.country
String
Default country setting.
site.distance_unit
String
Unit for distance measurements (e.g., “mi” or “km”).
site.has_logo
Boolean
Whether the site has a custom logo configured.
site.emphasis_logo_url
String
URL to the scaled logo (250×52, supports 2x) derived from the uploaded logo image.
site.emphasis_logo_srcset
String
Responsive image srcset for the logo.
site.emphasis_logo_width
Integer
Width of the logo in pixels.
site.emphasis_logo_height
Integer
Height of the logo in pixels.
site.mail_logo_url
String
URL to the logo used in email templates.
site.mail_logo_height
Integer
Height of the email logo in pixels.
site.header_foreground_color
String
Underlying header foreground color (hex). Do not use directly in templates — in web templates, set header colors via CSS; in mail templates, use mail_header_foreground_color.
site.header_background_color
String
Underlying header background color (hex). Do not use directly in templates — in web templates, set header colors via CSS; in mail templates, use mail_header_background_color.
site.header_colors
Hash
All header color settings grouped together. See mail_header_* variants for mail template use.
site.mail_header_foreground_color
String
Foreground color for use in mail templates. Use this instead of header_foreground_color in email templates. Currently delegates to header_foreground_color, but allows mail-specific color overrides to be introduced in the future without requiring template changes.
site.mail_header_background_color
String
Background color for use in mail templates. Use this instead of header_background_color in email templates. Currently delegates to header_background_color, but allows mail-specific color overrides to be introduced in the future without requiring template changes.
site.show_navigation
Boolean
Whether the top navigation bar is visible.
site.show_info_bar
Boolean
Whether to display an info/notification bar.
site.footer_links
Array
Array of footer navigation links.
site.social_links
Array
Array of social media links.
Example:
<!-- Web template: set header colors via CSS, not inline styles -->
<header class="site-header">
{% if site.has_logo %}
<img src="{{ site.emphasis_logo_url }}" alt="{{ site.name }}">
{% endif %}
<h1>{{ site.name }}</h1>
</header>
<!-- Mail template: use mail_ variants for inline color -->
<header style="background-color: {{ site.mail_header_background_color }}; color: {{ site.mail_header_foreground_color }};">
<img src="{{ site.mail_logo_url }}" alt="{{ site.name }}">
</header>
Authentication and Login
Variable
Type
Description
site.login_methods
Array
List of available login methods.
site.has_external_login
Boolean
Whether external SSO/SAML login is configured.
site.show_login_fields
Boolean
Whether traditional email/password fields are shown on login.
site.custom_login_url
String
URL to a custom login page (if configured).
site.can_local_auth
Boolean
Whether local (username/password) authentication is enabled.
site.has_signup
Boolean
Whether user signup is allowed.
site.can_social_auth
Boolean
Whether social login is available.
site.social_auth_methods
Array
List of available social login providers.
site.must_sso_login
Boolean
Whether SSO is required (local login disabled).
site.openid_connect_providers
Array
List of configured OpenID Connect providers.
site.can_change_password
Boolean
Whether users are allowed to change their password.
site.has_sso_name
Boolean
Whether a trusted user name was received from the SSO system for the current session.
site.has_sso_email
Boolean
Whether a trusted email address was received from the SSO system for the current session.
Example:
{% if site.has_signup %}
<a href="{{ site.signup_url }}">Create an Account</a>
{% endif %}
{% if site.can_local_auth %}
<form method="post" action="/login">
<input type="email" name="email" placeholder="Email">
<input type="password" name="password" placeholder="Password">
<button type="submit">Login</button>
</form>
{% elsif site.has_external_login %}
<p>Login via your organization account.</p>
<a href="{{ site.custom_login_url }}">Sign In</a>
{% endif %}
Features and Filters
Variable
Type
Description
site.has_places
Boolean
Whether places/venues are supported.
site.has_departments
Boolean
Whether departments are supported.
site.has_groups
Boolean
Whether user groups/communities are supported.
site.event_filters
Array
Array of available event type filters/tags.
site.department_label
String
Custom label for departments (default: “Department”).
site.group_label
String
Custom label for groups (default: “Group”).
site.public_event_custom_fields
Array of Custom Field
Custom fields displayed on public event creation.
site.public_user_custom_fields
Array of Custom Field
Custom fields displayed on user profiles.
site.event_experiences
Array
Array of configured event experience types.
site.can_post_comments
Boolean
Whether event comments are enabled.
Example:
{% if site.has_places %}
<div class="venue-section">
<h3>Find a Venue</h3>
<!-- Show venue listing -->
</div>
{% endif %}
<div class="filters">
<h3>Event Types</h3>
{% for filter in site.event_filters %}
<label>
<input type="checkbox" name="filter_{{ filter.id }}">
{{ filter.name }}
</label>
{% endfor %}
</div>
The Site Format object contains localized date and time format patterns. These patterns are designed for use with Liquid’s date filter. The patterns respect the site’s configured locale and timezone.
Recommendation: For displayed event timestamps, prefer the {% local_time_tag %} and {% local_event_time_tag %} tags (Article 6). Those tags handle timezone offsets and browser-side conversion automatically. The unified date_time_* patterns below are preferred over the older individual date_* and time_* groups.
Access these patterns via site.format and pass them to Liquid’s date filter:
The Theme object contains theming configuration for the site, including navigation settings. It is accessed via site.theme.
Variable
Type
Description
site.theme.name
String
The name of the active theme.
site.theme.header_size
String
Size/style of the header for the Emphasis theme (typically base or extended; values come from theme style settings).
site.theme.header_links
Array of Navigation Link
Array of navigation links in the header.
Example:
<header class="header-{{ site.theme.header_size }}">
<nav>
<ul>
{% for link in site.theme.header_links %}
<li>
<a href="{{ link.url }}">{{ link.name }}</a>
{% if link.dropdown? %}
<ul class="submenu">
{% for child in link.children %}
<li><a href="{{ child.url }}">{{ child.name }}</a></li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</nav>
</header>
The Navigation Link Object
The Navigation Link object represents a single link in the site’s navigation. Navigation links can be simple links or dropdowns containing child links. They are accessed via site.theme.header_links.
Variable
Type
Description
link.id
Integer
Unique identifier for the link.
link.name
String
Display text of the link.
link.url
String
Target URL for the link.
link.link_type
String
Either "link" (single link row) or "dropdown" (parent with children).
link.link?
Boolean
Whether this navigation item is a single link row (as opposed to a dropdown).
link.dropdown?
Boolean
Whether this is a dropdown menu with children.
link.children
Array of Navigation Link
Array of child links (for dropdowns).
Example:
{% for link in site.theme.header_links %}
{% if link.dropdown? %}
<div class="dropdown">
<button>{{ link.name }}</button>
<div class="dropdown-menu">
{% for child in link.children %}
<a href="{{ child.url }}">{{ child.name }}</a>
{% endfor %}
</div>
</div>
{% else %}
<a href="{{ link.url }}" class="nav-link">{{ link.name }}</a>
{% endif %}
{% endfor %}
Related Articles
This article is part of a 9-part series on Localist developer theming: