Custom theme
Your own theme with the brand in the theme settings, a global header and footer and a set of modules for every type of page.
A custom theme, a module that doesn’t exist yet or dynamic pages from HubDB. We build it in HubL, with fields your marketing team fills in. For businesses and, white-label, for agencies.
Themes, modules and HubDB in HubL, with fields your team fills in.
Fixed price per job, up front · module, child theme or HubDB · excl. VAT
A HubSpot CMS developer builds the parts of a HubSpot website you can’t make with a few clicks in the editor: themes, custom modules, templates and dynamic pages. Sharp Creations does this from Julianadorp, the Netherlands, in HubL, with the HubSpot CLI and Git. We build for businesses that want to extend their HubSpot site and, white-label, for agencies that need a developer. You get a fixed price per job up front, after your brief: we price a single module, a child theme or a HubDB integration per piece. Looking for a complete site with a custom theme? See having a HubSpot website built.
Your own theme with the brand in the theme settings, a global header and footer and a set of modules for every type of page.
Adapting a Marketplace theme through a child theme, so updates from its maker don’t overwrite your changes.
Modules that don’t exist yet: pricing tables, comparison tools, tabs, maps or an FAQ with FAQPage schema.
Jobs, locations or products in a table, with an overview and a page of its own for every row.
Blog overview, article page, authors and tags, with filters and clean metadata.
Language variants with correct hreflang, and gated pages for clients or members where your licence allows it.
A custom module consists of fields (fields.json) and a template in HubL (module.html). This is a shortened version of a card module as we build them:
[
{ "name": "heading", "label": "Heading", "type": "text", "default": "Why clients choose us" },
{ "name": "body", "label": "Text", "type": "richtext" },
{ "name": "button", "label": "Button", "type": "link" },
{ "name": "button_text", "label": "Button text", "type": "text", "default": "Request a quote" }
]
{# module.html #}
<div class="card">
<h3>{{ module.heading }}</h3>
{{ module.body }}
{% if module.button.url.href %}
<a class="button" href="{{ module.button.url.href }}">{{ module.button_text }}</a>
{% endif %}
</div>
In the editor the marketer only sees Heading, Text, Button and Button text. The styling comes from the theme, so every new page looks like the rest. If someone leaves the button empty, it disappears instead of showing an empty button.
The design can come from you (Figma or Adobe XD), or we create it based on your brand.
For businesses already on HubSpot that want more from their site: a new feature, a cleaned-up theme or a complete new site. For a new site, see having a HubSpot website built; for a move, see migrating to HubSpot CMS.
For agencies we build the same under your name. We don’t approach your clients and our name appears nowhere in the code. How that works and what it costs is on white-label HubSpot development and the rates for agencies.
Our work is there to see: nine HubSpot websites are listed by name on our cases page.
Question not listed? Just ask, one of the four of us will answer.
Ask your questionSend a design, an example or a few sentences. You get a fixed price or focused questions within one working day.