Skip to content

Commit 04f100b

Browse files
Add simulator, strip out code
1 parent 0484744 commit 04f100b

34 files changed

+46536
-1
lines changed

editor.html

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,19 @@
6666
<link rel="stylesheet" type="text/css" href="static/css/vex-theme-wireframe.css" />
6767
<link rel="stylesheet" type="text/css" href="static/css/font-awesome.min.css">
6868
<link rel="icon" href="static/img/favicon.ico">
69+
<script src="lib/cm/codemirror.js"></script>
70+
<script src="lib/cm/active-line.js"></script>
71+
<script src="lib/cm/python.js"></script>
72+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
73+
<script src="lib/lib.js"></script>
74+
<script src="lib/skulpt/skulpt.min.js"></script>
75+
<script src="lib/skulpt/skulpt-stdlib.js"></script>
76+
<script src="lib/jq/jquery.ui.touch-punch.min.js"></script>
77+
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
78+
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
6979
</head>
7080
<body>
81+
<script type="text/javascript" src="microbit-sim.js"></script>
7182
<script type="application/javascript">
7283
<!-- VERSION INFORMATION -->
7384
VERSION = "0.1.0";
@@ -161,7 +172,7 @@ <h2><i class="fa fa-unlock-alt"></i> <strong>{{ title }}</strong></h2>
161172
<path d="m 185.96612,110.36806 41.029,41.029 0,-72.834699 27.352,0 0.001,72.834699 41.029,-41.029 0,31.911 -54.706,54.706 -54.705,-54.706 0,-31.911 z m 98.203,181.9 c 0,-9.128 7.406,-16.539 16.541,-16.539 9.146,0 16.535,7.411 16.535,16.539 0,9.131 -7.389,16.548 -16.535,16.548 -9.135,0 -16.541,-7.417 -16.541,-16.548 z m -121.494,0.003 c 0,-9.129 7.413,-16.542 16.548,-16.542 9.129,0 16.537,7.413 16.537,16.542 0,9.131 -7.408,16.547 -16.537,16.547 -9.135,0 -16.548,-7.416 -16.548,-16.547 z m 16.544,-81.93 122.554,0.202 c 45.667,0 82.285,36.553 82.285,81.732 0,45.179 -36.757,81.934 -81.937,81.934 l -122.902,0 c -45.177,0 -81.934395,-36.755 -81.934395,-81.934 0,-45.179 36.757395,-81.934 81.934395,-81.934 z m -49.164,81.934 c 0,27.105 22.059,49.164 49.164,49.164 l 122.902,0 c 27.107,0 49.159,-22.059 49.159,-49.164 0,-27.112 -22.052,-49.164 -49.159,-49.164 l -122.902,0 c -27.105,0 -49.164,22.052 -49.164,49.164 z" id="path3341" inkscape:connector-curvature="0" style="fill:currentColor"></path>
162173
</svg>
163174
</div>
164-
<div class="roundlabel">Download</div>
175+
<div class="roundlabel">Download<a href="test.html">Run me!!!!!!!!</a></div>
165176
</a>
166177
<a href="#" class="roundbutton" id="command-save"
167178
tabindex="2"

index simulator.html

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="description" content="Write, run, debug and share python code in your browser" />
6+
<meta name="author" content="pddring">
7+
<title>Create with code</title>
8+
9+
<!-- See http://blog.withcode.uk/about/license-and-acknowledgements/ for libraries used-->
10+
<script src="lib/cm/codemirror.js"></script>
11+
<script src="lib/cm/active-line.js"></script>
12+
<link rel="stylesheet" href="lib/cm/codemirror.css">
13+
<link rel="stylesheet" href="lib/cm/cobalt.css">
14+
<link rel="stylesheet" href="lib/cm/blackboard.css">
15+
<link rel="stylesheet" href="styles.css">
16+
<script src="lib/cm/python.js"></script>
17+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
18+
<script src="lib/lib.js"></script>
19+
<script src="lib/skulpt/skulpt.min.js"></script>
20+
<script src="lib/skulpt/skulpt-stdlib.js"></script>
21+
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
22+
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
23+
<script src="lib/jq/jquery.ui.touch-punch.min.js"></script>
24+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
25+
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
26+
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
27+
<link href='https://fonts.googleapis.com/css?family=Quicksand' rel='stylesheet' type='text/css'>
28+
</head>
29+
30+
<body>
31+
32+
33+
34+
<div id="output"></div>
35+
36+
<script>
37+
var toolsVisible = false;
38+
// load python IDE
39+
$(function() {
40+
PythonIDE.init();
41+
PythonIDE.runCode("normal");
42+
43+
});
44+
</script>
45+
46+
</body>
47+
</html>

lib/cm/active-line.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// CodeMirror, copyright (c) by Marijn Haverbeke and others
2+
// Distributed under an MIT license: http://codemirror.net/LICENSE
3+
4+
(function(mod) {
5+
if (typeof exports == "object" && typeof module == "object") // CommonJS
6+
mod(require("../../lib/codemirror"));
7+
else if (typeof define == "function" && define.amd) // AMD
8+
define(["../../lib/codemirror"], mod);
9+
else // Plain browser env
10+
mod(CodeMirror);
11+
})(function(CodeMirror) {
12+
"use strict";
13+
var WRAP_CLASS = "CodeMirror-activeline";
14+
var BACK_CLASS = "CodeMirror-activeline-background";
15+
var GUTT_CLASS = "CodeMirror-activeline-gutter";
16+
17+
CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
18+
var prev = old == CodeMirror.Init ? false : old;
19+
if (val == prev) return
20+
if (prev) {
21+
cm.off("beforeSelectionChange", selectionChange);
22+
clearActiveLines(cm);
23+
delete cm.state.activeLines;
24+
}
25+
if (val) {
26+
cm.state.activeLines = [];
27+
updateActiveLines(cm, cm.listSelections());
28+
cm.on("beforeSelectionChange", selectionChange);
29+
}
30+
});
31+
32+
function clearActiveLines(cm) {
33+
for (var i = 0; i < cm.state.activeLines.length; i++) {
34+
cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
35+
cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
36+
cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
37+
}
38+
}
39+
40+
function sameArray(a, b) {
41+
if (a.length != b.length) return false;
42+
for (var i = 0; i < a.length; i++)
43+
if (a[i] != b[i]) return false;
44+
return true;
45+
}
46+
47+
function updateActiveLines(cm, ranges) {
48+
var active = [];
49+
for (var i = 0; i < ranges.length; i++) {
50+
var range = ranges[i];
51+
var option = cm.getOption("styleActiveLine");
52+
if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
53+
continue
54+
var line = cm.getLineHandleVisualStart(range.head.line);
55+
if (active[active.length - 1] != line) active.push(line);
56+
}
57+
if (sameArray(cm.state.activeLines, active)) return;
58+
cm.operation(function() {
59+
clearActiveLines(cm);
60+
for (var i = 0; i < active.length; i++) {
61+
cm.addLineClass(active[i], "wrap", WRAP_CLASS);
62+
cm.addLineClass(active[i], "background", BACK_CLASS);
63+
cm.addLineClass(active[i], "gutter", GUTT_CLASS);
64+
}
65+
cm.state.activeLines = active;
66+
});
67+
}
68+
69+
function selectionChange(cm, sel) {
70+
updateActiveLines(cm, sel.ranges);
71+
}
72+
});

lib/cm/blackboard.css

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/* Port of TextMate's Blackboard theme */
2+
3+
.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
4+
.cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
5+
.cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
6+
.cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
7+
.cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
8+
.cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
9+
.cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
10+
.cm-s-blackboard .CodeMirror-linenumber { color: #888; }
11+
.cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
12+
13+
.cm-s-blackboard .cm-keyword { color: #FBDE2D; }
14+
.cm-s-blackboard .cm-atom { color: #D8FA3C; }
15+
.cm-s-blackboard .cm-number { color: #D8FA3C; }
16+
.cm-s-blackboard .cm-def { color: #8DA6CE; }
17+
.cm-s-blackboard .cm-variable { color: #FF6400; }
18+
.cm-s-blackboard .cm-operator { color: #FBDE2D; }
19+
.cm-s-blackboard .cm-comment { color: #AEAEAE; }
20+
.cm-s-blackboard .cm-string { color: #61CE3C; }
21+
.cm-s-blackboard .cm-string-2 { color: #61CE3C; }
22+
.cm-s-blackboard .cm-meta { color: #D8FA3C; }
23+
.cm-s-blackboard .cm-builtin { color: #8DA6CE; }
24+
.cm-s-blackboard .cm-tag { color: #8DA6CE; }
25+
.cm-s-blackboard .cm-attribute { color: #8DA6CE; }
26+
.cm-s-blackboard .cm-header { color: #FF6400; }
27+
.cm-s-blackboard .cm-hr { color: #AEAEAE; }
28+
.cm-s-blackboard .cm-link { color: #8DA6CE; }
29+
.cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
30+
31+
.cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
32+
.cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }

lib/cm/cobalt.css

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
.cm-s-cobalt.CodeMirror { background: #002240; color: white; }
2+
.cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
3+
.cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
4+
.cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
5+
.cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
6+
.cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
7+
.cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
8+
.cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
9+
.cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
10+
11+
.cm-s-cobalt span.cm-comment { color: #08f; }
12+
.cm-s-cobalt span.cm-atom { color: #845dc4; }
13+
.cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; }
14+
.cm-s-cobalt span.cm-keyword { color: #ffee80; }
15+
.cm-s-cobalt span.cm-string { color: #3ad900; }
16+
.cm-s-cobalt span.cm-meta { color: #ff9d00; }
17+
.cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
18+
.cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; }
19+
.cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
20+
.cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
21+
.cm-s-cobalt span.cm-link { color: #845dc4; }
22+
.cm-s-cobalt span.cm-error { color: #9d1e15; }
23+
24+
.cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
25+
.cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }

0 commit comments

Comments
 (0)