now creates a new, svelte build

This commit is contained in:
Kevin Dangoor 2011-01-12 00:20:16 -05:00
commit e320a024aa
3 changed files with 105 additions and 175 deletions

View file

@ -56,21 +56,36 @@ copy({
include: /.*\.js$/,
exclude: /tests?\//
},
{
root: aceHome + '/support/cockpit/lib',
include: /.*\.js$/,
exclude: /tests?\//
},
{
root: aceHome + '/lib',
include: /.*\.js$/,
exclude: /tests?\//
exclude: /tests?\/|theme\/|mode\//
}
],
filter: [ copy.filter.moduleDefines ],
dest: buildStep
});
// include the TextMate theme only for now
copy({
source: [ {
root: aceHome + "/lib",
include: /textmate\.js/
} ],
filter: [ copy.filter.moduleDefines ],
dest: buildStep
});
// include the JS mode only for now
copy({
source: [ {
root: aceHome + '/lib',
include: /\/text\.js|\/javascript\.js|\/text_highlight_rules\.js|\/javascript_highlight_rules\.js|\/doc_comment_highlight_rules\.js|\/matching_brace_outdent\.js/
} ],
filter: [ copy.filter.moduleDefines ],
dest: buildStep
});
// The startup file
copy({
source: { base: aceHome + '/demo/', path: 'demo_startup.js' },
@ -81,19 +96,9 @@ copy({
// The CSS files
copy({
source: [
{
root: aceHome + '/support/cockpit/support/pilot/lib',
include: /.*\.css$/,
exclude: /tests?\//
},
{
root: aceHome + '/support/cockpit/lib',
include: /.*\.css$/,
exclude: /tests?\//
},
{
root: aceHome + '/lib',
include: /.*\.css$/,
include: /tm\.css|editor\.css/,
exclude: /tests?\//
}
],
@ -114,7 +119,7 @@ copy({
// The Javascript files that don't need unwrapping
copy({
source: [ 'demo/boot.js' ],
source: [ 'demo/build_boot.js' ],
dest: buildStep
});

View file

@ -27,173 +27,28 @@
}
#editor {
top: 55px;
top: 0px;
left: 0px;
height: 100%;
width: 100%;
background: white;
}
#controls {
width: 100%;
height: 55px;
}
#jump {
position: absolute;
width: 10px;
height: 10px;
border: 1px solid red;
z-index: 10000;
display: none;
}
#cockpitInput {
position: absolute;
width: 100%;
bottom: 0;
border: none; outline: none;
font-family: consolas, courier, monospace;
font-size: 120%;
}
#cockpitOutput {
padding: 10px;
margin: 0 15px;
border: 1px solid #AAA;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
border-top-left-radius: 4px; border-top-right-radius: 4px;
background: #DDD; color: #000;
}
</style>
</head>
<body>
<div id="jump"></div>
<table id="controls">
<tr>
<td>
<label for="doc">Document:</label>
<select id="doc" size="1">
<option value="js">JS Document</option>
<option value="html">HTML Document</option>
<option value="css">CSS Document</option>
<option value="python">Python Document</option>
<option value="php">PHP Document</option>
</select>
</td>
<td>
<label for="mode">Mode:</label>
<select id="mode" size="1">
<option value="text">Plain Text</option>
<option value="javascript">JavaScript</option>
<option value="xml">XML</option>
<option value="html">HTML</option>
<option value="css">CSS</option>
<option value="python">Python</option>
<option value="php">PHP</option>
</select>
</td>
<td>
<label for="theme">Theme:</label>
<select id="theme" size="1">
<option value="ace/theme/textmate">TextMate</option>
<option value="ace/theme/eclipse">Eclipse</option>
<option value="ace/theme/dawn">Dawn</option>
<option value="ace/theme/idle_fingers">idleFingers</option>
<option value="ace/theme/pastel_on_dark">Pastel on dark</option>
<option value="ace/theme/twilight">Twilight</option>
</select>
</td>
<td>
<label for="select_style">Full line selections</label>
<input type="checkbox" name="select_style" id="select_style" checked>
</td>
<td>
<label for="highlight_active">Highlight active line</label>
<input type="checkbox" name="highlight_active" id="highlight_active" checked>
</td>
<td align="right">
<img src="demo/logo.png">
</td>
</tr>
</table>
<div id="editor">
</div>
<script type="text/editor" id="jstext">function foo(items) {
for (var i=0; i<items.length; i++) {
<div id="editor">function foo(items) {
for (var i=0; i&lt;items.length; i++) {
alert(items[i] + "juhu");
}
}</script>
<script type="text/editor" id="csstext">.text-layer {
font-family: Monaco, "Courier New", monospace;
font-size: 12px;
cursor: text;
}</script>
<script type="text/editor" id="htmltext"><html>
<head>
<style type="text/css">
.text-layer {
font-family: Monaco, "Courier New", monospace;
font-size: 12px;
cursor: text;
}
</style>
</head>
<body>
<h1 style="color:red">Juhu Kinners</h1>
</body>
</html></script>
<script type="text/editor" id="pythontext">#!/usr/local/bin/python
}</div>
import string, sys
# If no arguments were given, print a helpful message
if len(sys.argv)==1:
print 'Usage: celsius temp1 temp2 ...'
sys.exit(0)
# Loop over the arguments
for i in sys.argv[1:]:
try:
fahrenheit=float(string.atoi(i))
except string.atoi_error:
print repr(i), "not a numeric value"
else:
celsius=(fahrenheit-32)*5.0/9.0
print '%i\260F = %i\260C' % (int(fahrenheit), int(celsius+.5))
</script>
<script type="text/editor" id="phptext"><?php
function nfact($n) {
if ($n == 0) {
return 1;
}
else {
return $n * nfact($n - 1);
}
}
echo "\n\nPlease enter a whole number ... ";
$num = trim(fgets(STDIN));
// ===== PROCESS - Determing the factorial of the input number =====
$output = "\n\nFactorial " . $num . " = " . nfact($num) . "\n\n";
echo $output;
?></script>
<input id="cockpitInput" type="text"/>
<script src="ace.js" type="text/javascript" charset="utf-8"></script>
<script src="ace-uncompressed.js" type="text/javascript" charset="utf-8"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
ace.edit("editor");
}, false);
</script>
</body>
</html>

70
demo/build_boot.js Normal file
View file

@ -0,0 +1,70 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Skywriter.
*
* The Initial Developer of the Original Code is
* Mozilla.
* Portions created by the Initial Developer are Copyright (C) 2009
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Kevin Dangoor (kdangoor@mozilla.com)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var deps = [ "pilot/fixoldbrowsers", "pilot/plugin_manager", "pilot/settings",
"pilot/environment", "demo_startup" ];
require(deps, function() {
var catalog = require("pilot/plugin_manager").catalog;
catalog.registerPlugins([ "pilot/index" ]).then(function() {
});
});
var ace = {
edit: function(el) {
if (typeof(el) == "string") {
el = document.getElementById(el);
}
var env = require("pilot/environment").create();
var catalog = require("pilot/plugin_manager").catalog;
catalog.startupPlugins({ env: env }).then(function() {
var Document = require("ace/document").Document;
var JavaScriptMode = require("ace/mode/javascript").Mode;
var UndoManager = require("ace/undomanager").UndoManager;
var Editor = require("ace/editor").Editor;
var Renderer = require("ace/virtual_renderer").VirtualRenderer;
var theme = require("ace/theme/textmate");
var doc = new Document(el.innerHTML);
doc.setMode(new JavaScriptMode());
doc.setUndoManager(new UndoManager());
env.editor = new Editor(new Renderer(el, theme));
env.editor.setDocument(doc);
env.editor.resize();
});
}
};