Skip to content

Commit 589b2ee

Browse files
authored
Merge pull request #135 from codeitcodes/dev
Dev
2 parents 3f652af + 6857906 commit 589b2ee

File tree

7 files changed

+107
-5556
lines changed

7 files changed

+107
-5556
lines changed

about.md

Lines changed: 0 additions & 61 deletions
This file was deleted.

homepage/about.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<h1 id="details">Technical details</h2>
2+
3+
<h3>The Codeit Editor</h3>
4+
5+
The editor utilizes:
6+
7+
<ul>
8+
9+
<li>The <a href="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>
10+
11+
<li>The <a href="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>
12+
13+
<li>The <a href="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>
14+
15+
</ul>
16+
17+
The editor is <a href="/lib">fully standalone</a>, and is a library by itself. It includes multiple custom <a href="/lib">plugins</a> and <a href="https://github.com/PrismJS/prism/tree/master/themes">themes</a>.
18+
19+
<h3>Security</h3>
20+
21+
When you log in to Git, Codeit recives an authuntication token from your Git hosting provider.
22+
This token is saved on your device and is used to read and commit code.
23+
24+
When you edit a file, Codeit saves a local copy of the file on your device.
25+
When you commit an edited file, its local copy is deleted.
26+
27+
<h3>Privacy</h3>
28+
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)
31+
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.

homepage/homepage.css

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/* Yeah I know it's messy,
2-
I was busy working on the Codeit app so I used a site generator :3
3-
*/
4-
51
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
62

73
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
@@ -3128,8 +3124,8 @@ body {
31283124
}
31293125

31303126
.footer__primary {
3131-
margin-right: 40px;
3132-
margin-bottom: 0
3127+
margin: 0;
3128+
margin-right: -7px;
31333129
}
31343130

31353131
.footer__end {
@@ -3208,7 +3204,8 @@ body {
32083204
.footer__social {
32093205
display: flex;
32103206
list-style-type: none;
3211-
padding-left: 0
3207+
padding-left: 0;
3208+
margin: 0;
32123209
}
32133210

32143211
.footer__social li {
@@ -3234,12 +3231,11 @@ body {
32343231
.footer__linkRow {
32353232
display: flex;
32363233
flex-wrap: wrap;
3237-
margin: 0 -8px
32383234
}
32393235

32403236
.footer__linkRow a {
32413237
color: inherit;
3242-
margin: 0 8px
3238+
margin: 0 7px
32433239
}
32443240

32453241
.footer__linkGroups {
@@ -4242,7 +4238,8 @@ body {
42424238
}
42434239

42444240
.ftPoint__description {
4245-
font-size: 1.15em
4241+
font-size: 1.15em;
4242+
color: #b3b3b3;
42464243
}
42474244

42484245
.ftPoint__description p {
@@ -4322,7 +4319,7 @@ body {
43224319
}
43234320

43244321
.ft:not(.ft--right):not(.ft--noPdx) .ft__half:last-child {
4325-
padding-top: 50px
4322+
padding-top: 25px
43264323
}
43274324

43284325
.ft:not(.ft--right):not(.ft--noPdx) .ft__half:first-child {
@@ -4377,6 +4374,15 @@ body {
43774374
.ftChecks {
43784375
justify-content: center
43794376
}
4377+
4378+
#footer .footer__social {
4379+
margin: 15px auto;
4380+
}
4381+
4382+
#footer .footer__primary {
4383+
margin: auto;
4384+
margin-bottom: 10px;
4385+
}
43804386
}
43814387

43824388
@media only screen and (max-width:500px) {
@@ -4681,11 +4687,11 @@ a[href]:not(.btn):hover {
46814687
}
46824688

46834689
#hero {
4684-
background: #010101 !important;
4690+
background: hsl(228deg 14% 7%) !important;
46854691
}
46864692

46874693
body {
4688-
background: #010101;
4694+
background: hsl(228deg 14% 7%);
46894695
}
46904696

46914697
#hero .pdxParent--smartphones::after {
@@ -4694,7 +4700,7 @@ body {
46944700
top: 0;
46954701
width: 100%;
46964702
height: 100px;
4697-
background: linear-gradient(180deg, #010101, #01010100);
4703+
background: linear-gradient(180deg, hsl(228deg 14% 7%), hsl(228deg 14% 7% / 0%));
46984704
z-index: 10;
46994705
}
47004706

@@ -4757,7 +4763,7 @@ body {
47574763
content: '';
47584764
height: 28px;
47594765
width: 28px;
4760-
box-shadow: inset 0 0 0 2px rgb(255 255 255 / 10%), inset 0 -10px 0 0 #000, inset 0 0 0 2px rgb(255 255 255 / 50%);
4766+
box-shadow: inset 0 0 0 2px rgb(255 255 255 / 10%), inset 0 -10px 0 0 #0f1014, inset 0 0 0 2px rgb(255 255 255 / 50%);
47614767
background: transparent;
47624768
color: transparent;
47634769
animation: loader 1s linear infinite;
@@ -4766,7 +4772,7 @@ body {
47664772
}
47674773

47684774
.ctas .btn.second.loading::before {
4769-
box-shadow: inset 0 0 0 2px rgb(255 255 255 / 10%), inset 0 -10px 0 0 #1c1c1d, inset 0 0 0 2px rgb(255 255 255 / 50%);
4775+
box-shadow: inset 0 0 0 2px rgb(255 255 255 / 10%), inset 0 -10px 0 0 #1a1c24, inset 0 0 0 2px rgb(255 255 255 / 50%);
47704776
}
47714777

47724778
.ctas .btn.installed {
@@ -4794,7 +4800,7 @@ body {
47944800
}
47954801

47964802
#features {
4797-
background: #111 !important;
4803+
background: #1a1c24 !important;
47984804
margin-top: -5px;
47994805
}
48004806

@@ -4820,19 +4826,24 @@ body {
48204826

48214827
#features .iconWrapper .backdrop {
48224828
border-radius: 50%;
4823-
background: #0066B8;
4829+
background: hsl(228deg 38% 21%);
48244830
}
48254831

48264832
#features .iconWrapper .backdrop circle {
48274833
fill: none;
48284834
}
48294835

48304836
#features .iconWrapper.circle svg.icon {
4831-
stroke: #fff;
48324837
width: 34px;
48334838
height: 34px;
48344839
max-width: auto;
48354840
max-height: auto;
4841+
color: hsl(223deg 92% 87%);
4842+
}
4843+
4844+
#features .ftPoint__title {
4845+
color: #f1f1f2e0;
4846+
margin-bottom: 1px;
48364847
}
48374848

48384849
#features::after {
@@ -4841,12 +4852,12 @@ body {
48414852
bottom: 0;
48424853
width: 100%;
48434854
height: 50px;
4844-
background: linear-gradient(0deg, #111111, #11111100);
4855+
background: linear-gradient(0deg, #1a1c24, #1a1c2400);
48454856
z-index: 10;
48464857
}
48474858

48484859
#cta {
4849-
background: #1c1c1d !important;
4860+
background: #1a1c24 !important;
48504861
}
48514862

48524863
#footer a {

0 commit comments

Comments
 (0)