Skip to content

Instantly share code, notes, and snippets.

@jalalhejazi
Created April 17, 2013 19:45
Show Gist options
  • Save jalalhejazi/5407175 to your computer and use it in GitHub Desktop.
Save jalalhejazi/5407175 to your computer and use it in GitHub Desktop.
Editor: Offline CodeMirror Editor & hidden link
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>
WebApp.Offline.Editor
</title>
<script src="http://codemirror.net/lib/codemirror.js">
</script>
<link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css"
/>
<script src="http://codemirror.net/mode/xml/xml.js">
</script>
<script src="http://codemirror.net/mode/javascript/javascript.js">
</script>
<script src="http://codemirror.net/mode/css/css.js">
</script>
<script src="http://codemirror.net/mode/htmlmixed/htmlmixed.js">
</script>
<script src="http://codemirror.net/mode/markdown/markdown.js">
</script>
</head>
<body>
<div id="editor">
</div>
<div>
<input type="submit" value="js" onclick="myCodeMirror.setOption('mode', 'javascript');">
<input type="submit" value="html" onclick="myCodeMirror.setOption('mode', 'htmlmixed');">
<input type="submit" value="markdown" onclick="myCodeMirror.setOption('mode', 'markdown');">
</div>
<div>
<input type="file" onchange="localLoad(this.files);" />
<input type="submit" value="save history" onclick="window.open(localSave());">
<input type="submit" value="Run" onclick="localRun();">
</div>
</body>
<script>
var myCodeMirror = CodeMirror(
document.getElementById('editor'), {
lineNumbers: true
});
console.log("Jalal.Hejazi 2013.04");
console.log("Encode_Self:> ","myCodeMirror.setValue(decodeURIComponent(location.href));");
console.log("Run:> ","location.href = 'data:text/html;charset=utf-8,' + encodeURIComponent(myCodeMirror.getValue()); ");
//LOCAL FILESYSTEM
function localSave() {
return 'data:text/plain;charset=utf-8,' + encodeURIComponent(myCodeMirror.getValue());
}
function localLoad(files) {
if (files.length == 1) {
document.title = escape(files[0].name);
var reader = new FileReader();
reader.onload = function(e) {
myCodeMirror.setValue(e.target.result);
};
reader.readAsText(files[0]);
}
}
function localRun() {
location.href = 'data:text/html;charset=utf-8,' + encodeURIComponent(myCodeMirror.getValue());
}
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment