Shpadoinkle-html: A typed, template generated Html DSL, and helpers.

[ bsd3, library, web ] [ Propose Tags ]

Shpadoinkle Html is a typed template generated Html DSL building on types provided by Shpadoinkle Core. This exports a large namespace of terms covering most of the Html specifications. Some Elm API style helpers are present but as outlaw type classes.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0.0.1, 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.3.0.0, 0.3.0.1, 0.3.0.2
Change log CHANGELOG.md
Dependencies base (>=4.12.0 && <4.15), containers (>=0.6.0 && <0.7), ghcjs-dom (>=0.9.4 && <0.20), jsaddle (>=0.9.7 && <0.20), jsaddle-dom (>=0.9.3 && <0.20), Shpadoinkle (>=0.1 && <0.2), stm (>=2.5.0 && <2.6), template-haskell (>=2.14.0 && <2.17), text (>=1.2.3 && <1.3), unliftio (>=0.2.12 && <0.3) [details]
License BSD-3-Clause
Author Isaac Shapira
Maintainer fresheyeball@protonmail.com
Category Web
Source repo head: git clone https://gitlab.com/fresheyeball/Shpadoinkle.git
Uploaded by fresheyeball at 2020-05-10T17:30:51Z
Distributions
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 1106 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for Shpadoinkle-html-0.1.0.0

[back to package description]

Shpadoinkle Html

Goldwater BSD-3 built with nix Hackage Hackage Deps Hackage CI

This module provides named functions for generating Html, and other browser utilities.

For example, instead of writing

view = h "div" [ ("class", PText "foo") ]
  [ h "span" [] [ text "hi there" ] ]

we can write

view = div "foo" [ span_ [ "hi there" ] ]

which is a bit nicer, and eleminates the risk of typeos in tag names. It also provies some nice IsString instances for ergonomics.

Keyboard

This module provides pattern synonyms for common key codes. For example:

div [ onKeyup $ \case
    Enter -> fireLazors
    UpArrow -> jump
    DownArrow -> crouch
    LeftArrow -> move -1
    RightArrow -> move 1
  ]

which is a bit nicer, and harder to get wrong than using magic int's to identify keys.

Browser utilities

We provide high level apis to lower level browser apis. Including

  • Local Storage

I know it's just one right now. But this is the place to contribute more. Such as

  • Scroll Position
  • XHR Requests
  • Visibility API
  • Notifications
  • ect...