-- |Pages which are not part of our core {-# LANGUAGE FlexibleContexts, FlexibleInstances, PackageImports, RankNTypes, ScopedTypeVariables, TypeFamilies, NoMonomorphismRestriction, OverloadedStrings #-} {-# OPTIONS -Wwarn -F -pgmFhsx2hs -fcontext-stack=40 -fno-warn-orphans -fno-warn-name-shadowing #-} module Scaffolding.Pages.UnicodeKey ( unicodeKeyPage ) where import qualified Data.Text.Lazy as TL import Data.List (genericLength, genericSplitAt, unfoldr) import Happstack.Server (Happstack, Response, ToMessage) -- import HJScript.Utils () import HSP import Prelude hiding (null) import Scaffolding.AppConf (HasAppConf) import Scaffolding.Pages.AppTemplate (MonadRender, template) import Scaffolding.ProfileData.User (MonadUser) import qualified Scaffolding.Unicode.Render as UR (charsOfInterest) import Web.Routes.RouteT (MonadRoute, URL) import Web.Routes.XMLGenT () unicodeKeyPage :: (Happstack m, MonadRoute m, MonadUser m, MonadRender m, HasAppConf m, EmbedAsAttr m (Attr TL.Text (URL m)), ToMessage (XMLType m), StringType m ~ TL.Text) => m Response unicodeKeyPage = template "Unicode Keys" ([] :: [XML]) text where text = table tuplesOfInterest' tuplesOfInterest' :: (XMLGenerator x, StringType x ~ TL.Text) => [[ GenXML x ]] tuplesOfInterest' = map (map (spn . fmt)) tuplesOfInterest where spn t = <% t %> fmt (s,c) =
| <% TL.pack $ show c %> | <% TL.singleton c %> | <% TL.pack s %> |