Giraffe.Htmx
4.0.0
dotnet add package Giraffe.Htmx --version 4.0.0
NuGet\Install-Package Giraffe.Htmx -Version 4.0.0
<PackageReference Include="Giraffe.Htmx" Version="4.0.0" />
<PackageVersion Include="Giraffe.Htmx" Version="4.0.0" />
<PackageReference Include="Giraffe.Htmx" />
paket add Giraffe.Htmx --version 4.0.0
#r "nuget: Giraffe.Htmx, 4.0.0"
#:package Giraffe.Htmx@4.0.0
#addin nuget:?package=Giraffe.Htmx&version=4.0.0
#tool nuget:?package=Giraffe.Htmx&version=4.0.0
Giraffe.Htmx
This package enables server-side support for htmx within Giraffe and ASP.NET's HttpContext.
htmx version: 4.0.0
Upgrading from v2.x: the migration guide lists changes for v4. For this package, the HX-Trigger and HX-Trigger-Name headers are marked obsolete. They are replaced by HX-Source, which provides the triggering tag name and id attribute. The HX-Prompt header has also been marked as obsolete, as the hx-prompt attribute which generated its content has been removed.
Obsolete elements will be removed in the first production v4 release.
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.Target with
| Some elt -> ... // do something with id of the target element
| None -> ... // no target element 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; to load the htmax bundle, use HtmxScript.localMax.
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 (>= 10.1.400)
- Giraffe (>= 8.3.0)
- Giraffe.Htmx.Common (>= 4.0.0)
-
net8.0
- FSharp.Core (>= 10.1.400)
- Giraffe (>= 8.3.0)
- Giraffe.Htmx.Common (>= 4.0.0)
-
net9.0
- FSharp.Core (>= 10.1.400)
- Giraffe (>= 8.3.0)
- Giraffe.Htmx.Common (>= 4.0.0)
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 | 119 | 9/1/2026 |
| 4.0.0-beta5 | 117 | 6/30/2026 |
| 4.0.0-beta4 | 114 | 6/15/2026 |
| 4.0.0-alpha8 | 122 | 3/22/2026 |
| 4.0.0-alpha6a | 143 | 1/7/2026 |
| 2.0.10 | 252 | 7/3/2026 |
| 2.0.8 | 651 | 12/28/2025 |
| 2.0.6 | 318 | 7/3/2025 |
| 2.0.4 | 1,081 | 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,739 | 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 | 262 | 2/12/2024 |
| 2.0.0-alpha1 | 244 | 1/31/2024 |
| 1.9.12 | 2,832 | 4/18/2024 |
| 1.9.11 | 2,429 | 3/19/2024 |
htmx 4.0.0 Initial Release
See package and prior alpha/beta release READMEs; v2 to v4 is not an update-and-forget-it release. If you encounter build errors after installing this, install v4.0.0-beta5 instead; obsolete elements will generate a warning with suggestions of what to use instead.