Skip to content
We are improving our documentation experience.
CMS Development Tutorials
Search the docs for APIs, endpoints or guides.
Can't find what you're looking for? Ask in the community.
Endpoints
Articles
HubSpot's CMS is a powerful, flexible platform for creating HubSpot websites, including website pages, blogs, and lightweight apps. It features built-in security and reliability features, along with a globally distributed Content Delivery Network (CDN) that ensures fast page load times. When developing on the HubSpot CMS, you can use your preferred tools, technologies, and workflows, such as GitHub, while developing websites. Content creators can then create pages and publish content using drag and drop editors. And because the CMS is integrated with the CRM, you can create dynamic website experiences for your visitors based on the data you already have.
Before you begin
You'll need to do a few things before you start building:
1. Install the HubSpot CLI
Once you're ready to begin, open a terminal window and create or navigate to the directory where you want your local HubSpot files to live. This working directory is where the theme and its associated files will be placed. Next, runnpm install -g @hubspot/cli
to install the HubSpot CLI, which introduces anhs
command that allows you to easily interact with your HubSpot account.
2. Configure the local development tools
Run Once you've completed this simplehs init
to connect the tools to your HubSpot account. This command will walk you through the following steps:init
flow, you'll see a success message confirming that a configuration file,hubspot.config.yml, has been created in your current directory.
3. Create a theme
Runhs create website-theme my-website-theme
to create amy-website-theme
directory populated with files from theCMS theme boilerplate.
4. Upload your theme to HubSpot
Run Once this task has completed, you can view these files in the design manager of your HubSpot account. The design manager is an in-app code editor that displays the developer file system, and can be found by navigating toMarketing > Files and Templates > Design Toolsin the top navigation bar of your account.hs upload my-website-theme my-website-theme
to upload your new theme to amy-website-theme
folder in your HubSpot account.
5. Create a website page
To experience how content creators will use your templates and modules, create a website page using the theme you just uploaded.
6. Edit a CSS file
Run Reload your published page to see the CSS change reflected on your website.hs watch my-website-theme my-website-theme
. Whilewatch
is running, every time you save a file, it’ll be automatically uploaded. Open your theme's/css/components/_footer.css
file in your editor, make a change (such as updating the.footer__copyright
selector to havecolor: red;
), and save your changes. Your terminal will show that the saved file has been uploaded.
What's next?
You're encouraged to continue to explore and experiment with the boilerplate theme and the page-building experience. The sandbox account you created is yours to play around in and experiment with. You can checkout HubSpot's Inspire gallery to see websites, landing pages, and web apps built on HubSpot. You might also want to check out the following documentation:
Join the HubSpot CMS developer community
Learning is easier when you can learn from those who came before you. HubSpot is driven by itsCulture Code, embodied by the attributes in HEART:Humble,Empathetic,Adaptable,Remarkable, andTransparent. This culture extends to our ever-growing developer community, with thousands of brilliant and helpful developers around the world.
Developer Slack community
Join the Developer Slack to collaborate with 9,000+ developers and members of the HubSpot product team.
Developer forums
Ask questions, learn from fellow developers, and submit ideas in theCMS developer forums.
Share your feedback
This form is used for documentation feedback only. Learn how to get help with HubSpot.