HubSpot CMS for Developers study materials
HubSpot CMS for Developers study resources

HubSpot CMS for Developers key terms

HubSpot CMS for Developers · Get comfortable with the vocabulary.

HubL

HubSpot's server-side templating language used inside CMS templates and modules. It renders dynamic content with tags written in curly braces and expressions in double curly braces, and it runs on the server before the page reaches the browser.

Related: HubL tag, Template, Module
HubL tag

A statement written in HubSpot's templating language using a single pair of curly braces, such as an if block, for loop, or include. Tags control logic and structure; they do not print values to the page on their own.

Related: HubL, HubL expression, Filter
HubL expression

A value printed to the page using double curly braces, such as a variable, function call, or filtered variable. Expressions output content; they do not control flow. They are the output half of the templating language.

Related: HubL tag, Filter, Variable
Filter

A pipe-applied modifier in a HubL expression that transforms a value before output, such as converting to lowercase, formatting a date, truncating text, or joining a list. Multiple filters can be chained left to right.

Related: HubL expression, Variable
Template

An HTML file with HubL markup that defines the layout of a page or email. Developers build templates in the Design Manager, and marketers create pages from them. Templates usually include modules and extend a base layout.

Related: Module, Layout, Design Manager
Module

A reusable, editable content component with fields that editors fill in. Modules can be local to a template, global across pages, or part of a theme. Each module has an HTML file and a fields definition.

Related: Module field, fields.json, Theme
Module field

A configurable input defined for a module, such as text, rich text, image, link, choice, or boolean. Field values are stored per instance and accessed in module HTML through the module object.

Related: Module, fields.json, Repeater field
fields.json

The JSON file that defines a module's editable fields, including names, types, defaults, labels, and grouping. HubSpot reads it to render the editor sidebar and to make field values available to the module template.

Related: Module field, Module, Repeater field
Repeater field

A module field type that holds an ordered group of subfields so editors can add, remove, and reorder repeated content such as cards or FAQ items. Looping over the repeater outputs each set.

Related: Module field, fields.json
Theme

A packaged set of templates, modules, styles, and configuration files that defines a site's design system. Themes are uploaded and versioned together, and they can be extended or overridden without editing core files.

Related: Module, Theme inheritance, Design Manager
Theme inheritance

The mechanism by which a child theme reuses and overrides a parent theme's templates, modules, and styles. It lets developers customize a base theme while preserving shared code and receiving upstream updates.

Related: Theme, Template
Design Manager

The HubSpot tool for browsing, creating, and editing templates, modules, themes, and stylesheets. It shows a file tree, a code editor, and a live preview, and it is the main workspace for CMS developers.

Related: Template, Module, Theme
Layout

A base template file that defines shared page structure like header, footer, and wrappers. Child templates extend it and fill named blocks, which reduces duplication across many page types.

Related: Template, Block
Block

A named placeholder in a layout or parent template that a child template fills with its own content. Blocks support defaults and inheritance, letting child templates override only the sections they need.

Related: Layout, Template
Include

A HubL tag that inserts another template file's rendered output into the current template. It is used to share snippets like headers or cards without copying markup between files.

Related: HubL tag, Template
Macro

A reusable function defined in HubL with parameters and a body, callable elsewhere in templates. Macros reduce repetition for formatting or markup logic and can be shared through imported files.

Related: HubL, Include
Variable

A named value stored in HubL using a set statement or supplied by HubSpot's context, such as page data or module fields. Variables can be printed, filtered, and passed into macros.

Related: HubL expression, Context object, Filter
Context object

A predefined data object available in templates, such as content, module, request, or site settings. It exposes page properties, field values, and environment data so templates can render dynamically.

Related: Variable, Module field
Content Hub

HubSpot's umbrella name for its content and CMS products, including website pages, blogs, and the developer tooling. It hosts the CMS where templates, themes, and modules are built and published.

Related: Design Manager, Theme
CMS Hub

The former name for HubSpot's content management product, now folded into Content Hub. Questions may use either name, but the underlying tools, templates, and hosting are the same.

Related: Content Hub, Design Manager
HubSpot CLI

A command-line tool for local CMS development. It authenticates to a portal, fetches and uploads themes and modules, watches files for changes, and supports local development servers for previewing work.

Related: Local development, Theme, Design Manager
Local development

The workflow of editing theme files on your machine with your own editor and syncing them to a HubSpot portal using the CLI. It supports version control and faster iteration than editing in the browser.

Related: HubSpot CLI, Theme
hs watch

A CLI command that monitors a local directory and uploads changed files to the portal automatically. It keeps the remote theme in sync during development so previews reflect edits quickly.

Related: HubSpot CLI, Local development
Sandbox

A separate HubSpot portal used for development and testing without touching production content. Developers build and validate templates and modules there, then deploy the finished theme to the live portal.

Related: HubSpot CLI, Theme
HubDB

A hosted relational-style table system inside HubSpot that stores structured content such as listings or catalogs. Templates query HubDB rows with HubL to render dynamic pages, and rows can drive dynamic page URLs.

Related: Dynamic pages, HubL
Dynamic pages

Pages generated from a data source, typically HubDB, where each row produces its own URL using a slug column. A single template renders all rows, which suits large catalogs and directories.

Related: HubDB, Template
Blog template

A template type that renders blog listings and individual posts. It uses blog-specific context objects and tags to output post content, author data, tags, and pagination across the blog.

Related: Context object, Template
Email template

A template type for marketing email, built with HubL and modules but subject to email-client constraints. It supports personalization tokens and must use table-based, inline-styled markup for reliable rendering.

Related: Template, Module
Personalization token

A placeholder that inserts contact or company property values into emails and pages, such as a first name. Tokens render per recipient or viewer and require a fallback for missing values.

Related: Email template, Context object
Site settings

Portal-level configuration for a domain, including global branding, favicon, header and footer code, and analytics. Templates read these values through context objects instead of hardcoding them.

Related: Context object, Theme
RequireJS

The module loader HubSpot uses to manage JavaScript dependencies on CMS pages. Templates can register scripts with HubSpot's require helpers so files load once and in dependency order.

Related: Template, Module
CSS and JS includes

HubSpot functions and tags that register stylesheets and scripts on a page, handling ordering and deduplication. They replace raw link and script tags so assets load reliably across templates and modules.

Related: RequireJS, Template
Serverless function

A JavaScript function hosted by HubSpot and triggered by HTTP requests, used for custom endpoints, secrets, and integrations. Functions run outside templates and can be called from page scripts.

Related: HubSpot CLI, API
CMS API

HubSpot's REST interface for programmatically managing site pages, blog posts, templates, and related content. It supports CRUD operations and is used for migrations, automation, and headless setups.

Related: API key, HubDB
Private app token

A scoped credential created in portal settings that authorizes API calls without a user login. Developers use it for CLI authentication and server-side integrations, granting only the scopes required.

Related: CMS API, HubSpot CLI
Module marketplace

A catalog of prebuilt modules and themes that developers can install into a portal. Installed assets add files to the Design Manager and can be customized like any other module or theme.

Related: Module, Theme
Drag and drop areas

Regions in a template where marketers can add, remove, and rearrange modules in the page editor. They make fixed templates flexible while keeping developers in control of available modules.

Related: Module, Template
Preview and debugging

The workflow of checking rendered output using preview modes, template errors, and browser tools. HubSpot surfaces HubL syntax errors and logs, and developers verify behavior across devices before publishing.

Related: Design Manager, Local development