diff options
-rw-r--r-- | config.json | 3 | ||||
-rw-r--r-- | lib/LintConfig.hs | 1 | ||||
-rw-r--r-- | lib/Properties.hs | 7 |
3 files changed, 8 insertions, 3 deletions
diff --git a/config.json b/config.json index 87298f0..f52e1a2 100644 --- a/config.json +++ b/config.json @@ -3,5 +3,6 @@ "ScriptInject":null, "AllowScripts":true, "MaxWarnLevel":"Suggestion", - "DontCopyAssets":true + "DontCopyAssets":true, + "LinkPrefix":"https://exit.rc3.world?link=" } diff --git a/lib/LintConfig.hs b/lib/LintConfig.hs index 5596005..5c1ae20 100644 --- a/lib/LintConfig.hs +++ b/lib/LintConfig.hs @@ -40,6 +40,7 @@ data LintConfig f = LintConfig -- ^ Don't copy map assets (mostly useful for development) , configAllowScripts :: HKD f Bool -- ^ Allow defining custom scripts in maps + , configLinkPrefix :: HKD f Text } deriving (Generic) type LintConfig' = LintConfig Identity diff --git a/lib/Properties.hs b/lib/Properties.hs index 50fec53..90aa3ad 100644 --- a/lib/Properties.hs +++ b/lib/Properties.hs @@ -153,7 +153,10 @@ checkLayerProperty p@(Property name _value) = case name of uselessEmptyLayer suggestProperty $ Property "openWebsiteTrigger" (StrProp "onaction") unwrapLink p $ \link -> if "https://" `isPrefixOf` link - then dependsOn $ Link link + then do + dependsOn $ Link link + prefix <- lintConfig configLinkPrefix + setProperty "openWebsite" (prefix <> link) else unwrapPath link (dependsOn . Local) "openWebsiteTrigger" -> do isString p @@ -173,7 +176,7 @@ checkLayerProperty p@(Property name _value) = case name of "allowApi" -> isForbidden "exitUrl" -> do forbidEmptyLayer - unwrapLink p $ \link -> if "https://" `isPrefixOf` link + unwrapLink p $ \link -> if "/" `isPrefixOf` link then dependsOn $ MapLink link else unwrapPath link (dependsOn . LocalMap) "startLayer" -> do |