Giraffe.ViewEngine.Htmx 1.8.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Giraffe.ViewEngine.Htmx --version 1.8.0
                    
NuGet\Install-Package Giraffe.ViewEngine.Htmx -Version 1.8.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Giraffe.ViewEngine.Htmx" Version="1.8.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Giraffe.ViewEngine.Htmx" Version="1.8.0" />
                    
Directory.Packages.props
<PackageReference Include="Giraffe.ViewEngine.Htmx" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Giraffe.ViewEngine.Htmx --version 1.8.0
                    
#r "nuget: Giraffe.ViewEngine.Htmx, 1.8.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Giraffe.ViewEngine.Htmx&version=1.8.0
                    
Install Giraffe.ViewEngine.Htmx as a Cake Addin
#tool nuget:?package=Giraffe.ViewEngine.Htmx&version=1.8.0
                    
Install Giraffe.ViewEngine.Htmx as a Cake Tool

Giraffe.ViewEngine.Htmx

This package enables htmx support within the Giraffe view engine.

htmx version: 1.8.0

Setup

  1. Install the package.
  2. 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 (requires open Giraffe.Htmx)
  • HxTrigger
  • HxVals

There are two XmlNodes 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).

Learn

htmx's attributes and these attribute functions map one-to-one. The lone exception is _hxBoost, which implies true; use _hxNoBoost to set it to false. 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 a Configure 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 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 was computed.  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 was computed.  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 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 274 12/13/2024
2.0.3 300 10/18/2024
2.0.2 398 8/13/2024
2.0.1 101 7/29/2024
2.0.0 1,279 6/18/2024
2.0.0-beta4 140 5/23/2024
2.0.0-beta3 116 4/18/2024
2.0.0-beta1 119 3/19/2024
2.0.0-alpha2 131 2/12/2024
2.0.0-alpha1 118 1/31/2024
1.9.12 2,294 4/18/2024
1.9.11 1,872 3/19/2024
1.9.10 605 1/3/2024
1.9.8 430 11/22/2023
1.9.6 248 9/28/2023
1.9.5 335 8/25/2023
1.9.4 300 7/26/2023
1.9.3 211 7/15/2023
1.9.2 425 5/6/2023
1.9.0 256 4/14/2023
1.8.6 289 3/3/2023
1.8.5 4,002 1/18/2023
1.8.4 1,599 11/24/2022
1.8.0 2,473 7/14/2022
1.7.0 1,287 2/24/2022
1.6.1 340 1/7/2022
0.9.2 445 11/11/2021
0.9.1 362 11/8/2021

Support new attributes/headers in htmx 1.8.0