From 2e70c6feff0d188625841912a068e64ae8ca1dc0 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Sat, 5 Nov 2022 22:32:05 +1300 Subject: [PATCH] Extract logic into dependency! --- rhapsode.cabal | 3 ++- src/Render.hs | 13 +------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/rhapsode.cabal b/rhapsode.cabal index 7bfe367..16df9eb 100644 --- a/rhapsode.cabal +++ b/rhapsode.cabal @@ -67,7 +67,8 @@ library -- Networking network-uri, async, hurl >= 2, filepath, temporary, -- CSS - stylist >= 2.4 && <3, stylist-traits, css-syntax, scientific, xml-conduit-stylist >= 3 && <3.1, + stylist >= 2.4 && <3, stylist-traits >= 0.1.1, css-syntax, scientific, + xml-conduit-stylist >= 3 && <3.1, -- Voice2Json input process, aeson >= 1.5 && <1.6, unordered-containers diff --git a/src/Render.hs b/src/Render.hs index a8ba53a..5e5a245 100644 --- a/src/Render.hs +++ b/src/Render.hs @@ -23,6 +23,7 @@ import Data.CSS.Preprocessor.Assets import qualified Data.CSS.Preprocessor.PsuedoClasses as CSSPseudo import qualified Data.CSS.Preprocessor.Text as CSSTxt import Stylist (cssPriorityAgent, cssPriorityUser, attrTest, elementPath) +import Stylist.Tree (treeFind) import Data.HTML2CSS (el2stylist) import Network.URI @@ -146,18 +147,6 @@ rhapsodePseudoFilter url hist tree = CSSPseudo.addContains "target-within" (targetWithinSel tree $ uriFragment url) $ CSSPseudo.htmlPsuedoFilter Style.queryableStyleSheet --- Apparantly I forgot to export this API... -treeFind :: StyleTree p -> (p -> Bool) -> [p] -treeFind p test = filter test $ treeFlattenAll p - --- And forgot to export this too... -treeFlattenAll :: StyleTree p -> [p] -treeFlattenAll = treeFlattenAll' . children -treeFlattenAll' :: [StyleTree p] -> [p] -treeFlattenAll' (StyleTree p []:ps) = p : treeFlattenAll' ps -treeFlattenAll' (StyleTree p childs:sibs) = p : treeFlattenAll' childs ++ treeFlattenAll' sibs -treeFlattenAll' [] = [] - -------- ---- Download assets -------- -- 2.30.2