module Rules.Vendor ( rules ) where import Hakyll import Control.Monad (zipWithM_) import System.FilePath (joinPath) vendRule :: Pattern -> FilePath -> Rules () vendRule :: Pattern -> String -> Rules () vendRule Pattern inpat String outpath = Pattern -> Rules () -> Rules () match Pattern inpat (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> Routes constRoute String outpath Compiler (Item String) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item String) compressCssCompiler rules :: Bool -> Rules () rules :: Bool -> Rules () rules Bool True = do Pattern -> Rules () -> Rules () match (String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "katex", String "dist", String "katex.min.js"]) (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> (String -> String) -> Routes gsubRoute String "node_modules/katex/dist/" (String -> String -> String forall a b. a -> b -> a const String "vendor/katex/") Compiler (Item CopyFile) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item CopyFile) copyFileCompiler Pattern -> Rules () -> Rules () match (String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "katex", String "dist", String "contrib", String "auto-render.min.js"]) (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> (String -> String) -> Routes gsubRoute String "node_modules/katex/dist/contrib/" (String -> String -> String forall a b. a -> b -> a const String "vendor/katex/") Compiler (Item CopyFile) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item CopyFile) copyFileCompiler Bool -> Rules () rules Bool False rules Bool False = do (Pattern -> String -> Rules ()) -> [Pattern] -> [String] -> Rules () forall (m :: * -> *) a b c. Applicative m => (a -> b -> m c) -> [a] -> [b] -> m () zipWithM_ Pattern -> String -> Rules () vendRule [ Pattern fontAwesomeSVGPath , Pattern bulmaToolTipPath , Pattern highlightPath , Pattern katexCssPath ] [ [String] -> String joinPath [String "vendor", String "fontawesome", String "style.css"] , [String] -> String joinPath [String "vendor", String "bulma", String "bulma-tooltip.min.css"] , [String] -> String joinPath [String "vendor", String "highlight", String "highlight.css"] , [String] -> String joinPath [String "vendor", String "katex", String "katex.min.css"] ] Pattern -> Rules () -> Rules () match (String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "katex", String "dist", String "fonts", String "**"]) (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> (String -> String) -> Routes gsubRoute String "node_modules/katex/dist/" (String -> String -> String forall a b. a -> b -> a const String "vendor/katex/") Compiler (Item CopyFile) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item CopyFile) copyFileCompiler Pattern -> Rules () -> Rules () match (String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "d3", String "dist", String "d3.min.js"]) (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> (String -> String) -> Routes gsubRoute String "node_modules/d3/dist/" (String -> String -> String forall a b. a -> b -> a const String "vendor/d3/") Compiler (Item CopyFile) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item CopyFile) copyFileCompiler Pattern -> Rules () -> Rules () match (String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "mathjs", String "lib", String "browser", String "math.js"]) (Rules () -> Rules ()) -> Rules () -> Rules () forall a b. (a -> b) -> a -> b $ do Routes -> Rules () route (Routes -> Rules ()) -> Routes -> Rules () forall a b. (a -> b) -> a -> b $ String -> (String -> String) -> Routes gsubRoute String "node_modules/mathjs/lib/browser/" (String -> String -> String forall a b. a -> b -> a const String "vendor/mathjs/") Compiler (Item CopyFile) -> Rules () forall a. (Binary a, Typeable a, Writable a) => Compiler (Item a) -> Rules () compile Compiler (Item CopyFile) copyFileCompiler where fontAwesomeSVGPath :: Pattern fontAwesomeSVGPath = String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "@fortawesome", String "fontawesome-svg-core", String "styles.css"] bulmaToolTipPath :: Pattern bulmaToolTipPath = String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "@creativebulma", String "bulma-tooltip", String "dist", String "bulma-tooltip.min.css"] katexCssPath :: Pattern katexCssPath = String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "node_modules", String "katex", String "dist", String "katex.min.css"] highlightPath :: Pattern highlightPath = String -> Pattern fromGlob (String -> Pattern) -> String -> Pattern forall a b. (a -> b) -> a -> b $ [String] -> String joinPath [String "external", String "hakyll-css", String "css", String "tango.css"]