commit
9d0b0c9f21
5 changed files with 9267 additions and 0 deletions
@ -0,0 +1,76 @@ |
||||
|
||||
|
||||
|
||||
var application = function() { |
||||
|
||||
}; |
||||
|
||||
|
||||
|
||||
// TODO implement save as a jquery method
|
||||
// TODO maybe remove jquery
|
||||
// TODO support for browsers without pushstate
|
||||
// TODO tab support
|
||||
// TODO support for push state navigation
|
||||
// TODO layerX and layerY fix warnings
|
||||
// TODO turn off spelling correction
|
||||
var save = function(data, callback) { |
||||
var high = hljs.highlightAuto(data); |
||||
var pack = { |
||||
language: high.language, |
||||
data: data |
||||
}; |
||||
pack.value = high.value; |
||||
pack.uuid = '123456'; |
||||
callback(pack); |
||||
}; |
||||
|
||||
$(function() { |
||||
|
||||
$('textarea').focus(); |
||||
|
||||
$('textarea').keyup(function(evt) { |
||||
if (evt.ctrlKey && evt.which === 76) { |
||||
save($('textarea').val(), function(ret) { |
||||
if (ret) { |
||||
$('#box code').html(ret.value); |
||||
// window.history.pushState(null, 'Heist - ' + ret.language, '/~john/heist/' + ret.uuid);
|
||||
document.title = 'heist - ' + ret.language; |
||||
$('textarea').hide(); |
||||
$('#box').show();
|
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
|
||||
$('textarea').keydown(function(evt) { |
||||
if (evt.keyCode === 9) { |
||||
evt.preventDefault(); |
||||
var myValue = ' '; |
||||
// Inspired by http://stackoverflow.com/questions/946534/insert-text-into-textarea-with-jquery
|
||||
// For browsers like Internet Explorer
|
||||
if (document.selection) { |
||||
this.focus(); |
||||
sel = document.selection.createRange(); |
||||
sel.text = myValue; |
||||
this.focus(); |
||||
} |
||||
// Mozilla and Webkit
|
||||
else if (this.selectionStart || this.selectionStart == '0') { |
||||
var startPos = this.selectionStart; |
||||
var endPos = this.selectionEnd; |
||||
var scrollTop = this.scrollTop; |
||||
this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length); |
||||
this.focus(); |
||||
this.selectionStart = startPos + myValue.length; |
||||
this.selectionEnd = startPos + myValue.length; |
||||
this.scrollTop = scrollTop; |
||||
} |
||||
else { |
||||
this.value += myValue; |
||||
this.focus(); |
||||
} |
||||
} |
||||
}); |
||||
|
||||
}); |
File diff suppressed because one or more lines are too long
@ -0,0 +1,50 @@ |
||||
<html> |
||||
|
||||
<head> |
||||
|
||||
<title>heist</title> |
||||
|
||||
<link rel="stylesheet" type="text/css" href="solarized_dark.css"/> |
||||
<style type="text/css"> |
||||
body { |
||||
background: #002B36; |
||||
padding: 0px; |
||||
margin: 0px; |
||||
} |
||||
textarea { |
||||
background: transparent; |
||||
border: 0px; |
||||
color: #fff; |
||||
padding: 20px; |
||||
width: 100%; |
||||
height: 100%; |
||||
font-family: monospace; |
||||
outline: none; |
||||
resize: none; |
||||
font-size: 13px; |
||||
} |
||||
#box { |
||||
padding: 0px; |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
#box code { |
||||
padding: 20px; |
||||
} |
||||
</style> |
||||
|
||||
<script type="text/javascript" src="jquery-1.6.3.js"></script> |
||||
<script type="text/javascript" src="highlight.min.js"></script> |
||||
<script type="text/javascript" src="application.js"></script> |
||||
|
||||
</head> |
||||
|
||||
<body> |
||||
|
||||
<pre id="box" style="display:none;"><code></code></pre> |
||||
|
||||
<textarea></textarea> |
||||
|
||||
</body> |
||||
|
||||
</html> |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,96 @@ |
||||
/* |
||||
|
||||
Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com> |
||||
|
||||
*/ |
||||
|
||||
pre code { |
||||
display: block; padding: 0.5em; |
||||
background: #002b36; color: #839496; |
||||
} |
||||
|
||||
pre .comment, |
||||
pre .template_comment, |
||||
pre .diff .header, |
||||
pre .doctype, |
||||
pre .lisp .string, |
||||
pre .javadoc { |
||||
color: #586e75; |
||||
font-style: italic; |
||||
} |
||||
|
||||
pre .keyword, |
||||
pre .css .rule .keyword, |
||||
pre .winutils, |
||||
pre .javascript .title, |
||||
pre .method, |
||||
pre .addition, |
||||
pre .css .tag, |
||||
pre .lisp .title { |
||||
color: #859900; |
||||
} |
||||
|
||||
pre .number, |
||||
pre .command, |
||||
pre .string, |
||||
pre .tag .value, |
||||
pre .phpdoc, |
||||
pre .tex .formula, |
||||
pre .regexp, |
||||
pre .hexcolor { |
||||
color: #2aa198; |
||||
} |
||||
|
||||
pre .title, |
||||
pre .localvars, |
||||
pre .function .title, |
||||
pre .chunk, |
||||
pre .decorator, |
||||
pre .builtin, |
||||
pre .built_in, |
||||
pre .lisp .title, |
||||
pre .identifier, |
||||
pre .title .keymethods, |
||||
pre .id { |
||||
color: #268bd2; |
||||
} |
||||
|
||||
pre .tag .title, |
||||
pre .rules .property, |
||||
pre .django .tag .keyword { |
||||
font-weight: bold; |
||||
} |
||||
|
||||
pre .attribute, |
||||
pre .variable, |
||||
pre .instancevar, |
||||
pre .lisp .body, |
||||
pre .smalltalk .number, |
||||
pre .constant, |
||||
pre .class .title, |
||||
pre .parent, |
||||
pre .haskell .label { |
||||
color: #b58900; |
||||
} |
||||
|
||||
pre .preprocessor, |
||||
pre .pi, |
||||
pre .shebang, |
||||
pre .symbol, |
||||
pre .diff .change, |
||||
pre .special, |
||||
pre .keymethods, |
||||
pre .attr_selector, |
||||
pre .important, |
||||
pre .subst, |
||||
pre .cdata { |
||||
color: #cb4b16; |
||||
} |
||||
|
||||
pre .deletion { |
||||
color: #dc322f; |
||||
} |
||||
|
||||
pre .tex .formula { |
||||
background: #073642; |
||||
} |
Loading…
Reference in new issue