Giraffe.Htmx
2.0.8
See the version list below for details.
dotnet add package Giraffe.Htmx --version 2.0.8
NuGet\Install-Package Giraffe.Htmx -Version 2.0.8
<PackageReference Include="Giraffe.Htmx" Version="2.0.8" />
<PackageVersion Include="Giraffe.Htmx" Version="2.0.8" />
<PackageReference Include="Giraffe.Htmx" />
paket add Giraffe.Htmx --version 2.0.8
#r "nuget: Giraffe.Htmx, 2.0.8"
#:package Giraffe.Htmx@2.0.8
#addin nuget:?package=Giraffe.Htmx&version=2.0.8
#tool nuget:?package=Giraffe.Htmx&version=2.0.8
Giraffe.Htmx
This package enables server-side support for htmx within Giraffe and ASP.NET's HttpContext.
htmx version: 2.0.8
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.8)
-
net8.0
- FSharp.Core (>= 6.0.0)
- Giraffe (>= 6.4.0)
- Giraffe.Htmx.Common (>= 2.0.8)
-
net9.0
- FSharp.Core (>= 6.0.0)
- Giraffe (>= 6.4.0)
- Giraffe.Htmx.Common (>= 2.0.8)
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-alpha6a | 84 | 1/7/2026 |
| 2.0.8 | 125 | 12/28/2025 |
| 2.0.6 | 262 | 7/3/2025 |
| 2.0.4 | 481 | 12/13/2024 |
| 2.0.3 | 300 | 10/18/2024 |
| 2.0.2 | 397 | 8/13/2024 |
| 2.0.1 | 242 | 7/29/2024 |
| 2.0.0 | 2,619 | 6/18/2024 |
| 2.0.0-beta4 | 221 | 5/23/2024 |
| 2.0.0-beta3 | 171 | 4/18/2024 |
| 2.0.0-beta1 | 197 | 3/19/2024 |
| 2.0.0-alpha2 | 219 | 2/12/2024 |
| 2.0.0-alpha1 | 203 | 1/31/2024 |
| 1.9.12 | 2,643 | 4/18/2024 |
| 1.9.11 | 2,300 | 3/19/2024 |
| 1.9.10 | 671 | 1/3/2024 |
| 1.9.8 | 503 | 11/22/2023 |
| 1.9.6 | 380 | 9/28/2023 |
| 1.9.5 | 282 | 8/25/2023 |
| 1.9.4 | 407 | 7/26/2023 |
| 1.9.3 | 276 | 7/15/2023 |
| 1.9.2 | 501 | 5/6/2023 |
| 1.9.0 | 338 | 4/14/2023 |
| 1.8.6 | 391 | 3/3/2023 |
| 1.8.5 | 4,123 | 1/18/2023 |
| 1.8.4 | 1,732 | 11/24/2022 |
| 1.8.0 | 2,575 | 7/14/2022 |
| 1.7.0 | 1,356 | 2/24/2022 |
| 1.6.1 | 444 | 1/7/2022 |
| 0.9.3 | 1,642 | 11/26/2021 |
| 0.9.2 | 495 | 11/11/2021 |
| 0.9.1 | 502 | 11/8/2021 |
- Adds package-provided script (available via Giraffe.Htmx.Common); use app.MapStaticAssets() for publish support, use builder.UseStaticWebAssets() for non-development/non-published execution
- [View Engine] Deprecates Script.minified and Script.unminified (use Script.cdnMinified and Script.cdnUnminified instead)
- Updates script tags to pull htmx 2.0.8 (no header or attribute changes)
- Adds .NET 10 support
See full release notes, including more info about the package-provided script, at https://git.bitbadger.solutions/bit-badger/Giraffe.Htmx/releases/tag/v2.0.8
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