Overview
Developer Theming enables clients to customize the appearance and behavior of their Localist Events platform using Liquid template syntax. This feature allows organizations to align their event calendar interface with their brand identity, modify information flows, and create custom user experiences—all without modifying the underlying Localist codebase.
This documentation series is designed for web developers who have working knowledge of HTML and CSS but may be new to Liquid templating. The articles in this series provide a comprehensive reference for all template variables, custom tags, and filters available in the Localist theming environment.
Developer Theming is available only to clients who have purchased this feature. If an organization does not have Developer Theming access, the contact should reach out to their Partner Success Manager or email support@concept3d.com to request activation.
What is Liquid?
Liquid is a templating language originally created by Shopify. It provides a safe, secure way to embed dynamic logic and data into HTML templates without exposing the underlying system. Localist uses Liquid to power its theming engine.
Liquid templates consist of three types of markup:
- Variables — Data placeholders that render content
- Tags — Logic and control flow (conditionals, loops, assignments)
- Filters — Functions that transform variable output
All Liquid syntax is enclosed in special delimiters:
- Variables use double curly braces:
{{ variable }} - Tags use curly-brace-percent notation:
{% tag %} - Filters are applied with the pipe operator:
{{ variable | filter }}
Prerequisites
To work with Localist Developer Theming, developers must have:
- Developer Theming enabled on their Localist organization account
- Access to the Theme Editor in the Localist admin panel
- Working knowledge of HTML and CSS to write and modify templates
- Familiarity with basic programming concepts such as variables, conditionals, and loops (Liquid syntax is beginner-friendly, but these concepts help)
If any of these prerequisites are not met, organizations should contact their Partner Success Manager or support@concept3d.com.
Key Concepts
Templates
Templates are HTML files that control how different pages render in the Localist platform. Each template targets a specific page or component type—for example, an Event Details page, a Channel listing page, or a User profile card.
Templates are organized into logical groups within the Theme Editor:
- Events — Pages related to event browsing, details, and listings
- Channels — Pages for channel browsing and management
- Places — Pages for location/venue displays
- Users — User profile pages and related components
- Groups & Departments — Organization and category pages
Developers modify templates by editing their HTML and Liquid code directly in the Theme Editor. Changes are applied immediately to the live platform (or to a preview environment, depending on configuration).
Variables
Variables are data placeholders that contain information from the Localist database or platform configuration. They are accessed using double curly braces.
When a template is rendered, the Liquid engine replaces each variable reference with its actual value. For example:
{{ event.title }}
{{ current_user.email }}
{{ site.name }}
Each template has a specific set of variables available to it. An event details template has access to an event variable, while a user profile template has access to a user variable. Articles 2–7 in this series document which variables are available to each template type.
Tags
Tags provide logic and control flow within templates. They are enclosed in curly-brace-percent notation: {% tag %}.
Common tags include:
-
Conditionals —
{% if %},{% unless %},{% elsif %}— render content based on a condition -
Loops —
{% for %},{% tablerow %}— iterate over arrays or collections -
Assignments —
{% assign %}— create new variables within the template -
Iteration —
{% break %},{% continue %}— control loop behavior - Custom Localist tags — Platform-specific tags that provide additional functionality (documented in Article 5)
Filters
Filters transform the output of a variable using the pipe operator |. Filters can modify text, format dates, perform calculations, and more.
For example:
{{ event.title | upcase }}
{{ event.start_time | date: "%B %d, %Y" }}
{{ event.description | truncate: 100 }}
Localist provides both standard Liquid filters and custom filters designed specifically for the platform (documented in Article 6).
Objects (Drops)
Complex data in Localist is organized into objects, sometimes called drops in Liquid terminology. Objects contain multiple related attributes.
Common Localist objects include:
-
Event — An event listing with properties like
title,description,start_time,location, etc. -
User — A person with properties like
name,email,role,bio, etc. -
Place — A venue or location with properties like
address,coordinates,capacity, etc. -
Channel — A category or grouping with properties like
name,description,color, etc. -
Site — Platform-wide configuration with properties like
name,logo,timezone, etc.
Objects can also contain nested objects or arrays of objects. For example, an Event object might contain an array of related Instances, or a User object might contain a list of Departments they belong to.
Global Variables
Three variables are available on every template, regardless of template type:
site
The site object contains platform-wide configuration and branding information.
Common attributes include:
-
site.name— The organization’s platform name -
site.logo_url— URL to the organization’s logo -
site.timezone— The platform’s configured timezone -
site.locale— The platform’s language/locale setting -
site.authentication_enabled— Boolean flag indicating if user authentication is required -
site.primary_color— The organization’s primary brand color (if configured)
The site object is documented in detail in Article 2.
current_user
The current_user object represents the person currently viewing the page.
- If a user is logged in,
current_usercontains the User object with all user attributes (name, email, role, etc.) - If no user is logged in,
current_userisnil(a null value in Liquid)
This variable is useful for personalizing templates based on the viewer’s identity or permissions. For example:
{% if current_user %}
Welcome, {{ current_user.name }}!
{% else %}
Please log in to access this content.
{% endif %}
current_platform_name
A string containing the name of the platform. Equivalent to site.name, provided for convenience.
Example: Using Global Variables
Here is a simple example combining all three global variables:
<header>
<h1>{{ site.name }}</h1>
{% if current_user %}
<p>Hello, {{ current_user.name }}. Welcome to {{ current_platform_name }}!</p>
{% else %}
<p>Welcome to {{ current_platform_name }}. Please log in.</p>
{% endif %}
</header>
How the Theme Editor Works
The Localist Theme Editor is located in the admin panel under Configuration > Theme Editor. The interface is organized as follows:
- Template Groups — Organized categories of templates (Events, Channels, Users, Places, Groups, Departments)
- Individual Templates — Each template within a group corresponds to a specific page or component type
- Template Editor — A code editor where developers can write and modify HTML and Liquid
- Preview Mode — A side-by-side view showing how the template renders
When a developer edits a template:
- The template code (HTML + Liquid) is stored in the Localist database
- The Liquid engine parses the template and injects available data
- The rendered HTML is sent to the user’s browser
- The browser displays the page according to the CSS and JavaScript included in the template
Each template has a specific set of variables available to it, documented in the template-specific articles (Articles 2–7). Templates can inherit variables from parent templates (for example, a component template might inherit the event variable from its parent page template).
Article Series Overview
This documentation series provides a comprehensive reference for Localist Developer Theming. Articles are organized from foundational concepts to specific variable references:
- Introduction to Localist Developer Theming (this article) — Overview of Liquid, key concepts, and global variables
-
Site Configuration and Global Objects — The
siteobject, platform-wide configuration, and authentication -
Events, Instances, and Related Objects — The
eventandinstanceobjects, event attributes, and event-related data - Places, Groups, Departments, and Channels — Location, organizational, and categorical objects
- Custom Liquid Tags Reference — Localist-specific tags for advanced functionality
- Custom Liquid Filters Reference — Localist-specific filters for data transformation
- Template Variable Reference — Complete variable inventory by template type
- Forms and User Management — User creation, login flows, and form handling
Related Articles
This article is part of an 8-part series on Localist developer theming: