Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
...
Checking mergeability… Don't worry, you can still create the pull request.
  • 2 commits
  • 13 files changed
  • 0 commit comments
  • 1 contributor
View
6 README.md
@@ -30,6 +30,7 @@ Supported Languages
* Zen Coding (input method)
* Jade
* CoffeeCup
+ * Markdown
* CSS
* SASS and SCSS with Compass
@@ -39,6 +40,7 @@ Supported Languages
* JavaScript
* CoffeeeScript
* Python
+ * Roy
Getting the Code and Running it
-------------------------------
@@ -74,7 +76,6 @@ Contribution Guidelines
Features ready to be implemented:
-* Save lint options with fiddle, as a part of the JSON
* HTML class and id auto-complete
* Auto-semicolon insertion for CSS style languages
* Hide window title bar option
@@ -83,8 +84,7 @@ Features ready to be implemented:
* Better CoffeeCup documentation page with syntax highlighting
* Use CodeMirror's built-in run mode
* More Languages
- * Markdown
- * Eco
+ * Eco ([Browserify](https://github.com/substack/node-browserify) nodejs module)
* Move
###Syntax Highlighting
View
2  static/css/fiddle.css
@@ -1,2 +1,2 @@
/* This beautiful CSS-File has been crafted with LESS (lesscss.org) and compiled by simpLESS (wearekiss.com/simpless) */
-html{overflow-y:hidden}em{font-style:italic}.background{position:absolute;overflow-y:hidden;max-height:100%}.syntax-error{border-bottom:1px dotted red}#documentation>div,#documentation>div>div,#source>div,#source>div>div{height:100%}#accordion{width:190px}#accordion>div{overflow-x:hidden;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#accordion input+span.clickable{margin-top:5px}#accordion input,textarea,select{padding:5px 8px 5px 8px;border:solid 1px #E5E5E5;outline:0;background:-webkit-gradient(linear,left top,left 25,from( #fff),color-stop(4%, #eee),to( #fff));background:-moz-linear-gradient(top, #fff, #eee 1px, #fff 25px);box-shadow:rgba(0,0,0,.1) 0 0 8px;-moz-box-shadow:rgba(0,0,0,.1) 0 0 8px;-webkit-box-shadow:rgba(0,0,0,.1) 0 0 8px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#accordion input:hover,textarea:hover,input:focus,textarea:focus{-webkit-box-shadow:rgba(0,0,0,.15) 0 0 8px}#accordion input+label{margin-left:10px}#accordion input[type="checkbox"]{vertical-align:middle}#accordion a[target="_blank"]{word-wrap:break-word}span.key-lite{text-shadow:1px 1px 0 rgba(255,255,255,.04);font-size:.9em;font-weight:400;background:rgba(0,0,0,.3);-moz-border-radius:6px;-webkit-border-radius:6px;-o-border-radius:6px;-ms-border-radius:6px;-khtml-border-radius:6px;border-radius:6px;color:rgba(255,255,255,.5);position:relative;top:-1px;margin-left:10px;-moz-box-shadow:1px 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 0 rgba(0,0,0,.2);-o-box-shadow:1px 1px 0 rgba(0,0,0,.2);box-shadow:1px 1px 0 rgba(0,0,0,.2);padding:0 8px}.ui-dialog .ui-dialog-content{padding:0}.transparent{background:rgba(255,255,255,.2)}div#projectConfiguration{overflow-x:hidden}#projectConfiguration ul{margin-left:.5em}#webDevelopmentTools p:not(.vertical){text-shadow:1px 1px 1px #CCC;filter:dropshadow(color=#cccccc,offx=1,offy=1)}#webDevelopmentTools p:not(.vertical)>span.ui-icon+span{margin-left:5px}textarea#javascriptConverter{height:5em}#templateConfiguration ul{margin-left:1em;margin-top:1em}#templateConfiguration label{display:block;font-weight:700;margin-top:1em;margin-bottom:.1em}#compareLanguageSelection{display:inline}#accordion>div>p.vertical{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);position:absolute;right:-40px;top:0;margin-top:auto;bottom:0;margin-bottom:auto;height:20px;width:100px}#tips{overflow-x:hidden}#tips img{margin-left:auto;margin-right:auto;display:block}#tips p{padding:15px 10px 5px 10px;font-weight:700}div#source pre{font-size:9pt;line-height:1.1em;margin:0;padding:1em}div#source .ui-tabs{border:0}#logo{background-image:-webkit-radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);background-image:-moz-radial-gradient(center 79%,ellipse closest-corner,rgba(255,255,255,.3),rgba(100,100,255,.3) 95%);background-image:-o-radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);background-image:radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);font-size:1.55em;letter-spacing:.15em;font-weight:500;text-align:center;display:block;margin:0 auto;cursor:pointer}.menu{display:none}.ui-dialog-title{position:absolute}.ui-dialog-title .ui-widget-header{background:0;border:0;top:-10px}.ui-dialog-title .menu *{cursor:pointer}#snippet,#viewer{display:none}#snippet,#progress{position:fixed}#progress{left:50%;top:50%;margin:0 0 0 -75px;width:150px}
+html{overflow-y:hidden}em{font-style:italic}.background{position:absolute;overflow-y:hidden;max-height:100%}.syntax-error{border-bottom:1px dotted red}#documentation>div,#documentation>div>div,#source>div,#source>div>div{height:100%}#accordion{width:190px}#accordion #resourceInput-display{padding-left:3px}#accordion>div{overflow-x:hidden;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#accordion input+span.clickable{margin-top:5px}#accordion input,textarea,select{padding:5px 8px 5px 8px;border:solid 1px #E5E5E5;outline:0;background:-webkit-gradient(linear,left top,left 25,from( #fff),color-stop(4%, #eee),to( #fff));background:-moz-linear-gradient(top, #fff, #eee 1px, #fff 25px);box-shadow:rgba(0,0,0,.1) 0 0 8px;-moz-box-shadow:rgba(0,0,0,.1) 0 0 8px;-webkit-box-shadow:rgba(0,0,0,.1) 0 0 8px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#accordion input:hover,textarea:hover,input:focus,textarea:focus{-webkit-box-shadow:rgba(0,0,0,.15) 0 0 8px}#accordion input+label{margin-left:10px}#accordion input[type="checkbox"]{vertical-align:middle}#accordion a[target="_blank"]{word-wrap:break-word}span.key-lite{text-shadow:1px 1px 0 rgba(255,255,255,.04);font-size:.9em;font-weight:400;background:rgba(0,0,0,.3);-moz-border-radius:6px;-webkit-border-radius:6px;-o-border-radius:6px;-ms-border-radius:6px;-khtml-border-radius:6px;border-radius:6px;color:rgba(255,255,255,.5);position:relative;top:-1px;margin-left:10px;-moz-box-shadow:1px 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 0 rgba(0,0,0,.2);-o-box-shadow:1px 1px 0 rgba(0,0,0,.2);box-shadow:1px 1px 0 rgba(0,0,0,.2);padding:0 8px}.ui-dialog .ui-dialog-content{padding:0}.transparent{background:rgba(255,255,255,.2)}div#projectConfiguration{overflow-x:hidden}#projectConfiguration ul{margin-left:.5em}#webDevelopmentTools p:not(.vertical){text-shadow:1px 1px 1px #CCC;filter:dropshadow(color=#cccccc,offx=1,offy=1)}#webDevelopmentTools p:not(.vertical)>span.ui-icon+span{margin-left:5px}textarea#javascriptConverter{height:5em}#templateConfiguration ul{margin-left:1em;margin-top:1em}#templateConfiguration label{display:block;font-weight:700;margin-top:1em;margin-bottom:.1em}#compareLanguageSelection{display:inline}#accordion>div>p.vertical{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);position:absolute;right:-40px;top:0;margin-top:auto;bottom:0;margin-bottom:auto;height:20px;width:100px}#tips{overflow-x:hidden}#tips img{margin-left:auto;margin-right:auto;display:block}#tips p{padding:15px 10px 5px 10px;font-weight:700}div#source pre{font-size:9pt;line-height:1.1em;margin:0;padding:1em}div#source .ui-tabs{border:0}#logo{background-image:-webkit-radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);background-image:-moz-radial-gradient(center 79%,ellipse closest-corner,rgba(255,255,255,.3),rgba(100,100,255,.3) 95%);background-image:-o-radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);background-image:radial-gradient(50% 85%,60% 33%,rgba(255,255,255,.5), #e6e6fa);font-size:1.55em;letter-spacing:.15em;font-weight:500;text-align:center;display:block;margin:0 auto;cursor:pointer}.menu{display:none}.ui-dialog-title{position:absolute}.ui-dialog-title .ui-widget-header{background:0;border:0;top:-10px}.ui-dialog-title .menu *{cursor:pointer}#snippet,#viewer{display:none}#snippet,#progress{position:fixed}#progress{left:50%;top:50%;margin:0 0 0 -75px;width:150px}
View
3  static/css/fiddle.less
@@ -22,6 +22,9 @@ em {
#accordion {
width: 190px;
+ #resourceInput-display {
+ padding-left: 3px;
+ }
}
#accordion > div {
View
4 static/css/style.css
@@ -153,7 +153,7 @@ form textarea {
}
.CodeMirror {
- font-family: Consolas, "Lucida Console", Monaco, monospace;
+ font-family: Consolas, "Bitstream Vera Sans Mono", Monaco, monospace;
font-size: 9pt;
line-height: 1.1em;
margin: 0;
@@ -169,7 +169,7 @@ form textarea {
.kbd {
border: solid 1px #ABABAB;
font-size: 10px;
- font-family: 'Lucida Grande';
+ font-family: 'Lucida Grande', monospace;
padding: 2px 3px;
border-radius: 3px;
-moz-border-radius: 3px;
View
2  static/js/compilers/build/csslint.js
@@ -233,4 +233,4 @@ message.type+'" reason="'+escapeSpecialCharacters(message.message)+'" evidence="
formatResults:function(results,filename,options){var messages=results.messages,output="";options=options||{};if(messages.length===0)return options.quiet?"":"\n\ncsslint: No errors in "+filename+".";output="\n\ncsslint: There are "+messages.length+" problems in "+filename+".";var pos=filename.lastIndexOf("/"),shortFilename=filename;if(pos===-1)pos=filename.lastIndexOf("\\");if(pos>-1)shortFilename=filename.substring(pos+1);CSSLint.Util.forEach(messages,function(message,i){output=output+"\n\n"+shortFilename;
if(message.rollup){output+="\n"+(i+1)+": "+message.type;output+="\n"+message.message}else{output+="\n"+(i+1)+": "+message.type+" at line "+message.line+", col "+message.col;output+="\n"+message.message;output+="\n"+message.evidence}});return output}});return CSSLint}();var ruleset={"adjoining-classes":1,"box-model":1,"box-sizing":1,"compatible-vendor-prefixes":1,"display-property-grouping":1,"duplicate-properties":1,"empty-rules":1,"gradients":1,"known-properties":1,"text-indent":1,"vendor-prefix":1};
function sendResult(resultText){if(typeof resultText==="undefined"||resultText===null||!resultText.length)return;postMessage({"type":"result","resultText":resultText})}function sendError(errorText){postMessage({"type":"error","errorText":errorText})}
-self.addEventListener("message",function(e){var errors=CSSLint.verify(e.data,ruleset).messages;if(errors.length)for(var i=0;i<errors.length;i++){if(errors[i].message.indexOf("Expected")==-1&&errors[i].message.indexOf("Unexpected token 'null'")==-1)sendError(errors[i].message)}else sendResult(e.data)},false);
+self.addEventListener("message",function(e){var errors=CSSLint.verify(e.data,ruleset).messages;if(errors.length)for(var i=0;i<errors.length;i++){if(errors[i].message.indexOf("Unexpected token 'null'")==-1)sendError(errors[i].message)}else sendResult(e.data)},false);
View
2  static/js/compilers/csslint.js
@@ -9042,7 +9042,7 @@ self.addEventListener('message', function(e) {
var errors = CSSLint.verify(e.data, ruleset).messages;
if (errors.length) {
for (var i = 0; i < errors.length; i++) {
- if (errors[i].message.indexOf('Expected') == -1 && errors[i].message.indexOf("Unexpected token 'null'") == -1)
+ if (errors[i].message.indexOf("Unexpected token 'null'") == -1)
sendError(errors[i].message);
}
} else {
View
2  static/js/compilers/jshint.js
@@ -4015,7 +4015,7 @@ var options = {
// allowed
onecase : true, // if one case switch statements should be allowed
passfail : true, // if the scan should stop on first error
- plusplus : true, // if increment/decrement should not be allowed
+ plusplus : false, // if increment/decrement should not be allowed
proto : true, // if the `__proto__` property should be disallowed
prototypejs : true, // if Prototype and Scriptaculous globals should be
// predefined
View
15 static/js/fiddle-engine.coffee
@@ -153,13 +153,18 @@ lintEditor =
changeHandler: _.throttle(
->
- if viewModel.lint_enabled(@mode.name)
- @compiler.postMessage @get_code()
- else
- @previewCode @get_code()
- 250
+ code = @get_code()
+ if @tokensMatch(code)
+ if viewModel.lint_enabled(@mode.name)
+ @compiler.postMessage code
+ else
+ @previewCode code
+ 750
)
+ tokensMatch: (code) ->
+ code.count('[(]') is code.count('[)]') and code.count('{') is code.count('}') and (code.count('"') % 2) is 0 and (code.count("'") % 2) is 0
+
keyHandler: (editor, event) ->
if event.keyCode is @blockEndKeyCode and event.type is 'keydown'
@changeHandler()
View
4 static/js/helpers.js
@@ -52,6 +52,10 @@ function getDocumentWidth() {
);
}
+String.prototype.count=function(s1) {
+ return this.length - this.replace(new RegExp(s1,"g"), '').length;
+}
+
var switchTo5x = false;
var defaultEditor = {
View
2  static/js/keywords.js
@@ -1,7 +1,7 @@
KEYWORDS = {
JQUERY_OBJECT: [ 'Callbacks', 'ajax', 'ajaxPrefilter', 'ajaxSetup', 'contains', 'data', 'dequeue', 'each', 'error', 'extend', 'get', 'getJSON', 'getScript', 'globalEval', 'grep', 'hasData', 'holdReady', 'inArray', 'isArray', 'isEmptyObject', 'isFunction', 'isNumeric', 'isPlainObject', 'isWindow', 'isXMLDoc', 'makeArray', 'map', 'merge', 'noConflict', 'noop', 'now', 'param', 'parseJSON', 'parseXML', 'post', 'proxy', 'queue', 'removeData', 'sub', 'trim', 'type', 'unique', 'when' ],
JQUERY_PROTOTYPE: [ 'add', 'addClass', 'after', 'ajaxComplete', 'ajaxError', 'ajaxSend', 'ajaxStart', 'ajaxStop', 'ajaxSuccess', 'andSelf', 'animate', 'append', 'appendTo', 'attr', 'before', 'bind', 'blur', 'change', 'children', 'clearQueue', 'click', 'clone', 'closest', 'constructor', 'contents', 'css', 'data', 'dblclick', 'delay', 'delegate', 'dequeue', 'detach', 'die', 'each', 'empty', 'end', 'eq', 'error', 'fadeIn', 'fadeOut', 'fadeTo', 'fadeToggle', 'filter', 'find', 'first', 'focus', 'focusin', 'focusout', 'get', 'has', 'hasClass', 'height', 'hide', 'hover', 'html', 'index', 'innerHeight', 'innerWidth', 'insertAfter', 'insertBefore', 'is', 'keydown', 'keypress', 'keyup', 'last', 'live', 'load', 'map', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'next', 'nextAll', 'nextUntil', 'not', 'off', 'offset', 'offsetParent', 'on', 'one', 'outerHeight', 'outerWidth', 'parent', 'parents', 'parentsUntil', 'position', 'prepend', 'prependTo', 'prev', 'prevAll', 'prevUntil', 'promise', 'prop', 'pushStack', 'queue', 'ready', 'remove', 'removeAttr', 'removeClass', 'removeData', 'removeProp', 'replaceAll', 'replaceWith', 'resize', 'scroll', 'scrollLeft', 'scrollTop', 'select', 'serialize', 'serializeArray', 'show', 'siblings', 'size', 'slice', 'slideDown', 'slideToggle', 'slideUp', 'stop', 'submit', 'text', 'toArray', 'toggle', 'toggleClass', 'trigger', 'triggerHandler', 'unbind', 'undelegate', 'unload', 'unwrap', 'val', 'width', 'wrap', 'wrapAll', 'wrapInner' ],
- CSS_PROPERTIES: ["pseudo-classes", "pseudo-elements", "@-rules", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-right-radius", "border-bottom-left-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "@charset", "clear", "clip", "clip-path", "color", "columns", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "@document", "empty-cells", "float", "font", "@font-face", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-weight", "height", "hyphens", "icon", "image-rendering", "image-resolution", "image-orientation", "ime-mode", "@import", "inherit", "initial", "@keyframes", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marker-offset", "marks", "mask", "max-height", "max-width", "@media", "min-height", "min-width", "@namespace", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "@page", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "table-layout", "tab-size", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "@viewport", "visibility", "white-space", "widows", "width", "word-spacing", "word-wrap", "z-index"],
+ CSS_PROPERTIES: ["pseudo-classes", "pseudo-elements", "@-rules", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "auto", "backface-visibility", "background", "background-attachment", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "border", "border-bottom", "border-bottom-color", "border-bottom-right-radius", "border-bottom-left-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "caption-side", "@charset", "clear", "clip", "clip-path", "color", "columns", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "content", "counter-increment", "counter-reset", "cursor", "direction", "display", "@document", "empty-cells", "float", "font", "@font-face", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-variant-ligatures", "font-weight", "height", "hyphens", "icon", "image-rendering", "image-resolution", "image-orientation", "ime-mode", "@import", "inherit", "initial", "@keyframes", "left", "letter-spacing", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "marker-offset", "marks", "mask", "max-height", "max-width", "@media", "min-height", "min-width", "@namespace", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "@page", "page-break-after", "page-break-before", "page-break-inside", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "resize", "right", "table-layout", "tab-size", "text-align", "text-align-last", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-indent", "text-overflow", "text-rendering", "text-shadow", "text-transform", "top", "transform", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "@viewport", "visibility", "white-space", "width", "word-spacing", "word-wrap", "z-index"],
CSS_FUNCTIONS: ["attr()", "calc()", "cubic-bezier()", "cycle()", "element()", "hsl()", "hsla()", "image()", "linear-gradient()", "matrix()", "matrix3d()", "perspective()", "radial-gradient()", "rect()", "repeating-linear-gradient()", "repeating-radial-gradient()", "rgb()", "rgba()", "rotate()", "rotateX()", "rotateY()", "rotateZ()", "rotate3d()", "scale()", "scaleX()", "scaleY()", "scaleZ()", "scale3d()", "skew()", "skewX()", "skewY()", "steps()", "translate()", "translateX()", "translateY()", "translateZ()", "translate3d()", "url()"],
HTML_TAGS: ["a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "command", "datalist", "dd", "del", "details", "dfn", "dir", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "keygen", "kbd", "label", "legend", "li", "link", "map", "mark", "menu", "meta", "meter", "nav", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]
};
View
7 static/js/model.coffee
@@ -55,7 +55,7 @@ ViewModel = Class.$extend(
url
@revisionsMenu = new RevisionsMenu()
@localHistory = LocalHistory(@revisionsMenu.revisions)
- @spellcheck = false
+ @spellcheck = true
@afterLogin = ->
ko.computed =>
# if the user just logged in
@@ -225,7 +225,7 @@ Template = (configuration) ->
WorkspaceConfiguration = ->
@enableTransparency = ko.observable(false)
@cssLintEnabled = ko.observable(true)
- @jsLintEnabled = ko.observable(true)
+ @jsLintEnabled = ko.observable(false)
@completeHtmlTags = ko.observable(true)
@
FiddleViewModel = ViewModel.$extend(
@@ -237,6 +237,8 @@ FiddleViewModel = ViewModel.$extend(
@resources = ko.observableArray([])
@newResourceText = ko.observable()
@configuration = new WorkspaceConfiguration()
+ if not @newFiddle()
+ @disableLint()
@loadTips()
add_resource: (file) ->
@@ -510,6 +512,7 @@ FiddleViewModel = ViewModel.$extend(
templatePath = template
templatePath = [ ajax_url, '/files/', templatePath, '.', type ].join('')
if type is 'css' and templateType isnt 'css/html'
+ $('#accordion').accordion('activate', 0)
@add_resource templatePath
else
$.get templatePath, {}, ((code) =>
View
2  static/js/python-engine.coffee
@@ -94,7 +94,7 @@ PythonFactory = Class.$extend(
get_executable: ->
pythonExecutable = undefined
unless debug
- python_version = '?v=' + 8
+ python_version = '?v=' + 9
pythonExecutable = worker_url + 'python.compressed.js' + python_version
else
pythonExecutable = worker_url + 'build/python.mod.debug.js'
View
48 templates/templates.html
@@ -103,7 +103,7 @@
<h3><a href="#">Project</a></h3>
<div id="projectConfiguration">
<p class="clearfix">
- <label>Add Resource: </label><input class="thin left" data-bind="autoComplete: packages, value: newResourceText, optionsText: 'name', optionsValue: 'url', autoCompleteOptions: {autoFocus: false}, placeholder: 'Search/Paste URL'" />
+ <label>Add Resource: </label><input id="resourceInput" class="thin left" data-bind="autoComplete: packages, value: newResourceText, optionsText: 'name', optionsValue: 'url', autoCompleteOptions: {autoFocus: false}, placeholder: 'Search/Paste URL'" />
<span class="clickable right ui-icon ui-icon-plusthick" data-bind="click: add_resource"></span>
</p>
<ul data-bind="template: { name: 'resourceTemplate', foreach: resources }, visible: resources().length > 0"></ul>
@@ -117,6 +117,27 @@
</a>
</p>
</div>
+ <h3><a href="#">Import</a></h3>
+ <div id="templateConfiguration">
+ <!-- ko if: compatibleLanguages() -->
+ <p class="clearfix">
+ <input class="thin left required url" placeholder="Open URL..." data-bind="value: importUrl, valueUpdate: 'afterkeydown'"/>
+ <span class="clickable right ui-icon ui-icon-circle-triangle-e" data-bind="click: importExternal"></span>
+ </p>
+ <p data-bind='visible: importUrl.hasError, text: importUrl.validationMessage'> </p>
+ <!-- /ko -->
+ <ul data-bind="template: { name: 'optionTemplate', foreach: starterTemplates }"></ul>
+ <!-- ko if: showSelectedTemplates -->
+ <ul>
+ <li data-bind="visible: _.isString(cssSelected().name)">CSS: <a target="_blank" data-bind="fadeInText: cssSelected().name, attr: { href: cssSelected().url }"></a></li>
+ <li data-bind="visible: _.isString(htmlSelected().name)">HTML: <a target="_blank" data-bind="fadeInText: htmlSelected().name, attr: { href: htmlSelected().url }"></a></li>
+ </ul>
+ <!-- /ko -->
+ <ul data-bind="template: { name: 'optionTemplate', foreach: starterFrameworks }"></ul>
+ <ul>
+ <a target="_blank" data-bind="text: selectedFramework().url, attr: { href: selectedFramework().url }"></a>
+ </ul>
+ </div>
<h3><a href="#">Tools</a></h3>
<div id="webDevelopmentTools">
<p class="clickable" onclick="window.open('/')">
@@ -159,12 +180,12 @@
</p>
<!-- ko if: styleLanguage() == LANGUAGE.CSS -->
<p>
- <input type="checkbox" data-bind="checked: configuration.cssLintEnabled" /><label>Lint CSS</label>
+ <input type="checkbox" data-bind="checked: configuration.cssLintEnabled" /><label>CSS Warnings</label>
</p>
<!-- /ko -->
<!-- ko if: programLanguage() == LANGUAGE.JAVASCRIPT -->
<p>
- <input type="checkbox" data-bind="checked: configuration.jsLintEnabled" /><label>Lint JS</label>
+ <input type="checkbox" data-bind="checked: configuration.jsLintEnabled" /><label>JS Warnings</label>
</p>
<!-- /ko -->
<p>
@@ -195,27 +216,6 @@
</a>
</p>
</div>
- <h3><a href="#">Import</a></h3>
- <div id="templateConfiguration">
- <!-- ko if: compatibleLanguages() -->
- <p class="clearfix">
- <input class="thin left required url" placeholder="Open URL..." data-bind="value: importUrl, valueUpdate: 'afterkeydown'"/>
- <span class="clickable right ui-icon ui-icon-circle-triangle-e" data-bind="click: importExternal"></span>
- </p>
- <p data-bind='visible: importUrl.hasError, text: importUrl.validationMessage'> </p>
- <!-- /ko -->
- <ul data-bind="template: { name: 'optionTemplate', foreach: starterTemplates }"></ul>
- <!-- ko if: showSelectedTemplates -->
- <ul>
- <li data-bind="visible: _.isString(cssSelected().name)">CSS: <a target="_blank" data-bind="fadeInText: cssSelected().name, attr: { href: cssSelected().url }"></a></li>
- <li data-bind="visible: _.isString(htmlSelected().name)">HTML: <a target="_blank" data-bind="fadeInText: htmlSelected().name, attr: { href: htmlSelected().url }"></a></li>
- </ul>
- <!-- /ko -->
- <ul data-bind="template: { name: 'optionTemplate', foreach: starterFrameworks }"></ul>
- <ul>
- <a target="_blank" data-bind="text: selectedFramework().url, attr: { href: selectedFramework().url }"></a>
- </ul>
- </div>
<h3><a href="#">Links</a></h3>
<div>
<p><a class="link" href="http://blog.fiddlesalad.com/">Blog</a></p>

No commit comments for this range

Something went wrong with that request. Please try again.