Giraffe.Htmx
2.0.10
See the version list below for details.
dotnet add package Giraffe.Htmx --version 2.0.10
NuGet\Install-Package Giraffe.Htmx -Version 2.0.10
<PackageReference Include="Giraffe.Htmx" Version="2.0.10" />
<PackageVersion Include="Giraffe.Htmx" Version="2.0.10" />
<PackageReference Include="Giraffe.Htmx" />
paket add Giraffe.Htmx --version 2.0.10
#r "nuget: Giraffe.Htmx, 2.0.10"
#:package Giraffe.Htmx@2.0.10
#addin nuget:?package=Giraffe.Htmx&version=2.0.10
#tool nuget:?package=Giraffe.Htmx&version=2.0.10
Giraffe.Htmx
This package enables server-side support for htmx within Giraffe and ASP.NET's HttpContext.
htmx version: 2.0.10
Upgrading from v1.x: the migration guide does not currently specify any request or response header changes. This means that there are no required code changes in moving from v1.* to v2.*.
Setup
- Install the package.
- Prior to using the request header extension properties or the header-setting
HttpHandlers,open Giraffe.Htmx.
Use
To obtain a request header, using the IHeaderDictionary extension properties:
let myHandler : HttpHander =
fun next ctx ->
match ctx.HxPrompt with
| Some prompt -> ... // do something with the text the user provided
| None -> ... // no text provided
To set a response header:
let myHandler : HttpHander =
fun next ctx ->
// some meaningful work
withHxPushUrl "/some/new/url" >=> [other handlers]
The HxSwap module has constants to use for the HX-Reswap header. These may be extended with settle, show, and other qualifiers; see the htmx documentation for the hx-swap attribute for more information.
To load the package-provided htmx library without using Giraffe.ViewEngine, use HtmxScript.local.
Learn
The naming conventions of this library were selected to mirror those provided by htmx. The header properties become Hx* on the ctx.Request.Headers object, and the response handlers are withHx* based on the header being set. The only part that does not line up is withHxTrigger* and withHxTriggerMany; the former set work with a single string (to trigger a single event with no arguments), while the latter set supports both arguments and multiple events.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FSharp.Core (>= 6.0.0)
- Giraffe (>= 6.4.0)
- Giraffe.Htmx.Common (>= 2.0.10)
-
net8.0
- FSharp.Core (>= 6.0.0)
- Giraffe (>= 6.4.0)
- Giraffe.Htmx.Common (>= 2.0.10)
-
net9.0
- FSharp.Core (>= 6.0.0)
- Giraffe (>= 6.4.0)
- Giraffe.Htmx.Common (>= 2.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.0 | 123 | 9/1/2026 |
| 4.0.0-beta5 | 117 | 6/30/2026 |
| 4.0.0-beta4 | 116 | 6/15/2026 |
| 4.0.0-alpha8 | 122 | 3/22/2026 |
| 4.0.0-alpha6a | 144 | 1/7/2026 |
| 2.0.10 | 257 | 7/3/2026 |
| 2.0.8 | 651 | 12/28/2025 |
| 2.0.6 | 318 | 7/3/2025 |
| 2.0.4 | 1,084 | 12/13/2024 |
| 2.0.3 | 347 | 10/18/2024 |
| 2.0.2 | 449 | 8/13/2024 |
| 2.0.1 | 295 | 7/29/2024 |
| 2.0.0 | 4,747 | 6/18/2024 |
| 2.0.0-beta4 | 262 | 5/23/2024 |
| 2.0.0-beta3 | 215 | 4/18/2024 |
| 2.0.0-beta1 | 248 | 3/19/2024 |
| 2.0.0-alpha2 | 263 | 2/12/2024 |
| 2.0.0-alpha1 | 244 | 1/31/2024 |
| 1.9.12 | 2,834 | 4/18/2024 |
| 1.9.11 | 2,429 | 3/19/2024 |
- Updates provided script and CDN links to serve htmx 2.0.10 (no header or attribute changes)
NOTE: As of 2.0.6, the CDN for htmx changed from unpkg.com to cdn.jsdelivr.net; sites with Content-Security-Policy headers will want to update their allowed script-src domains accordingly