You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<li>Uses blazing-fast web APIs. <ahref="#details">More technical details below.</a></li>
21
-
<li>Framework-free. Only library is PrismJS, for syntax highlighting.</li>
22
-
<li>PWA support. Weighs 70% less than regular apps, can be installed and works offline.</li>
23
-
<li>Autosaving down to the character helps you pick up right where you left off. Code, scroll and caret positions, and location in your repos.</li>
24
-
<li>Supports 275 lanugages. Most common languages are preloaded by default, with uncommon languages loaded dynamically.</li>
25
-
<li>Codeit is built for Chrome on Android, Windows, macOS and Linux, as well as Safari on iOS.</li>
26
-
</ul>
27
-
28
-
<h2id="details">Technical details</h2>
1
+
<h1id="details">Technical details</h2>
29
2
30
3
<h3>The Codeit Editor</h3>
31
4
32
5
The editor utilizes:
33
6
34
7
<ul>
35
8
36
-
<li>The <ahref="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable"><code>contenteditable</code> API</a>, to enable editing the actual highlighted HTML. Compare this to other code editors, such as Visual Studio Code, Atom, or CodeMirror, which use an invisible overlaid textarea on top of the highlighted HTML, and constantly synchronize the textarea and DOM. Codeit's approach might be more preformant, as no synchronizing between textarea and DOM is required.</li>
9
+
<li>The <ahref="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable"><code>contenteditable</code> API</a>, to enable editing the highlighted HTML. Compare this to other code editors, such as Visual Studio Code, Atom, or CodeMirror, which use an invisible overlaid textarea on top of the highlighted HTML, and constantly synchronize the textarea and DOM. Codeit's approach is more performant, as synchronisation between textarea and DOM, and code buffering, are not required.</li>
37
10
38
11
<li>The <ahref="https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver"><code>MutationObserver</code> API</a>, to quickly detect changes in the DOM without an event listener. Changes from JavaScript will be detected automatically by the editor, without the need to run an <code>update</code> function.</li>
39
12
40
-
<li>The <ahref="https://developer.mozilla.org/en-US/docs/Web/API/Range"><code>Range</code> API</a>, for optimized parsing of the DOM. Using the <code>contenteditable</code> API could have included a caveat, as by default, the browser reparses the entire DOM after every change. However, using the Range API has been proven succesful to optimize DOM parsing by directing the browser to parse only what has actually changed.</li>
13
+
<li>The <ahref="https://developer.mozilla.org/en-US/docs/Web/API/Range"><code>Range</code> API</a>, for optimized parsing of the DOM. Using the <code>contenteditable</code> API includes a caveat, as the browser reparses the entire DOM after every change. However, using the Range API optimizes DOM parsing by directing the browser to parse only what's actually changed. This approach works for files up to 1000 lines in length. After that, code buffering is required.</li>
41
14
42
15
</ul>
43
16
@@ -49,13 +22,11 @@ When you log in to Git, Codeit recives an authuntication token from your Git hos
49
22
This token is saved on your device and is used to read and commit code.
50
23
51
24
When you edit a file, Codeit saves a local copy of the file on your device.
52
-
When you commit an edited file, it's local copy is deleted.
25
+
When you commit an edited file, its local copy is deleted.
53
26
54
27
<h3>Privacy</h3>
55
28
56
-
We don't use cookies and don't collect any personal data.
57
-
58
-
To install Codeit, we ask for the bare minimum. If cookies are disabled, your browser will block Codeit from installing a Service Worker, which is absolutely necessary for the app to function. For this reason, we ask you enable cookies on the Codeit site.
29
+
Codeit dosen't collect data. Your code stays on your device.
30
+
Codeit uses [Plausible](https://plausible.io) to get stats. [See the stats.](https://plausible.io/codeit.codes)
59
31
60
-
<h2>Special Thanks</h2>
61
-
Codeit's logo was created by <ahref="https://twitter.com/sandorqi">@sandorqi</a>.
32
+
If cookies are disabled, your browser will block Codeit from installing a Service Worker, which is necessary for the app to function. For this reason, we ask you enable cookies on the Codeit site.
0 commit comments