Hugo is an open-source static site generator written in Go, known for its fast build times and ease of use. It generates HTML pages from markdown content and can be used to build websites, blogs, and other web content. Hugo works seamlessly with Hygraph, a headless CMS, allowing you to fetch content via Hygraph's GraphQL API and display it on your static site. This integration enables you to manage content centrally in Hygraph and render it dynamically in Hugo using Go's templating language. (Learn more)
How do I install Hugo on my computer?
Hugo can be installed on macOS, Windows, and Linux using package managers. For macOS and Linux, use Homebrew with brew install hugo. For Windows, use Chocolatey (choco install hugo) or Scoop (scoop install hugo). After installation, verify with hugo version in your terminal. (See official docs)
How do I create and structure a Hugo site?
After installing Hugo, create a new site with hugo new site <site-name> -f yml. Hugo's folder structure includes directories like archetypes, assets, content, data, layouts, public, static, themes, and a config file (config.yml or config.toml). This structure separates content from presentation, making management and customization easier. (See details)
How do I install and configure a theme in Hugo?
Hugo supports hundreds of themes. To install a theme like PaperMod, clone its repository into your themes folder using git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1. Configure the theme by adding its name to your config file (theme = 'PaperMod'). You can further customize parameters and menus in config.yml or config.toml. (Theme docs)
How do I fetch content from Hygraph into my Hugo site?
To fetch content from Hygraph, use Hugo's resources.GetRemote function to send a POST request to your Hygraph GraphQL API endpoint. You can specify headers and a GraphQL query in the request body. The returned data can be processed and rendered in your Hugo templates, allowing you to display dynamic content managed in Hygraph. (Learn more about GraphQL API)
How do I keep my Hugo site updated when content changes in Hygraph?
To ensure your Hugo site updates when you publish or unpublish content in Hygraph, set up a deployment webhook. Deploy your Hugo site to a platform like Vercel, create a deploy hook, and configure a webhook in Hygraph to trigger a rebuild whenever content changes. This keeps your static site in sync with your CMS. (Webhook guide)
Features & Capabilities
What are the key features of Hygraph?
Hygraph offers a GraphQL-native Headless CMS with features such as Smart Edge Cache for fast content delivery, Content Federation to integrate data from multiple sources, advanced Rich Text management, custom roles for granular access control, project backups, and robust APIs. It supports seamless integration with eCommerce, localization, and other systems, and is SOC 2 Type 2, ISO 27001, and GDPR compliant. (Product details)
Does Hygraph provide APIs for integration?
Yes, Hygraph provides GraphQL Content API, GraphQL Management API, and Public API for querying and managing content. It also supports REST APIs for connecting with external systems. These APIs enable developers to integrate Hygraph with various platforms and workflows. (API documentation)
What integrations does Hygraph support?
Hygraph supports integrations with digital asset management (Aprimo, AWS S3, Bynder, Cloudinary, Mux, Scaleflex Filerobot), hosting and deployment (Netlify, Vercel), eCommerce (BigCommerce, commercetools, Shopify), localization (Lokalise, Crowdin, EasyTranslate, Smartling), personalization (Ninetailed), AI (AltText.ai), and more. (Integrations documentation)
What technical documentation is available for Hygraph?
Hygraph provides comprehensive documentation, including guides, API references, content workflow configuration, webhook usage, and interactive API playgrounds. These resources support both technical and non-technical users in implementing and troubleshooting Hygraph. (Documentation)
Use Cases & Benefits
Who can benefit from using Hygraph?
Hygraph is designed for developers, IT decision-makers, content creators, project managers, agencies, and technology partners. It is valuable for modern software companies, enterprises seeking to modernize, brands scaling across geographies, and organizations re-platforming from legacy solutions. (Case studies)
What business impact can I expect from using Hygraph?
Customers report significant business impacts, including up to 3X faster time-to-market (Komax), 20% increase in website monetization (AutoWeb), 15% higher customer engagement (Samsung), 7X higher content velocity, 125% traffic growth, and scalability across 40+ global markets. (Customer stories)
What industries are represented in Hygraph's case studies?
Hygraph's case studies span industries such as eCommerce, automotive, healthcare, consumer electronics, media and publishing, food and beverage, travel and hospitality, engineering, government, and SaaS. (Explore case studies)
Can you share specific customer success stories using Hygraph?
Yes. Komax achieved 3X faster time to market and managed 20,000+ product variations across 40+ markets. Samsung saw a 15% increase in customer engagement. Dr. Oetker improved global consistency with MACH architecture. Sennheiser increased e-commerce conversions by 136.7% in 4 months. Stobag boosted online revenue share from 15% to 70%. (Read more)
Ease of Use & Implementation
How easy is it to get started with Hygraph?
Hygraph is recognized as the #1 easiest to implement headless CMS. Customers can start building for free with a developer account, and enterprise users can request a demo. The onboarding process includes introduction calls, account provisioning, business and technical kickoffs, and content schema planning. Non-technical users find the UI intuitive and logical, while developers benefit from a free API playground. (Try Hygraph)
How long does it take to implement Hygraph?
Implementation is fast. For example, Top Villas launched a new project with Hygraph in just 2 months from initial touchpoint to launch. Si Vale met aggressive deadlines with a smooth initial implementation phase. (Top Villas Case Study)
What feedback have customers given about Hygraph's ease of use?
Customers praise Hygraph's intuitive editor UI, logical workflows, and accessibility for non-technical users. The platform is described as super easy to set up and use, with streamlined collaboration between content editors and developers. Customization features are highly rated, and most reviews express positive sentiments about user-friendliness. (Customer feedback)
Support & Training
What customer support is available after purchasing Hygraph?
Hygraph provides 24/7 support via chat, email, and phone. Enterprise customers benefit from SLAs with critical issue resolution in less than an hour, structured onboarding, a dedicated Customer Success Manager, and access to extensive documentation, community Slack channel, Intercom chat, and training resources. (Support details)
What training and technical support does Hygraph offer?
Hygraph offers onboarding support (introduction call, account provisioning, business/technical/content kickoffs), comprehensive documentation, regular technical training sessions, webinars, live streams, hands-on guidance, and consultation on content strategy, localization, and migrations. Technical support is available 24/7, with community Slack and Intercom chat for real-time help. (Training resources)
How does Hygraph handle maintenance, upgrades, and troubleshooting?
Hygraph's cloud-based infrastructure handles all maintenance tasks, including server updates, security patches, and performance optimizations. Upgrades are automatic, ensuring access to the latest features. Troubleshooting is supported by audit logs, monitoring, performance reporting, and 24/7 support. Enterprise SLAs guarantee rapid resolution for critical issues. (Maintenance details)
Security & Compliance
What security and compliance certifications does Hygraph have?
Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified, and GDPR compliant. These certifications ensure robust data protection and adherence to industry standards. (Security features)
How does Hygraph ensure data security and compliance?
Hygraph provides granular permissions, audit logs, encryption at rest and in transit, SSO integrations, automatic backups, and one-click recovery. Enterprise-grade compliance is supported with dedicated hosting, custom SLAs, IT security reviews, and penetration testing. Security incidents can be reported, and a public security report is available. (Security report)
Performance & Reliability
What should I know about Hygraph's product performance?
Hygraph leverages state-of-the-art caching and robust edge services for low latency and high read-throughput. Endpoints are deployed close to users worldwide, ensuring rapid content delivery and improved user experience. Customers have seen 7X higher content velocity, 125% traffic growth, and support for 40+ global markets. (Performance details)
Customer Proof & Sample Customers
Who are some of Hygraph's customers?
Hygraph is trusted by leading brands such as Sennheiser, HolidayCheck, Ancestry, JDE, Dr. Oetker, Ashley Furniture, Lindex, Hairhouse, Komax, Shure, Stobag, Burrow, G2I, Epic Games, Bandai Namco, Gamescom, Leo Vegas, Codecentric, Voi, and Clayton Homes. (See customer stories)
Pain Points & Solutions
What problems does Hygraph solve for its customers?
Hygraph addresses operational inefficiencies (removing developer bottlenecks, improving workflows), financial challenges (reducing costs, accelerating speed-to-market), and technical issues (simplifying schema evolution, cache management, and integration with multiple endpoints). It helps unify APIs, improve editorial autonomy, and scale content operations. (Content Federation)
What pain points do Hygraph customers commonly express?
Customers often face bottlenecks due to developer-dependent content updates, outdated legacy tech stacks, high operational costs, slow speed-to-market, limited integration capabilities, and technical challenges with evolving schemas and cache management. Hygraph provides solutions to streamline operations and reduce these pains. (GraphQL Survey)
Let's learn how to build a static site with Hugo, covering everything from installation to publishing your site.
Written by Joel
on Mar 03, 2023
Developers are constantly looking for new, more efficient ways to create websites. You want to build websites at a blazing-fast speed that pulls content quickly. This is why static websites exist. Static websites are popular due to their simplicity, security, and scalability.
In this article, you will learn what a static website means and how it differs from dynamic websites. You will also learn how to build a static site with Hugo, covering everything from installation to publishing your site. Finally, in this article, you will learn how to fetch data from external sources like a GraphQL API into your static site to add interactivity.
Here is a live link to test the example static site you will learn how to build in this guide.
A static site is a website built with pages of static content or plain HTML, JavaScript, or CSS code. Its content is served to the user exactly as stored, without being dynamically generated and served to the user via a web server, without any server-side processing or database interaction.
Static websites offer little interactivity as they aim to show the same content to all users. This content can be pre-rendered, leading to fast performance and lightweight overhead in simple use cases. Simple static sites are a good option for sites where the content stays mostly the same and when the sites are simple.
When you need to implement some logical use cases, you can use Static Site Generators (SSGs), which gives teams more power and flexibility with their project. SSG has several advantages like fast loading times and no server-side processing when compared to Single Page Applications (SPA) and Server-side Rendered Apps (SSR)
Hugo is an open-source static site generator written in Go. It generates HTML pages from source content written in markdown and can be used to build websites, blogs, and other types of web content. Hugo is fast, flexible, and easy to use, making it a popular choice for building static websites.
Hugo is our top SSG pick, along with Jekyll and Next.js, which works perfectly with any Headless CMS like Hygraph to pull content rendered in HTML. It is known for its fast build times, ease of use, and large library of customizable themes. You can quickly create and launch a fully-functional website using Hugo without complex back-end systems. Whether you're a beginner or an experienced developer, Hugo offers a flexible and efficient solution for building a static site.
Hugo can be installed on all devices, such as macOs, windows, and Linux, in multiple ways as laid out in the documentation with a package manager.
How to install Hugo on macOS and Linux
Installing Hugo on macOS and Linux is straightforward, as you can use the Homebrew package manager. If you don’t already have Homebrew installed, you can install it by running the command below in the terminal:
Once Homebrew has been installed successfully, you can run the following command in your terminal to install Hugo:
brew install hugo
How to install Hugo on Windows
Installing Hugo on windows is quite complex, as you’d need to install the Chocolatey or Scoop package managers. You can check out the Chocolatey and Scoop documentation for better instructions on how to install them.
Once you are done installing either Chocolatey or Scoop, you can install Hugo using one of the following commands depending on your installed package manager:
choco install hugo-extended -confirm
scoop install hugo-extended
How to verify that Hugo is installed correctly
At this point, you have successfully installed Hugo but may want to confirm if it has been installed, or you may want to confirm the installed version. You can verify by running the following command in your terminal:
hugo version
This command should output information regarding the currently installed version of Hugo, as seen below:
hugo v0.85.0+extended darwin/arm64 BuildDate=unknown
You now have Hugo installed on your computer locally. The next step would be to create a Hugo site for you to start work. This is quite easy to do, as all you have to do is make use of the following command in your terminal:
hugo new site <hugo-site-name> -f yml
By default, if you create a project without the -f yml flag and option, your config file will be a toml file which may not be easy to edit.
Ensure you replace <hugo-site-name> with the name of your site, such as “hugo-portfolio-site”. A new site will be created within a few seconds with instructions on your terminal.
You can now navigate to the new project directory to access its files using cd <project-name> to change the directory. Once that is done, you can open your project in your preferred IDE. For me, I will use VSCode via the command code ..
Understanding the Hugo folder directory
Hugo's specific file structure makes it easy to organize content and manage the website. The folder structure will look like this:
hugo-portfolio-site/
├── archetypes/
│ └── default.md
├── assets/
├── content/
├── data/
├── layouts/
├── public/
├── static/
├── themes/
└── config.yml
Following this structure, Hugo makes creating, managing, and maintaining a website easy. The content and presentation are separated, making it simple to change the look and feel of the site without affecting the content. The main components of a Hugo site are:
Archetypes
This is used to define the default templates for new content files, making it easier to create new content. You can have different content formats in this folder, but by default, there is one for posts with the file name defualt.md. This means when you want to create a new posts markdown file, you can use the following command, and a new file will be created and pre-populated with the specified front matter.
hugo new posts/my-first-post.md
If you prefer to pre-populate your generated Markdown files, you can adjust the file to contain more front matter.
Assets
The "assets" folder in Hugo refers to the directory where you can store static assets such as images, stylesheets, scripts, and other files used by your website. These files are then processed and copied to the final public directory during the build process.
By organizing your assets in an "assets" folder, you can keep your project structure organized and separate your assets from your content and templates. This can also make it easier to manage and update your assets in the future. Overall, the "assets" folder in Hugo is an important part of the build process and is used to manage and optimize the static assets used by your website.
Content
The “content” folder is where all the markdown files, images, and other media files are stored. It refers to the directory where you store your site's content, such as blog posts, pages, and other pieces of content that will be displayed on your website. This folder is an essential part of the Hugo build process, where you'll spend most of your time creating and editing your site's content.
In Hugo, the content in the "content" folder is processed and transformed into HTML pages during the build process. The resulting HTML pages are then stored in the public directory, which is the directory that will be served to your site's visitors.
Data
The "data" folder in Hugo refers to the directory where you store data files that are used to populate your site's templates. This data can include site configuration, author information, product details, and any other data that needs to be referenced in your templates. Using data files, you can keep your data organized and separate from your content and templates, making it easier to manage and maintain your site.
Layouts
This is where the HTML templates that define how the content is presented on the site are stored. These templates define the HTML generated for each page on your site and determine how your content will be displayed to your visitors. These templates include your homepage, taxonomy templates, partials, single-page templates, and more. When you use a theme, you may not need to create a template except edit the theme.
Public
The "public" folder in Hugo refers to the directory where the static files that make up your website are generated and stored. This folder contains the HTML, CSS, JavaScript, images, and other files that make up your site, and it is the directory that will be served to your visitors when they visit your site.
The "public" folder is generated every time you run the Hugo build process and is overwritten each time you make changes to your site's content, data, or templates.
Static
The "static" folder refers to the directory where you store static assets that Hugo does not process during the build process. This folder stores files such as images, JavaScript, CSS, and other files that do not need to be processed or modified in any way by Hugo.
You can reference files in your templates' "static" folder in Hugo using the {{.Site.BaseURL }} variable and the file path, for example, {{.Site.BaseURL }}/images/logo.png}}. This allows you to include static assets in your site's templates, making it easy to include images, scripts, and other files.
Themes
The "themes" folder in Hugo refers to the directory where you store custom or pre-made themes that define the look and feel of your website. A theme in Hugo is a collection of templates, styles, and assets that determine the design of your site.
The "themes" folder allows you to store multiple themes that you can easily switch between without affecting your site’s content and data. You can maintain a clean and organized project structure by keeping your themes in a separate directory.
Config
The config.yml or config.toml file in Hugo is the main configuration file for your Hugo project. This file contains the settings and options that define the behaviour of your site, including the title, base URL, theme, content and data directories, and other important settings. Depending on the theme, you can also configure more options. All these options are well documented in the theme’s documentation.
Hugo has hundreds of official and community-created themes available on their official website. These themes range from simple and minimalist designs to complex and feature-rich themes with advanced features and customization options. Constantly new themes are added, and existing themes are updated.
For this guide, you will use the PaperMod theme, a fast, clean and responsive theme with many features. There are two major ways to install this theme. You can first decide to download the theme and copy it into your themes folder, or you can use your terminal by cloning the GitHub repository into your themes folder using the command below.
You can learn more about the installation here. When you have successfully installed the theme, you will notice a new folder with the theme name (PaperMod) in the themes folder of your project. The next step would be to configure the theme.
To configure your theme in Hugo, you will add the theme name to the config.toml or config.yml file in your Hugo site.
baseURL = 'http://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
theme = 'PaperMod'
By default, you will notice the three configurations for baseURL, languageCode and site title. You can edit them based on what you want, but you can now remove the baseURL pending when you deploy your website. At this point, you can now test your site to see if it reflects the installed theme by running the following command:
hugo server
This will serve your site locally, which you can now access at http://localhost:1313/:
Adding content to Hugo is quite easy as all you have to do is populate the content folder with markdown contents, and they will immediately appear on your website. The PaperMod theme is built to display the recent blog posts on the home page, as there is no direct index page (later in this article, you will create the index/home page). There is also a blog page that shows a list of all posts.
There are two standard ways to add content to your Hugo site. You either add the content manually by creating a posts folder and then creating markdown files in the posts folder or using the terminal. For this guide, let us use the terminal by running the following command.
The PaperMod theme has some parameters you can configure to make your website attractive, easy to navigate and hold more information. For example, you will love to enable some home parameters to display information about you with some of your social links. You will also want to add some navigation links to make it easier for users to navigate your website.
All these and more can be configured in the config.yml or config.toml file. Below is an example of the config used for the demo project. If you paste this into your config.yml file (because this is in yml format), you will get a similar result as the picture above. You can then edit the title, homeInfoParams data’s and set up your preferred menu items with the path or external links.
baseURL:''
languageCode: en-us
title: Joel's Portfolio
theme: PaperMod
params:
homeInfoParams:
Title:"Hey, I’m Joel \U0001F44B"
Content: I am a Front-end Engineer & Technical Writer. I enjoy creating interactive solutions with JavaScript. On my blog, I write about code (mostly JavaScript and React) and everything I learn. I’m actively exploring the world of web3 and blockchain technology.
For this article, you want the home page to hold only information about you and some of your projects which will be fetched from Hygraph. This means you must create an index page (home page) and customize it to work as you desire.
When making changes to the theme, it is best not to edit it directly because you may need to update the theme when there is an update. To customise a theme’s HTML or CSS files, you will have to re-create the same file with similar directly in your original project’s directory. This means if you want to edit a CSS file (main.css) in the assets folder of your theme, you will need to create the same file in your project’s assets folder with a similar file directory.
Asides from the index.html file, you will also notice that the _default/baseof.html file was also edited to add the font-awesome CDN to give access to font-awesome icons for the project. It is essential to know that the baseof.html is a template in Hugo that acts as the base template for all other templates in your Hugo theme. It defines your website's basic structure and layout, including the header, footer, and other common elements shared across all your site pages. You can read more about all files in the layout folder and what they do in the official documentation.
In the index.html file, you are first using templating to get the home info parameters declared in the config.yml file into the index.html file and then a projects section is created with a single card that is meant to display each project when you fetch them from Hygraph.
{{- define "main" }}
{{- $pages := union .RegularPages .Sections }}
{{- $paginator := .Paginate $pages }}
{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores soluta, incidunt sed non animi voluptates quo! Dolorum, atque. Rem soluta sunt similique labore officia, illo voluptatum alias quo tempora sequi!</p>
</div>
</div>
</div>
{{- end }}
When you run hugo server in your terminal, your project will look like this:
You have successfully installed a theme, customized the theme and added a home page. What’s left is to fetch content from an external API into your project. For this guide, I have created a content repository on Hygraph to hold all my project's titles, descriptions, and Live and GitHub links. This is what the schema of the Hygraph project’s content repository looks like:
You can create a similar or preferred content repository if you don’t want to use your data.
Hygraph is a headless content management platform that enables teams to distribute content to any channel. If this is your first time learning about Hygraph, establish a free-forever developer account. Hygraph offers you an API that you can use to fetch your content with GraphQL. Hugo is an SSG that works with HTML, CSS and JavaScript, but you can perform dynamic operations and pull dynamic data using Go's templating language.
Templating in Hugo
In Hugo, dynamic data can add dynamic content to your templates. Dynamic data can include information such as the date and time, the title and content of your pages, and information stored in data files or fetched from external APIs.
Hugo uses Go's templating language to render templates and dynamic data. In your templates, you can access dynamic data using placeholders, which are enclosed in double curly braces. For example, {{ .Title }} can be used to access the current page's title.
Using dynamic data in your templates, you can create dynamic and interactive websites that can be easily updated and maintained. Whether displaying the latest blog post, showing a list of products, or providing up-to-date information, dynamic data can help you create dynamic and engaging websites with Hugo.
How to fetch data from Hygraph with resources.GetRemote Hugo pipe
In Hugo, the "resources.GetRemote" function is part of the "resources" package and is used to fetch remote resources, such as images or other files, and create a "Resource" object that can be processed and manipulated within your Hugo templates.
The GetRemote function can take in two arguments, the first is compulsory, which is the URL you want to extract information from, while the second is an optional argument which can be options. For this guide, you will be fetching data from a GraphQL API, which means you need to send a POST request, specify the content type and create a GraphQL query in the body just like it’s done with the FetchAPI:
At this point, you have stored the options in a $option variable which would be added as the second argument for the GetRemote function:
{{ with resources.GetRemote "https://api-eu-west-2.hygraph.com/v2/cldhdnrg318on01taclc7ch48/master" $options }}
{{ with .Content }}
{{ with transform.Unmarshal .}}
{{ with .data.projects }}
{{range.}}
<!-- TEsting data -->
{{.title }}
{{ end }}
{{ end }}
{{end}}
{{end}}
{{end}}
In the above code, you are using the resources.GetRemote function to request a resource, then check if the content has been fetched before transforming it to readable data. You only output the title using {{ .title }} based on how the data identifier is named on Hygraph.
You can now wrap this around the product card to loop through and use the templates to add each data appropriately:
<divclass="projects-section">
<h2>Projects</h2>
<divclass="portfolio-projects">
{{ with resources.GetRemote "https://api-eu-west-2.hygraph.com/v2/cldhdnrg318on01taclc7ch48/master" $options }}
I have only few projects added. All the projects will be fetched into my Hugo site and displayed just like this:
So far, in this guide, you have learned how to build a static site with Hugo and customize the theme to work like an actual portfolio. The last step would be to implement interactivity. This is because by default Hugo caches the resources fetched using the resources.GetRemote function to improve the performance of your site.
Caching the resources helps reduce the time and bandwidth required to fetch the resources, improving your site's speed and responsiveness. Once a resource is fetched and processed using resources.GetRemote, it is stored in Hugo's cache, located in the resources directory at the root of your Hugo site. The next time the resource is needed, Hugo will check the cache before making another request to the remote server. If the resource is found in the cache, Hugo will use the cached version instead of making another request, which can significantly improve your site's performance.
But there is an issue with the caching. Suppose you update the data in your Hygraph content repository; it will not update because Hugo does not check the cached content to see if they match but will only check if such a request exists. To ensure your data updates when you refresh your static site, you can deploy your project to Vercel, create a webhook and configure it with Hygraph so that the project re-builds every time you publish/unpublish a project.
Deploy to Vercel with Hygraph webhooks
The first step would be to push your project to GitHub. Pushing a Hugo project that has a theme is quite logical as you need to create a .submodules file to hold details about the theme, as seen below:
Once this is done, you can create a GitHub project and push your project easily using the Git commands. On GitHub, your project will look like this:
You can now deploy your project to Vercel by importing from GitHub and then setting all the build commands alongside an environment variable of the “HUGO_VERSION” with the version as the value such as “0.110.0”.
Once you have successfully deployed your Hugo site, you can now setup/create a deployment hook with Vercel by navigating to the project Git settings, scroll to the "Deploy Hooks" section. You'll then specify the name of your hook, and the Git branch name you want to trigger a deployment.
Once you've configured your hook, create it, and copy the URL. The URL will be used as a webhook within your Hygraph project. In the project dashboard, click webhooks and then create a new webhook. Give your webhook a name, and paste your Vercel deploy hook URL inside the URL input. Also ensure you configure the Triggers with the content model and stage that should trigger a re-deploy.
At this point, you have successfully pulled content from Hygraph content management system into your Hugo site and also added interactivity, so your data is always up to date. It’s important o know that you can also build your Hugo site using the command below:
hugo
This will build your Hugo site and generate the HTML, CSS, and other files in the public directory. The generated files can then be deployed to a web server or hosting platform, such as GitHub Pages, Netlify, or AWS S3, to make your site accessible to the public. You can read more about hosting and deployment in Hugo in this documentation.
In this guide, you have learned what static sites mean and how you can use Hugo (one of the leading SSG) to build static sites and provide your team with a fast, reliable and easy-to-maintain website.
Hygraph is completely compatible with Hugo and other popular SSGs. To move forward with Hugo and static site generation, you need to familiarize yourself with Hugo's documentation and tutorials, experiment with different themes, use Hugo's built-in shortcodes, explore Hugo's add-ons, and many more.
By following these steps and continuing to learn about Hugo and static site generation, you can build a powerful and effective website that meets your needs and provides a great user experience. Find out more in our ebook about how Static Site Generators and Headless CMS work hand-in-hand.
Have fun coding and learning!
Blog Author
Joel Olawanle
Joel Olawanle is a Frontend Engineer and Technical writer based in Nigeria who is interested in making the web accessible to everyone by always looking for ways to give back to the tech community. He has a love for community building and open source.
Share with others
Sign up for our newsletter!
Be the first to know about releases and industry news and insights.