This repository has been archived by the owner on Feb 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathindex.html
92 lines (83 loc) · 17.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="main.css">
<title>SimpleWriter</title>
</head>
<body>
<div id="masthead" class="xkcd-box">
<img alt="XKCD" src='data:image/png;base64,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'>
<h1 class="xkcd-box-titlemain">Simple Writer</h1>
<h3 class="xkcd-box-title">
Write Like <a href="http://xkcd.com/1133/index.html">Up Goer Five</a> and <a href="http://blog.xkcd.com/2015/05/13/new-book-thing-explainer/">Thing Explainer</a>
</h3>
</div>
<div id="editor-wrapper" class="xkcd-box">
<h2 class="xkcd-box-title">Put Words Here</h2>
<div id="editor"></div>
</div>
<div id="erroneous-wrapper">
<div id="erroneous-mask"></div>
<div id="erroneous-wrapper-inner" class="xkcd-box">
<h2 class="xkcd-box-title">You Used Some Less Simple Words</h2>
<div id="erroneous"></div>
</div>
</div>
<script src="words.js"></script>
<script src="ace.min.js"></script>
<script>
'use strict';
const editor = ace.edit("editor");
const session = editor.getSession();
session.setMode("ace/mode/upwriter");
session.setUseWrapMode(true);
session.setTabSize(0);
// everyone wants Ctrl-L and Cmd-L to go to the address bar
editor.commands.removeCommand('gotoline');
editor.focus();
const editorElement = document.getElementById('editor');
const erroneousWrapper = document.getElementById('erroneous-wrapper');
const erroneous = document.getElementById('erroneous');
erroneous.addEventListener('click', e => {
if (e.target.tagName.toLowerCase() === "a") {
editor.find(e.target.innerText);
editor.findAll(e.target.innerText);
editor.focus();
}
});
session.on('changeMode', () => {
session.getMode().onRecalculateAllowed(editor, d => {
erroneous.innerHTML = d.map(w => `<a>${w}</a>`).join('');
erroneousWrapper.classList[d.length > 0 ? 'add' : 'remove']('invalid');
editorElement.style.bottom = `${erroneous.clientHeight}px`;
});
});
</script>
<script>
'use strict';
const electron = require('electron');
const ipcRenderer = electron.ipcRenderer;
document.ondragover = document.ondrop = e => {
e.preventDefault();
return false;
};
erroneousWrapper.ondragover = () => false;
erroneousWrapper.ondragleave = erroneousWrapper.ondragend = () => false;
erroneousWrapper.ondrop = e => {
e.preventDefault();
let reader = new FileReader();
let file = e.dataTransfer.files[0];
reader.onload = e => editor.setValue(e.target.result);
reader.readAsText(file);
return false;
};
ipcRenderer.on('getText', (e, arg) => {
e.returnValue = editor.getValue();
});
ipcRenderer.on('setText', (e, arg) => {
editor.setValue(arg);
});
</script>
</body>
</html>