diff --git a/api/resources/javascripts/disqus-ext.js b/api/resources/javascripts/disqus-ext.js index 67212a3f..01eef605 100644 --- a/api/resources/javascripts/disqus-ext.js +++ b/api/resources/javascripts/disqus-ext.js @@ -1,20 +1,17 @@ -function setupDisqus() { +function setupDisqus(href) { var disqus_shortname = 'aceapi'; - var dsqId = "disqusScript"; //var paths = window.location.pathname.split("/"); //var fileName = paths[paths.length - 2] + "/" + paths[paths.length - 1]; //var disqus_identifier = fileName; - - var lochash = location.hash.substr(1); - var disqus_identifier = "api/" + (lochash.substr(lochash.indexOf('api=')).split('&')[0].split('=')[1] || "index") + ".html"; + var disqus_identifier = href.substring(2); (function() { - if (document.getElementById(dsqId) === null) { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + if (document.getElementById("disqusScript") === null) { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); } })(); } \ No newline at end of file diff --git a/doc/resources/ace/skeleton/javascripts/disqus-ext.js b/doc/resources/ace/skeleton/javascripts/disqus-ext.js index 66da8bfc..6bb7ff4e 100644 --- a/doc/resources/ace/skeleton/javascripts/disqus-ext.js +++ b/doc/resources/ace/skeleton/javascripts/disqus-ext.js @@ -1,22 +1,17 @@ -function setupDisqus() { +function setupDisqus(href) { var disqus_shortname = 'aceapi'; - var dsqId = "disqusScript"; //var paths = window.location.pathname.split("/"); //var fileName = paths[paths.length - 2] + "/" + paths[paths.length - 1]; //var disqus_identifier = fileName; - - var lochash = location.hash.substr(1); - var disqus_identifier = "api/" + (lochash.substr(lochash.indexOf('api=')).split('&')[0].split('=')[1] || "index") + ".html"; + var disqus_identifier = href.substring(2); (function() { - if (document.getElementById(dsqId)) - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).removeChild(document.getElementById(dsqId)); - - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js'; - dsq.id="disqusScript"; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + if (document.getElementById("disqusScript") === null) { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + } })(); } \ No newline at end of file diff --git a/doc/site/js/main.js b/doc/site/js/main.js index e206f413..353eb56e 100644 --- a/doc/site/js/main.js +++ b/doc/site/js/main.js @@ -4,17 +4,16 @@ $(function() { hljs.initHighlighting(); editor = ace.edit("ace_editor_demo"); embedded_editor = ace.edit("embedded_ace_code"); - var javascriptMode = require("ace/mode/javascript").Mode; - var htmlMode = require("ace/mode/html").Mode; - editor.getSession().setMode(new javascriptMode()); - embedded_editor.getSession().setMode(new htmlMode()); + editor.getSession().setMode("ace/mode/javascript"); + editor.getSession().setMode("ace/mode/javascript"); + embedded_editor.getSession().setMode("ace/mode/html"); $("ul.menu-list li").click(function(e) { if (e.target.tagName === "LI") { console.log($(this).find("a")); window.location = $(this).find("a").attr("href"); } - else if (e.target.tagName === "P") { + else if (e.target.tagName === "P" || e.target.tagName === "IMG") { var anchor = $(e.target).siblings(); window.location = anchor.attr("href"); } @@ -28,8 +27,9 @@ $(function() { state.api = $(this).attr("href").substring(6, $(this).attr("href").length - 5); $.bbq.pushState(state); - $("#apiHolder").removeClass("apiIntro").removeClass("span8"); + var _self = $(this); $("#apiHolder").load($(this).attr("href") + " #documentation", function(){ + $("#apiHolder").removeClass("apiIntro").removeClass("span8"); ux(); setupClicker(); @@ -39,32 +39,12 @@ $(function() { $("li#dropdown_" + section.replace(/\./g, '\\.') + " a").triggerHandler('click'); } - // setupDisqus(); + //setupDisqus(_self.attr("href")); }); } $('.menu-item a').click(magicClickInterceptor); - $('a.argument').click(function (e) { - e.preventDefault(); - - var state = {}; - state.api = $(this).attr("href").substring(6, $(this).attr("href").length - 5); - $.bbq.pushState(state); - - $("#apiHolder").load($(this).attr("href") + " #documentation", function(){ - $("#apiHolder").removeClass("apiIntro").removeClass("span8"); - ux(); - setupClicker(); - - // handles dropping in from new link - var section = $.bbq.getState("section"); - if (section) { - $("li#dropdown_" + section.replace(/\./g, '\\.') + " a").triggerHandler('click'); - } - - setupDisqus(); - }); - }); + $('a.argument').click(magicClickInterceptor); $('a.external').click(function(e) { e.preventDefault(); @@ -79,8 +59,10 @@ $(function() { e.preventDefault(); embedded_editor.resize(); editor.resize(); - if ($(this).attr("href") === "/") + if ($(this).attr("href") === "/") { + window.location = "http://ace.ajax.org"; return; + } if ($(this).attr("href").indexOf("#api") === 0) { $("#top_container").addClass("collapse"); scrollIntoPosition(null, 0); diff --git a/doc/site/style.css b/doc/site/style.css index 5bb9a900..629cafdc 100644 --- a/doc/site/style.css +++ b/doc/site/style.css @@ -5,6 +5,10 @@ body { font-family: Helvetica, Arial; } +#embed_ace_wrapper { + height: 525px; +} + .ace_editor_wrapper { height: 275px; position: relative; @@ -463,4 +467,12 @@ p.highlight_note a { .apiIntro { padding-left: 15px; padding-bottom: 10px; +} + +.prod_no_image { + position: relative; left: -10px; top: -12px; +} + +#sidebarContainer { + margin: 0 20px 0 0; } \ No newline at end of file diff --git a/index.html b/index.html index 6406d8bb..4d9c50c2 100644 --- a/index.html +++ b/index.html @@ -7,9 +7,7 @@ - - - + @@ -17,8 +15,6 @@ - - @@ -32,7 +28,7 @@

The high performance code editor for the web.

@@ -141,7 +137,7 @@ console.log(addResult);

Embedding ACE in Your Site

ACE can be easily embedded into a web page:

-
+
<!DOCTYPE html> <html lang="en"> <head> @@ -163,10 +159,10 @@ console.log(addResult);
return x; }</div> -<script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script> +<script src="http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script> <script> var editor = ace.edit("editor"); - editor.setTheme("ace/theme/twilight"); + editor.setTheme("ace/theme/monokai"); editor.getSession().setMode("ace/mode/javascript"); </script> </body> @@ -189,17 +185,14 @@ console.log(addResult);

Themes are loaded on demand; all you have to do is pass the string name:

editor.setTheme("ace/theme/twilight");
-

> (See all themes)

+

> See all themes

Setting the Programming Language Mode

By default, the editor supports plain text mode. All other language modes are available as separate modules, loaded on demand like this:

+
editor.getSession().setMode("ace/mode/javascript");
-
<script src="src/mode-javascript.js" type="text/javascript" charset="utf-8">
-

The mode can then be used like this:

-
var javascriptMode = require("ace/mode/javascript").Mode;
-editor.getSession().setMode(new javascriptMode());
- -

One Editor, Multiple Sessions

+

Common Operations

-

Set and get content:`

+

Set and get content:

editor.setValue("the new text here"); // or session.setValue
 editor.getValue(); // or session.getValue
@@ -470,60 +463,103 @@ tests for the highlighting.

style="position: relative; left: 19px; top: 2px;" /> RStudio -
  • Sky Edit
  • + class="prod_no_image" /> + Sky Edit +
  • +
  • + WaveMaker
  • + Play My Code
  • + Qooxdoo playground
  • + Radiant CMS
  • + Developer Companion
  • + PythonAnywhere
  • + + Application Craft +
  • +
  • + shiftEdit
  • + Akshell
  • + beanstalk
  • + Neutron IDE
  • + Acebug
  • + Weecod
  • + RubyMonk
  • + tmpltr
  • + CMS Made Simple
  • + Try Jasmine
  • + Codebender
  • + ShareLaTeX
  • diff --git a/lib/ace/theme/monokai.css b/lib/ace/theme/monokai.css index 19c95ed3..d2526206 100644 --- a/lib/ace/theme/monokai.css +++ b/lib/ace/theme/monokai.css @@ -53,11 +53,11 @@ } .ace-monokai .ace_marker-layer .ace_active_line { - background: #49483E; + background: #202020; } .ace-monokai .ace_gutter_active_line { - background-color: #191916; + background-color: #272727; } .ace-monokai .ace_marker-layer .ace_selected_word { diff --git a/lib/ace/worker/worker.js b/lib/ace/worker/worker.js index 2e1853df..0e7270a3 100644 --- a/lib/ace/worker/worker.js +++ b/lib/ace/worker/worker.js @@ -1,8 +1,8 @@ "no use strict"; var console = { - log: function(msg) { - postMessage({type: "log", data: msg}); + log: function(msgs) { + postMessage({type: "log", data: arguments.join(" ")}); } }; var window = { @@ -30,6 +30,9 @@ var normalizeModule = function(parentId, moduleName) { }; var require = function(parentId, id) { + if (!id.charAt) + throw new Error("worker.js require() accepts only (parentId, id) as arguments"); + var id = normalizeModule(parentId, id); var module = require.modules[id];