-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
228 lines (219 loc) · 14.6 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=1">
<title>Just Write, Dammit!</title>
<meta name="description" content="Writing first, editing second. A streamlined app for writers.">
<meta name="keywords" content="writing software,book writing,novel writing,be more creative,my story,writing apps,writing flow,programs for writers,creativity aids,apps for writers,getting into flow">
<meta name="twitter:card" content="product">
<meta name="twitter:title" content="Just Write, Dammit: minimalist novel writing platform">
<meta name="twitter:description" content="A distraction-free writing program that syncs your writing across devices. The minimalist, fullscreen layout helps focus the writer on long writing sessions.">
<meta name="twitter:image" content="https://www.justwritedammit.com/jwd256x256.png">
<meta name="twitter:image:width" content="256">
<meta name="twitter:image:height" content="256">
<meta name="twitter:creator" content="@moron4hire">
<meta name="twitter:label1" content="Price">
<meta name="twitter:data1" content="free, open-source">
<meta name="twitter:label2" content="Users">
<meta name="twitter:data2" content="no signup required">
<link type="image/png" rel="icon" href="jwd64x64.png">
<link type="image/png" rel="apple-touch-icon" href="jwd64x64.png">
<link type="text/css" rel="stylesheet" id="theme-block" href="color1.css" />
<script>
var curAppVersion = 32;
var s = document.createElement("link");
s.rel = "stylesheet";
s.type = "text/css";
s.href = "style.css?v" + curAppVersion;
document.head.appendChild(s);
s = document.getElementById("theme-block");
s.href = "color1.css?v" + curAppVersion;
document.head.appendChild(s);
</script>
</head>
<body>
<form name="form">
<div id="notifications"></div>
<header style="display:none;">
<a class="button" onclick="showTab(['main', 'menu']);">Menu</a><a class="button" onclick="saveFile()">Save</a><span id="file-controls"><a class="button" onclick="prevFile()" title="previous chapter"><-</a><a class="button" onclick="nextFile()" title="next chapter">-></a><a class="button" onclick="addNewFile()" title="add chapter">+</a></span><a class="button" onclick="toggleFullScreen()" title="fullscreen">❖</a><a id="toggle-menu-button" class="button" onclick="toggleMenu()" title="hide toolbar">«</a>
</header>
<div id="main">
<section id="menu" data-hide-menu="true">
<a class="button">About</a>
<a class="button">Write</a>
<a class="button">Analyze</a>
<a class="button">Publish</a>
<a class="button">Configure</a>
<p id="the-chain">Don't break the chain! Use JWD consecutive days in a row.<br><checking...></p>
<p>
Just Write, Dammit!<br>
Writing first, editing second.<br>
<a href="https://github.com/capnmidnight/jwd" target="_blank" onclick="ga('send', 'pageview', 'github');">Free, open-source software</a>.<br>
© <a href="mailto:sean.mcbeth+jwd@gmail.com" onclick="ga('send', 'pageview', 'email address');">Sean T. McBeth, 2014</a><br>
<a href="https://groups.google.com/d/forum/just-write-dammit" target="_blank" onclick="ga('send', 'pageview', 'mailing list');">Join the email list for notifications.</a><br>
<a href="https://www.gittip.com/capnmidnight/" target="_blank" onclick="ga('send', 'pageview', 'gittip');">Help me help writers.</a><br>
<small>
<em>
<a href="tos.pdf" onclick="ga('send', 'pageview', 'TOS');">terms of service</a>
| <a href="privacy_policy.pdf" onclick="ga('send', 'pageview', 'privacy policy');">privacy policy</a>
| <a href="dmca.pdf" onclick="ga('send', 'pageview', 'DMCA');">dmca notice</a>
</em>
</small>
</p>
</section>
<section id="about">
<article class="textContent">
<h3>About Just Write, Dammit!</h3>
<img src="jwd64x64.png" style="float:left;margin:0.5em">
<p>
This is "Just Write, Dammit!". JWD is the <em>excuse eliminator</em> for your writing aspirations. It is a distraction-free writing program that syncs your writing across devices, provides easy-to-use analysis features to make you a better writer, and simple document publishing methods to get your writing out to readers. So put Twitter/Facebook/G+/Farmville/etc. down and just write, dammit!
</p>
<p>
JWD helps serious writers finish their manuscript, fix common style errors, and publish their writing for consumption:
<ul>
<li>Distraction-free writing: run in full-screen mode to block out the noise of the modern, connected life.</li>
<li>EPUB package generator<sup>1</sup>: prepare your writing for eReader devices in a single click.</li>
<li>Auto-updating word count and writing timer: know when you've hit your writing quota for the day.</li>
<li>Word- and phrase-frequency analysis: find out where you habitually overuse idioms and expressions.</li>
<li>Chapter-based organization structure: keep organized and focused on one subject at a time.</li>
<li>Minimalist, responsive, cross-platform design<sup>4</sup>: runs just as well on your smartphone or tablet as it does on your laptop or desktop computer.</li>
<li>Backup manuscript to file system: Archive and keep track of multiple book projects at one time.</li>
</ul>
<section class="footnotes">
<ol>
<li>Amazon Kindle requires a conversion process to be able to display ePub documents. The process is handled automatically by Amazon.</li>
<li>
Runs on any operating system that provides an HTML5-compliant Web browser, which includes all recent versions of Windows, OSX, Linux, iOS, Android, and *BSD. Currently supporting Google Chrome, Internet Explorer 10+, Mozilla Firefox, Safari, and Opera. Google Chrome is recommended for the best experience on all operating systems.
</li>
</ol>
</section>
</p>
<p>
<a href="about.html">Read more about the story behind and motivations leading to "Just Write, Dammit"</a>.
</p>
<p>
<a href="https://www.gittip.com/capnmidnight/" target="_blank" onclick="ga('send', 'pageview', 'gittip');">With your support</a>, we can make JWD even more. Be able to manage multiple book-writing projects at the same time. Apply basic formatting. Leverage more text analysis algorithms for honing the writing. And play creativity-stimulating minigames that serve to push the writer out of writer's, teaching better writing habits.
</p>
</article>
</section>
<section id="write" data-show-file-controls="true">
<div id="chapter-bar">
<input type="text" id="chapter-name" spellcheck="false" placeholder="(new chapter)">
<select id="writing-mode" onchange="setWritingMode(this.value, false);">
<option value="min">Minimal</option>
<option value="spell">Speel-chek</option>
<option value="charge">Charge!</option>
</select>
</div>
<textarea id="writer" class="textContent" cols="50" rows="50" placeholder="(type text here)"></textarea>
<div id="infobar">
chapter: <span id="file-count"></span>
<span id="unsaved-file-indicator">(unsaved)</span> |
words: <span id="total-word-count"></span> (<span id="add-word-count"></span>) |
time: <span id="clock"></span>
<span id="score"></span>
</div>
</section>
<section id="edit" data-show-file-controls="true">
<article class="textContent">
<h1>Editing</h1>
<p>Use this section to edit your writing.</p>
<div id="editor"></div>
</article>
</section>
<section id="analyze" data-show-file-controls="true">
<article class="textContent">
<h1>Word frequency analysis</h1>
<p>This section provides insight into the frequency with which you use certain words and phrases.</p>
<input type="text" id="min-frequency">
<div><input type="text" id="exclude-words" placeholder="(comma-separated list of words to exclude)" size="50"></div>
<h2>Single-word frequency</h2>
<p id="word-1-frequency"></p>
<h2>Two-word phrase frequency</h2>
<p id="word-2-frequency"></p>
<h2>Three-word phrase frequency</h2>
<p id="word-3-frequency"></p>
<h2>Four-word phrase frequency</h2>
<p id="word-4-frequency"></p>
</article>
</section>
<section id="publish" data-show-file-controls="true">
<article class="textContent">
<h1>Publishing</h1>
<p>
Use this page to generate an HTML or ePub file for your book.
</p>
<p>
<label for="pub-title">Title:</label>
<input type="text" id="pub-title" placeholder="(enter book title)"><br />
<label for="pub-author-first-name">Author:</label>
<input type="text" id="pub-author-first-name" placeholder="(first name)" size="10">
<input type="text" id="pub-author-last-name" placeholder="(last name)" size="15"><br />
<label for="pub-image">Cover:<img id="pub-image-thumb" alt="cover image thumbnail" title="Cover Image" style="display:none" /></label>
<input type="file" id="pub-image" />
</p>
<a class="button" onclick="exportHTML()">Export HTML</a>
<a class="button" onclick="exportEPUB()">Export EPUB</a>
</article>
</section>
<section id="configure">
<article class="textContent">
<h1>Configuration</h1>
<p>Use this screen to set system settings.</p>
<h2>Theme</h2>
<p>Select the color set you would like to use while writing.</p>
<table>
<tr>
<td style="background-color:#E9D7B3"> </td>
<td style="background-color:#5D5561"> </td>
</tr>
<tr>
<td style="background-color:#040310"> </td>
<td style="background-color:#F4FFFA"> </td>
</tr>
</table>
<h2>Storage</h2>
<p>Select the system you would like to use to store your writing data. The storage configuration setting must be set separately for all browsers and computers. All other configuration settings are stored in the selected storage system.</p>
<label for="storage-type">Storage type:</label>
<select id="storage-type">
<option value="local">Web browser's local storage</option>
<option value="desktop">Computer file system</option>
</select><a class="button" onclick="loadData()">Load data</a>
<div id="storage-details">
<p id="storage-local">
Store the data in your current browser (<span id="browser-info"></span>). You will not be able to share data between browsers or computers. Data will always be immediately available for use.
</p>
<p id="storage-desktop">
Store the data on your local file system. You will not be able to share data between browsers or computers. You will not be able to auto-save. Data will be available without a network connection.
<span style="display:none"><input type="file" id="browse-storage-file" /><a class="button" onclick="desktopSave()">Export</a></span>
</p>
</div>
<h2>DANGER! Developer settings!</h2>
<p><a class="button" onclick="XXX_RESET_XXX()">Reset everything</a></p>
</article>
</section>
</div>
</form>
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-49938410-1', 'justwritedammit.com');
ga('require', 'linkid', 'linkid.js');
ga('require', 'displayfeatures');
</script>
<script id="setup">
var s = document.createElement("script");
s.async = 1;
s.addEventListener("load", function () {
require("psychologist.js", "selecticator.js", "interrobang.js", "stuffing.js", "local.js", "FileSaver.js", "desktop.js", "fileops.js", "chains.js", "poindexter.js", "publican.js", "writer.js", "dammit.js", "fullscreen.js", "jszip.min.js");
}, false);
s.src = "require.js?v" + curAppVersion;
document.head.appendChild(s);
</script>
</body>
</html>