initial commit
This commit is contained in:
commit
ebd56ccd79
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.DS_Store
|
||||||
|
.sass-cache/
|
11
Gemfile.lock
Normal file
11
Gemfile.lock
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
GEM
|
||||||
|
specs:
|
||||||
|
coffee-script-source (1.1.1)
|
||||||
|
erubis (2.7.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
coffee-script-source
|
||||||
|
erubis
|
12
Guardfile
Normal file
12
Guardfile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
guard 'compass' do
|
||||||
|
watch(%r{^sass/.*})
|
||||||
|
end
|
||||||
|
|
||||||
|
guard 'shell' do
|
||||||
|
watch(%r{^src/.*}) do
|
||||||
|
puts "Building..."
|
||||||
|
system %{rake build}
|
||||||
|
system %{open CoffeeScript.wdgt}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
13
Rakefile
Normal file
13
Rakefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
require 'rubygems'
|
||||||
|
require 'coffee_script/source'
|
||||||
|
require 'erubis'
|
||||||
|
|
||||||
|
desc 'build the widget'
|
||||||
|
task :build do
|
||||||
|
mkdir_p 'CoffeeScript.wdgt'
|
||||||
|
Dir['src/**/*'].each do |file|
|
||||||
|
cp file, 'CoffeeScript.wdgt'
|
||||||
|
end
|
||||||
|
cp CoffeeScript::Source.bundled_path, 'CoffeeScript.wdgt'
|
||||||
|
end
|
||||||
|
|
24
config.rb
Normal file
24
config.rb
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Require any additional compass plugins here.
|
||||||
|
|
||||||
|
# Set this to the root of your project when deployed:
|
||||||
|
http_path = "/"
|
||||||
|
css_dir = "src"
|
||||||
|
sass_dir = "sass"
|
||||||
|
images_dir = "src"
|
||||||
|
javascripts_dir = "javascripts"
|
||||||
|
|
||||||
|
# You can select your preferred output style here (can be overridden via the command line):
|
||||||
|
# output_style = :expanded or :nested or :compact or :compressed
|
||||||
|
|
||||||
|
# To enable relative paths to assets via compass helper functions. Uncomment:
|
||||||
|
relative_assets = true
|
||||||
|
|
||||||
|
# To disable debugging comments that display the original location of your selectors. Uncomment:
|
||||||
|
line_comments = false
|
||||||
|
|
||||||
|
|
||||||
|
# If you prefer the indented syntax, you might want to regenerate this
|
||||||
|
# project again passing --syntax sass, or you can uncomment this:
|
||||||
|
# preferred_syntax = :sass
|
||||||
|
# and then run:
|
||||||
|
# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
|
91
sass/style.scss
Normal file
91
sass/style.scss
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
@import 'compass/css3';
|
||||||
|
@import 'compass/utilities';
|
||||||
|
|
||||||
|
$padding: 10px;
|
||||||
|
$width: 640px - ($padding * 2);
|
||||||
|
$height: 360px - ($padding * 2);
|
||||||
|
|
||||||
|
$textarea-width: ($width - $padding) / 2;
|
||||||
|
$textarea-height: $height - image_height('logo.png') - $padding;
|
||||||
|
|
||||||
|
body {
|
||||||
|
form {
|
||||||
|
background-color: #181A3A;
|
||||||
|
@include border-radius($padding);
|
||||||
|
padding: $padding;
|
||||||
|
|
||||||
|
width: $width;
|
||||||
|
height: $height;
|
||||||
|
@include clearfix;
|
||||||
|
|
||||||
|
header {
|
||||||
|
margin-bottom: $padding;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
@include background(
|
||||||
|
linear-gradient(#eee, #f8f8f8)
|
||||||
|
);
|
||||||
|
@include border-radius($padding / 2);
|
||||||
|
height: image_height('logo.png');
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
a {
|
||||||
|
background: url('logo.png') top left no-repeat;
|
||||||
|
width: image_width('logo.png');
|
||||||
|
height: image_height('logo.png');
|
||||||
|
display: block;
|
||||||
|
@include hide-text;
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#error {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
width: $width - image_width('logo.png') - $padding;
|
||||||
|
height: image_height('logo.png') - ($padding * 2);
|
||||||
|
margin-left: $padding;
|
||||||
|
@include border-right-radius($padding / 2);
|
||||||
|
|
||||||
|
padding: $padding 0;
|
||||||
|
|
||||||
|
@include background(
|
||||||
|
linear-gradient(#ffedec, #ff9a95)
|
||||||
|
);
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
span {
|
||||||
|
text: {
|
||||||
|
transform: uppercase;
|
||||||
|
}
|
||||||
|
font: {
|
||||||
|
family: "Helvetica Neue", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif;
|
||||||
|
size: 13px;
|
||||||
|
weight: bold;
|
||||||
|
}
|
||||||
|
color: #D00;
|
||||||
|
padding-right: $padding;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
@include float-left;
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
font: {
|
||||||
|
family: Monaco, Consolas, "Lucida Console", monospace;
|
||||||
|
size: 10px;
|
||||||
|
}
|
||||||
|
color: #DEF;
|
||||||
|
width: $textarea-width;
|
||||||
|
height: $textarea-height;
|
||||||
|
|
||||||
|
&#javascript {
|
||||||
|
margin-left: $padding
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
src/Default.png
Normal file
BIN
src/Default.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 221 B |
30
src/Info.plist
Normal file
30
src/Info.plist
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>AllowNetworkAccess</key>
|
||||||
|
<false/>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>CoffeeScript</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.coswellproductions.coffeescript</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>CoffeeScript</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>0.1</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>2</string>
|
||||||
|
<key>CloseBoxInsetX</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>CloseBoxInsetY</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Width</key>
|
||||||
|
<integer>660</integer>
|
||||||
|
<key>Height</key>
|
||||||
|
<integer>380</integer>
|
||||||
|
<key>MainHTML</key>
|
||||||
|
<string>index.html</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
38
src/index.html
Normal file
38
src/index.html
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>CoffeeScript</title>
|
||||||
|
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="coffee-script.js"></script>
|
||||||
|
<script type="text/coffeescript">
|
||||||
|
jQuery(->
|
||||||
|
recompile = ->
|
||||||
|
try
|
||||||
|
compiledJS = CoffeeScript.compile($('#coffee-script').val(), bare: true)
|
||||||
|
$('#javascript').val(compiledJS)
|
||||||
|
|
||||||
|
$('#error').hide()
|
||||||
|
catch error
|
||||||
|
$('#error').show().html("<span>#{error.message}</span>")
|
||||||
|
|
||||||
|
$('#coffee-script').bind('change keyup', recompile)
|
||||||
|
recompile()
|
||||||
|
|
||||||
|
$('a').click(-> widget.openURL($(this).attr('href')))
|
||||||
|
)
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form>
|
||||||
|
<header>
|
||||||
|
<a href="http://jashkenas.github.com/coffee-script/" target="_new" id="logo">CoffeeScript</a>
|
||||||
|
<div id="error"></div>
|
||||||
|
</header>
|
||||||
|
<textarea name="coffee-script" id="coffee-script">class HelloWorld
|
||||||
|
constructor: ->
|
||||||
|
console.log("Hello world!")</textarea>
|
||||||
|
<textarea name="javascript" id="javascript"></textarea>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
18
src/jquery.js
vendored
Normal file
18
src/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
src/logo.png
Normal file
BIN
src/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
92
src/style.css
Normal file
92
src/style.css
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
body form {
|
||||||
|
background-color: #181A3A;
|
||||||
|
-moz-border-radius: 10px;
|
||||||
|
-webkit-border-radius: 10px;
|
||||||
|
-o-border-radius: 10px;
|
||||||
|
-ms-border-radius: 10px;
|
||||||
|
-khtml-border-radius: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
width: 620px;
|
||||||
|
height: 340px;
|
||||||
|
overflow: hidden;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
body form header {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
position: relative;
|
||||||
|
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eeeeee), color-stop(100%, #f8f8f8));
|
||||||
|
background: -webkit-linear-gradient(#eeeeee, #f8f8f8);
|
||||||
|
background: -moz-linear-gradient(#eeeeee, #f8f8f8);
|
||||||
|
background: -o-linear-gradient(#eeeeee, #f8f8f8);
|
||||||
|
background: -ms-linear-gradient(#eeeeee, #f8f8f8);
|
||||||
|
background: linear-gradient(#eeeeee, #f8f8f8);
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-o-border-radius: 5px;
|
||||||
|
-ms-border-radius: 5px;
|
||||||
|
-khtml-border-radius: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
height: 50px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
body form header a {
|
||||||
|
background: url("logo.png") top left no-repeat;
|
||||||
|
width: 225px;
|
||||||
|
height: 50px;
|
||||||
|
display: block;
|
||||||
|
text-indent: -119988px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: left;
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
body form header #error {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
width: 385px;
|
||||||
|
height: 30px;
|
||||||
|
margin-left: 10px;
|
||||||
|
-moz-border-radius-topright: 5px;
|
||||||
|
-webkit-border-top-right-radius: 5px;
|
||||||
|
-o-border-top-right-radius: 5px;
|
||||||
|
-ms-border-top-right-radius: 5px;
|
||||||
|
-khtml-border-top-right-radius: 5px;
|
||||||
|
border-top-right-radius: 5px;
|
||||||
|
-moz-border-radius-bottomright: 5px;
|
||||||
|
-webkit-border-bottom-right-radius: 5px;
|
||||||
|
-o-border-bottom-right-radius: 5px;
|
||||||
|
-ms-border-bottom-right-radius: 5px;
|
||||||
|
-khtml-border-bottom-right-radius: 5px;
|
||||||
|
border-bottom-right-radius: 5px;
|
||||||
|
padding: 10px 0;
|
||||||
|
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffedec), color-stop(100%, #ff9a95));
|
||||||
|
background: -webkit-linear-gradient(#ffedec, #ff9a95);
|
||||||
|
background: -moz-linear-gradient(#ffedec, #ff9a95);
|
||||||
|
background: -o-linear-gradient(#ffedec, #ff9a95);
|
||||||
|
background: -ms-linear-gradient(#ffedec, #ff9a95);
|
||||||
|
background: linear-gradient(#ffedec, #ff9a95);
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
body form header #error span {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-family: "Helvetica Neue", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #D00;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
body textarea {
|
||||||
|
display: inline;
|
||||||
|
float: left;
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
font-family: Monaco, Consolas, "Lucida Console", monospace;
|
||||||
|
font-size: 10px;
|
||||||
|
color: #DEF;
|
||||||
|
width: 305px;
|
||||||
|
height: 280px;
|
||||||
|
}
|
||||||
|
body textarea#javascript {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user