module Templates where
import {-# SOURCE #-} UrlBlocker
import Paths_adblock2privoxy
import System.Directory (copyFile)
import System.FilePath ((</>))
blockCss, ab2pPrefix, actionsFilePrefix, filtersFilePrefix :: String
blockCss = "{display:none!important;visibility:hidden!important}"
ab2pPrefix = "ab2p-"
actionsFilePrefix = "#AbBlock generated actions -- don't edit --"
filtersFilePrefix = "#AbBlock generated filters -- don't edit --"
terminalActionSwitch :: Bool -> BlockMethod -> String
terminalActionSwitch True Request =
"+block{ adblock rules } \\\n\
\+server-header-tagger{ab2p-block-s}"
terminalActionSwitch False Request =
"-block \\\n\
\-server-header-tagger{ab2p-block-s} \\\n\
\+server-header-tagger{ab2p-unblock-d} \\\n\
\+server-header-tagger{ab2p-unblock-s} \\\n\
\+client-header-tagger{ab2b-unblock-u}"
terminalActionSwitch True Xframe = "+server-header-filter{ab2p-xframe-filter}"
terminalActionSwitch False Xframe = "-server-header-filter{ab2p-xframe-filter}"
terminalActionSwitch False Elem = "-filter{ab2p-elemhide-filter}"
terminalActionSwitch True Xpopup = "+filter{ab2p-popup-filter}"
terminalActionSwitch False Xpopup = "-filter{ab2p-popup-filter}"
terminalActionSwitch True Dnt = "+add-header{DNT: 1}"
terminalActionSwitch _ _ = ""
writeTemplateFiles :: String -> IO ()
writeTemplateFiles outDir = do
copySystem "ab2p.system.action"
copySystem "ab2p.system.filter"
where
copySystem file = do
dataDir <- getDataDir
copyFile (dataDir </> "templates" </> file) (outDir </> file)