66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
(function($) {
|
|
|
|
$(function() {
|
|
var converter = Markdown.getSanitizingConverter();
|
|
var editor = new Markdown.Editor(converter);
|
|
editor.run();
|
|
$(window).resize(resize);
|
|
resize();
|
|
|
|
if (typeof (Storage) !== "undefined") {
|
|
fileManager.init();
|
|
} else {
|
|
showError("Web storage is not available");
|
|
}
|
|
});
|
|
|
|
var fileManager = {};
|
|
|
|
fileManager.init = function() {
|
|
if (localStorage.fileSystem) {
|
|
this.fileSystem = JSON.parse(localStorage.fileSystem);
|
|
if (localStorage.currentFile)
|
|
this.selectFile(localStorage.currentFile);
|
|
else
|
|
this.selectFile(Object.keys(this.fileSystem)[0]);
|
|
} else {
|
|
this.fileSystem = {};
|
|
this.createFile("New file");
|
|
}
|
|
window.setInterval(function() {
|
|
fileManager.saveFile();
|
|
}, 5000);
|
|
};
|
|
|
|
fileManager.createFile = function(filename) {
|
|
this.fileSystem[filename] = "blah blah";
|
|
this.selectFile(filename);
|
|
};
|
|
|
|
fileManager.selectFile = function(filename) {
|
|
this.currentFile = filename;
|
|
this.content = this.fileSystem[this.currentFile];
|
|
$("#wmd-input").val(this.content);
|
|
$("#info-filename").text(filename);
|
|
};
|
|
|
|
fileManager.saveFile = function() {
|
|
this.content = $("#wmd-input").val();
|
|
this.fileSystem[this.currentFile] = this.content;
|
|
localStorage.fileSystem = JSON.stringify(this.fileSystem);
|
|
localStorage.currentFile = this.currentFile;
|
|
insertFile(this.content);
|
|
};
|
|
|
|
function resize() {
|
|
$("#wmd-input").width($(window).width() / 2 - 60).height(
|
|
$(window).height() - 70);
|
|
$("#wmd-preview").width($(window).width() / 2 - 60).height(
|
|
$(window).height() - 100);
|
|
}
|
|
|
|
function showError(msg) {
|
|
alert(msg);
|
|
}
|
|
})(jQuery);
|