js-jquery: Obtain minified jQuery code

[ javascript, library, mit ] [ Propose Tags ]

This package bundles the minified jQuery code into a Haskell package, so it can be depended upon by Cabal packages. The first three components of the version number match the upstream jQuery version. The package is designed to meet the redistribution requirements of downstream users (e.g. Debian).


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.12.2, 1.12.3, 1.12.4, 3.0.0, 3.1.0, 3.1.1, 3.2.1, 3.3.1
Change log CHANGES.txt
Dependencies base (>=4 && <5) [details]
License MIT
Copyright Neil Mitchell 2014-2018
Author Neil Mitchell <ndmitchell@gmail.com>
Maintainer Neil Mitchell <ndmitchell@gmail.com>
Category Javascript
Home page https://github.com/ndmitchell/js-jquery#readme
Bug tracker https://github.com/ndmitchell/js-jquery/issues
Source repo head: git clone https://github.com/ndmitchell/js-jquery.git
Uploaded by NeilMitchell at 2018-01-21T17:41:33Z
Distributions Arch:3.3.1, Debian:3.3.1, Fedora:3.3.1, FreeBSD:1.11.3, LTSHaskell:3.3.1, NixOS:3.3.1, Stackage:3.3.1
Reverse Dependencies 9 direct, 3658 indirect [details]
Downloads 49980 total (209 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-21 [all 1 reports]

Readme for js-jquery-3.3.1

[back to package description]

js-jquery Hackage version Build Status

This package bundles the minified jQuery code into a Haskell package, so it can be depended upon by Cabal packages. The first three components of the version number match the upstream jQuery version. The package is designed to meet the redistribution requirements of downstream users (e.g. Debian). As an example:

import qualified Language.Javascript.JQuery as JQuery

main = do
    putStrLn $ "jQuery version " ++ show JQuery.version ++ " source:"
    putStrLn =<< readFile =<< JQuery.file

This package installs data files containing the jQuery sources, which must be available at runtime. If you want to produce an executable with no dependency on associated data files, you can use the file-embed library:

{-# LANGUAGE TemplateHaskell #-}

import Data.FileEmbed
import qualified Data.ByteString as BS
import qualified Language.Javascript.JQuery as JQuery
import Language.Haskell.TH.Syntax

main = print jQueryContents

jQueryContents :: BS.ByteString
jQueryContents = $(embedFile =<< runIO JQuery.file)

Or, within the Yesod framework, yesod-static:

{-# LANGUAGE TemplateHaskell, QuasiQuotes, TypeFamilies #-}

import Yesod
import Yesod.EmbeddedStatic
import qualified Language.Javascript.JQuery as JQuery

data MySite = MySite {
    ...
    , getStatic :: EmbeddedStatic
    ...
    }

-- Create a Route `jquery_js` to a statically-serveable version of the local jQuery lib.
mkEmbeddedStatic False "myStatic" . pure . embedFileAt "jquery.js" =<< runIO JQuery.file

mkYesod "PresentationServer" [parseRoutes|
/ HomeR Get
...
/static StaticR EmbeddedStatic getStatic
|]
instance Yesod PresentationServer where
  addStaticContent = embedStaticContent getStatic StaticR Right

getHomeR :: Handler Html
getHomeR = defaultLayout $ do
   addScript $ StaticR jquery_js
   ...

(See also sample-embed.hs.)