mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-04 19:57:37 +00:00
gitconfig: name/email from chezmoi data, gh credential helper by PATH lookup (portable to darwin). claude: no credentials, history, projects, sessions, or plugin caches. ssh config as private_ (0600). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
63 lines
1.4 KiB
Markdown
63 lines
1.4 KiB
Markdown
# Hugo
|
|
|
|
For Hugo static sites. Use a partial for the widget so it can be referenced from any layout or content file.
|
|
|
|
```html title="layouts/partials/turnstile.html"
|
|
<script
|
|
src="https://challenges.cloudflare.com/turnstile/v0/api.js"
|
|
async
|
|
defer
|
|
></script>
|
|
|
|
<form action="{{ .Site.Params.turnstileWorkerUrl }}/" method="POST">
|
|
<input name="email" type="email" required />
|
|
<div
|
|
class="cf-turnstile"
|
|
data-sitekey="{{ .Site.Params.turnstileSitekey }}"
|
|
data-action="turnstile-spin-v1"
|
|
></div>
|
|
<button type="submit">Subscribe</button>
|
|
</form>
|
|
```
|
|
|
|
Add the params to your site config:
|
|
|
|
```toml title="hugo.toml"
|
|
[params]
|
|
turnstileSitekey = "YOUR_SITEKEY"
|
|
turnstileWorkerUrl = "https://YOUR_WORKER_URL"
|
|
```
|
|
|
|
Reference the partial from any layout or content file:
|
|
|
|
```text
|
|
{{ partial "turnstile.html" . }}
|
|
```
|
|
|
|
## Variant: shortcode for content files
|
|
|
|
If you want to drop the widget into Markdown content (not just layouts), create a shortcode:
|
|
|
|
```html title="layouts/shortcodes/turnstile-form.html"
|
|
{{ partial "turnstile.html" . }}
|
|
```
|
|
|
|
Use in content:
|
|
|
|
```markdown title="content/contact.md"
|
|
---
|
|
title: Contact
|
|
---
|
|
|
|
Contact us:
|
|
|
|
{{< turnstile-form >}}
|
|
```
|
|
|
|
## Substitutions
|
|
|
|
| Placeholder | Replace with |
|
|
| ------------------ | ------------------------------------------- |
|
|
| `YOUR_WORKER_URL` | Deployed Worker URL from Step 5 |
|
|
| `YOUR_SITEKEY` | Widget site key from Step 4 |
|