Hugo Quick Start

Integrate RizzForms with a Hugo static site. Hugo generates plain HTML, so a standard form POST is all you need. No JavaScript, no build plugins, no server runtime.

Overview

Hugo sites are static HTML deployed to any hosting provider. RizzForms accepts standard HTML form submissions cross-origin, so integration is a single HTML form with your endpoint URL. Works on Netlify, Vercel, Cloudflare Pages, GitHub Pages, or any static host.

HTML Form

Add a contact form to any Hugo page or layout. Point the action to your RizzForms endpoint.

<!-- In any Hugo template or content file -->
<form action="https://forms.rizzness.com/f/YOUR_TOKEN" method="POST">
  <!-- Honeypot: hidden from users, catches bots -->
  <input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">

  <label for="name">Name</label>
  <input type="text" id="name" name="name" required>

  <label for="email">Email</label>
  <input type="email" id="email" name="email" required>

  <label for="message">Message</label>
  <textarea id="message" name="message"></textarea>

  <button type="submit">Send</button>
</form>

Using Site Params

Store your endpoint token in Hugo's site configuration so you can change it without editing templates. Add it to hugo.toml (or config.toml):

# hugo.toml
[params]
  rizzforms_token = "your_endpoint_token"

Then reference it in your templates with Hugo's template syntax:

<form action="https://forms.rizzness.com/f/{{ .Site.Params.rizzforms_token }}" method="POST">
  <input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">

  <label for="email">Email</label>
  <input type="email" id="email" name="email" required>

  <label for="message">Message</label>
  <textarea id="message" name="message"></textarea>

  <button type="submit">Send</button>
</form>

Reusable Partial

Create a reusable form partial at layouts/partials/rizzforms-contact.html so you can include it on any page:

<!-- layouts/partials/rizzforms-contact.html -->
<form action="https://forms.rizzness.com/f/{{ .Site.Params.rizzforms_token }}" method="POST">
  <input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">

  <label for="name">Name</label>
  <input type="text" id="name" name="name" required>

  <label for="email">Email</label>
  <input type="email" id="email" name="email" required>

  <label for="message">Message</label>
  <textarea id="message" name="message"></textarea>

  <button type="submit">Send</button>
</form>

Include it in any template:

{{ partial "rizzforms-contact.html" . }}