Giraffe.ViewEngine.Htmx
2.0.0-beta1
See the version list below for details.
dotnet add package Giraffe.ViewEngine.Htmx --version 2.0.0-beta1
NuGet\Install-Package Giraffe.ViewEngine.Htmx -Version 2.0.0-beta1
<PackageReference Include="Giraffe.ViewEngine.Htmx" Version="2.0.0-beta1" />
paket add Giraffe.ViewEngine.Htmx --version 2.0.0-beta1
#r "nuget: Giraffe.ViewEngine.Htmx, 2.0.0-beta1"
// Install Giraffe.ViewEngine.Htmx as a Cake Addin #addin nuget:?package=Giraffe.ViewEngine.Htmx&version=2.0.0-beta1&prerelease // Install Giraffe.ViewEngine.Htmx as a Cake Tool #tool nuget:?package=Giraffe.ViewEngine.Htmx&version=2.0.0-beta1&prerelease
Giraffe.ViewEngine.Htmx
This package enables htmx support within the Giraffe view engine.
htmx version: 2.0.0-beta1
Note that this is a BETA release of htmx 2.0; see the migration guide for changes
Setup
- Install the package (must use
--Prelease
flag). - Prior to using the attribute or support modules,
open Giraffe.ViewEngine.Htmx
.
Use
Following Giraffe View Engine's lead, there are a set of attribute functions for htmx; for many of the attributes, there are also helper modules to assist with typing the values. The example below utilizes both:
let autoload =
div [ _hxGet "/this/data"; _hxTrigger HxTrigger.Load ] [ str "Loading..." ]
Support modules include:
HxEncoding
HxHeaders
HxParams
HxRequest
HxSwap
(requiresopen Giraffe.Htmx
)HxTrigger
HxVals
There are two XmlNode
s that will load the htmx script from unpkg; Htmx.Script.minified
loads the minified version, and Htmx.Script.unminified
loads the unminified version (useful for debugging).
This also supports fragment rendering, providing the flexibility to render an entire template, or only a portion of it (based on the element's id
attribute).
Learn
htmx's attributes and these attribute functions map one-to-one. There are two exceptions:
_hxBoost
impliestrue
; use_hxNoBoost
to set it tofalse
._hxSwapWithTransition
renders the standardhx-swap
attribute and appendstransition:true
to the specified swap value.
The htmx hx-on
attribute supports multiple events if they are separated with a newline (\n
) character. The value provided to this attribute will be attribute-escaped, but in testing, it was interpreted correctly.
The support modules contain named properties for known values (as illustrated with HxTrigger.Load
above). A few of the modules are more than collections of names, though:
HxRequest
has aConfigure
function, which takes a list of strings; the other functions in the module allow for configuring the request.
HxRequest.Configure [ HxRequest.Timeout 500 ] |> _hxRequest
HxTrigger
is (by far) the most complex of these modules. Most uses won't need that complexity; however, complex triggers can be defined by piping into or composing with other functions. For example, to define an event that responds to a shift-click anywhere on the document, with a delay of 3 seconds before firing:
HxTrigger.Click
|> HxTrigger.Filter.Shift
|> HxTrigger.FromDocument
|> HxTrigger.Delay "3s"
|> _hxTrigger
// or
(HxTrigger.Filter.Shift >> HxTrigger.FromDocument >> HxTrigger.Delay "3s") HxTrigger.Click
|> _hxTrigger
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
-
net6.0
- FSharp.Core (>= 6.0.0)
- Giraffe.Htmx.Common (>= 2.0.0-beta1)
- Giraffe.ViewEngine (>= 1.4.0)
-
net7.0
- FSharp.Core (>= 6.0.0)
- Giraffe.Htmx.Common (>= 2.0.0-beta1)
- Giraffe.ViewEngine (>= 1.4.0)
-
net8.0
- FSharp.Core (>= 6.0.0)
- Giraffe.Htmx.Common (>= 2.0.0-beta1)
- Giraffe.ViewEngine (>= 1.4.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 |
---|---|---|
2.0.4 | 103 | 12/13/2024 |
2.0.3 | 207 | 10/18/2024 |
2.0.2 | 377 | 8/13/2024 |
2.0.1 | 75 | 7/29/2024 |
2.0.0 | 810 | 6/18/2024 |
2.0.0-beta4 | 131 | 5/23/2024 |
2.0.0-beta3 | 110 | 4/18/2024 |
2.0.0-beta1 | 111 | 3/19/2024 |
2.0.0-alpha2 | 123 | 2/12/2024 |
2.0.0-alpha1 | 108 | 1/31/2024 |
1.9.12 | 1,690 | 4/18/2024 |
1.9.11 | 1,283 | 3/19/2024 |
1.9.10 | 579 | 1/3/2024 |
1.9.8 | 384 | 11/22/2023 |
1.9.6 | 236 | 9/28/2023 |
1.9.5 | 319 | 8/25/2023 |
1.9.4 | 287 | 7/26/2023 |
1.9.3 | 199 | 7/15/2023 |
1.9.2 | 406 | 5/6/2023 |
1.9.0 | 236 | 4/14/2023 |
1.8.6 | 271 | 3/3/2023 |
1.8.5 | 3,980 | 1/18/2023 |
1.8.4 | 1,571 | 11/24/2022 |
1.8.0 | 2,439 | 7/14/2022 |
1.7.0 | 1,249 | 2/24/2022 |
1.6.1 | 306 | 1/7/2022 |
0.9.2 | 408 | 11/11/2021 |
0.9.1 | 325 | 11/8/2021 |
Update script tags to pull htmx 2.0.0-beta1