/cms-theme-boilerplate

A straight-forward starting point for building a great website on the HubSpot CMS

Primary LanguageHTMLOtherNOASSERTION

HubSpot CMS Boilerplate

A straight-forward starting point for building a great website on the HubSpot CMS.

Documentation | Demo website | Contributing

Current version Latest commit Contributors GitHub watchers GitHub stars GitHub forks Website grader score Google Lighthouse performance score Google Lighthouse SEO score License

Purpose

The HubSpot CMS Boilerplate is designed to offer developers a head start in the website building process. While the boilerplate represents HubSpot's opinionated best practices, we intend to learn from similar projects and feedback. We hope it offers inspiration and utility for all website projects!

Follow and star the repository to stay up-to-date with product releases and evolving best practices for building websites on the HubSpot CMS.

Getting started

The HubSpot CMS Boilerplate is designed to work with both local development and the HubSpot Design Tools. Before getting started, you will need to have Node.js installed and we strongly suggest that you set up a HubSpot CMS Developer Sandbox.

To download the HubSpot CMS Boilerplate using the HubSpot CMS CLI:

  1. Navigate to the directory that you want to use for your project
  2. Run hs create website-theme <directory> to create a project from the HubSpot CMS Boilerplate
  3. Create a hubspot.config.yml file and configure the CLI so that you can upload files to the HubSpot portals that you want to use
  4. Run hs upload --portal=<portal> <src> <dest> to upload all of the files in the boilerplate.
  5. Run hs watch --portal=<portal> src <directory> to watch for changes to files in the src directory, and upload any that have saved changes.

Please reference our Quick start guide to developing on the HubSpot CMS and our Getting started with local development articles for more information.

To use version control in your project using GitHub and GitHub Actions:

  1. Fork the HubSpot CMS Boilerplate repository and clone your forked repository to your computer
  2. Set up GitHub secrets in your forked repository to encrypt sensitive information from showing publically for HUBSPOT_PORTAL_ID and HUBSPOT_PERSONAL_ACCESS_KEY
  3. Update the name of the directory that you'll be deploying to in your Design Manager in the .github/workflows/deploy.yml file (the current default dest_dir is cms-theme-boilerplate)
  4. Deploy changes to your Design Manager by pushing to the main branch of your forked repository

Please reference our HubSpot CMS deploy GitHub action page and Setting up continuous integration with a GitHub repository using GitHub Actions article for more information.

Style guide

For details about the HubSpot CMS Boilerplate's recommended best practices and code formatting, please reference our style guide.

Contributing

If you’re interested in contributing to the HubSpot CMS Boilerplate, please read CONTRIBUTING.md and STYLEGUIDE.md to see how you can report an issue, make a feature request, or make a pull request.

Versioning

Previous releases and their documentation are available for download. For transparency into future releases, we’ll be creating a project board that documents our planning for each upcoming version.

Community

You can stay up to date with HubSpot CMS Boilerplate updates and discussions in the #hs-cms-boilerplate channel in the HubSpot Developer Slack.

License

The code is available under the Apache License, Version 2.0