summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/api/hooks_client-side.md2
-rw-r--r--src/static/js/ace.js14
2 files changed, 13 insertions, 3 deletions
diff --git a/doc/api/hooks_client-side.md b/doc/api/hooks_client-side.md
index 367e0688..1c9ca5af 100644
--- a/doc/api/hooks_client-side.md
+++ b/doc/api/hooks_client-side.md
@@ -111,7 +111,7 @@ Called from: src/static/js/ace.js
Things in context: None
-This hook is provided to allow custom CSS files to be loaded. The return value should be an array of paths relative to the plugins directory.
+This hook is provided to allow custom CSS files to be loaded. The return value should be an array of resource urls or paths relative to the plugins directory.
## aceInitInnerdocbodyHead
Called from: src/static/js/ace.js
diff --git a/src/static/js/ace.js b/src/static/js/ace.js
index 455bfaa3..a5e365ce 100644
--- a/src/static/js/ace.js
+++ b/src/static/js/ace.js
@@ -229,7 +229,12 @@ function Ace2Editor()
$$INCLUDE_CSS("../static/css/pad.css");
$$INCLUDE_CSS("../static/custom/pad.css");
- var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
+ var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){
+ if (path.match(/\/\//)) { // Allow urls to external CSS - http(s):// and //some/path.css
+ return path;
+ }
+ return '../static/plugins/' + path;
+ });
includedCSS = includedCSS.concat(additionalCSS);
pushStyleTagsFor(iframeHTML, includedCSS);
@@ -308,7 +313,12 @@ window.onload = function () {\n\
$$INCLUDE_CSS("../static/custom/pad.css");
- var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
+ var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){
+ if (path.match(/\/\//)) { // Allow urls to external CSS - http(s):// and //some/path.css
+ return path;
+ }
+ return '../static/plugins/' + path }
+ );
includedCSS = includedCSS.concat(additionalCSS);
pushStyleTagsFor(outerHTML, includedCSS);