-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
357 lines (283 loc) · 15.8 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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
<!doctype html>
<html lang="en" color-mode="">
<head>
<base href="/">
<!-- meta -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="msapplication-TileColor" content="#fff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#242424">
<meta name="Description" content="Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips">
<meta property="og:title" content="Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips">
<meta property="og:type" content="website" />
<meta property="og:description" content="Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips">
<meta property="og:image" content="https://beforesemicolon.com/assets/before-semicolon-logo.png">
<meta property="og:url" content="https://beforesemicolon.com/">
<meta property="og:site_name" content="Before Semicolon">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@beforesemicolon">
<meta name="twitter:image" content="https://beforesemicolon.com/assets/before-semicolon-logo.png">
<meta name="twitter:description" content="Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips">
<meta name="twitter:image:alt" content="Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips">
<!-- title -->
<title>Before Semicolon - Blog & Youtube Channel | Web, UI, Software Development & Developer's Career Tips</title>
<!-- fonts -->
<link rel="stylesheet" href="./assets/fonts/icons/font-icons.css">
<link rel="preload" href="./assets/fonts/Alternate Gothic No3 D Regular.ttf" as="font" crossorigin="anonymous">
<link rel="preload" href="./assets/fonts/OpenSans-Regular.ttf" as="font" crossorigin="anonymous">
<link rel="preload" href="./assets/fonts/OpenSans-Italic.ttf" as="font" crossorigin="anonymous">
<link rel="preload" href="./assets/fonts/OpenSans-Semibold.ttf" as="font" crossorigin="anonymous">
<link rel="preload" href="./assets/fonts/OpenSans-SemiboldItalic.ttf" as="font" crossorigin="anonymous">
<link rel="preload" href="./assets/fonts/OpenSans-ExtraBold.ttf" as="font" crossorigin="anonymous">
<!-- favicons -->
<link rel="apple-touch-icon" sizes="57x57" href="./assets/favicon/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="./assets/favicon/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="./assets/favicon/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="./assets/favicon/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="./assets/favicon/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="./assets/favicon/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="./assets/favicon/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="./assets/favicon/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="./assets/favicon/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="./assets/favicon/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="./assets/favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/favicon/favicon-16x16.png">
<!-- manifest -->
<link rel="manifest" href="manifest.json">
<!-- css -->
<link rel="stylesheet" href="./styles/home.css">
<!-- scripts -->
<script id="color-mode-initializer">
const colorMode = localStorage.getItem('color-mode') || 'dark';
document.querySelector('html').setAttribute('color-mode', colorMode);
localStorage.setItem('color-mode', colorMode);
document.getElementById('color-mode-initializer').remove();
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-180554532-1"></script>
<script async data-ad-client="ca-pub-5455847849143562" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
</head>
<body data-env="production">
<div class="main-wrapper">
<noscript>
<p class="no-javascript-warning">
<strong>Javascript is Disabled!</strong> Some features are only available with Javascript turned on. Please <em>turn on Javascript</em> to allow full website experience.
</p>
</noscript>
<header>
<h1>
<img src="./assets/before-semicolon-logo.png" alt="before semicolon logo">
<a href="./">Before Semicolon</a>
</h1>
<div class="control-bar">
<div class="subscribe-button">
<a href="https://www.youtube.com/channel/UCrU33aw1k9BqTIq2yKXrmBw" target="_blank" rel="noopener">subscribe</a>
<p data-subs="8.99K"><span>Join the growing community of</span> <strong>8.99K developers</strong></p>
</div>
</div>
<nav tabindex="0">
<ul role="menubar" aria-haspopup="true">
<li role="menuitem" class="active" >
<a href="/" >Home</a>
</li>
<li role="menuitem" class="" >
<a href="/videos" >Videos</a>
</li>
<li role="menuitem" class="" >
<a href="/blog" >Blog</a>
</li>
<li role="menuitem" class="" >
<a href="/contact" >Contact</a>
</li>
</ul>
</nav>
</header>
<main>
<a href="blog/reactive-dom--finally" class="latest-blog-post">
<p class="post-published-date">
published: <em>Sun, Apr 21, 2024</em> . <b>4 min read</b>
</p>
<h2 class="heading-title">Reactive DOM — Finally!</h2>
<p class="post-intro">As a web developer, if you stop to think about web development, you will realize that all UI libraries and frameworks are just trying to fix the cumbersome of working with DOM and creating reusable code. You can find everything else built into the browser or JavaScript already.</p>
</a>
<div class="content-wrapper">
<section class="latest-video-posts" data-video-limit="6">
<a href="https://www.youtube.com/watch?v=1o1fL0q1qJU" class="video-post" data-video-id="1o1fL0q1qJU" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/1o1fL0q1qJU/hqdefault.jpg" alt="Tic-Tac-Toe game with TypeScript and Markup Reactive Templates">
</div>
<div class="post-details">
<p class="post-playlists"><b>Markup Tutorials</b></p>
<h3>Tic-Tac-Toe game with TypeScript and Markup Reactive Templates</h3>
<p class="post-description">Learn how to create an incredible simple Tic-Tac-Toe game using Before Semicolon Markup (https://mar...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=r0_spt14oFc" class="video-post" data-video-id="r0_spt14oFc" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/r0_spt14oFc/hqdefault.jpg" alt="Custom React Modal Component">
</div>
<div class="post-details">
<p class="post-playlists"><b>React</b></p>
<h3>Custom React Modal Component</h3>
<p class="post-description">A quick guide on how to create a modular modal component in #react using #typescript
[Source Code ...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=_n7HFZkacjk" class="video-post" data-video-id="_n7HFZkacjk" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/_n7HFZkacjk/hqdefault.jpg" alt="Create A JSON Database With Query API From Scratch">
</div>
<div class="post-details">
<p class="post-playlists"><b>NodeJs</b></p>
<h3>Create A JSON Database With Query API From Scratch</h3>
<p class="post-description">A walk through how to put a complex JSON database in Node with a powerful query API and simple desig...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=Z6kt1N3Lx1c" class="video-post" data-video-id="Z6kt1N3Lx1c" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/Z6kt1N3Lx1c/hqdefault.jpg" alt="NodeJs + Typescript Project Setup From Scratch">
</div>
<div class="post-details">
<p class="post-playlists"><b>NodeJs</b></p>
<h3>NodeJs + Typescript Project Setup From Scratch</h3>
<p class="post-description">[ Learn how to set up a NodeJs project with typescript covering test, linting, formatting, hot reloa...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=_olcdAcnEzM" class="video-post" data-video-id="_olcdAcnEzM" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/_olcdAcnEzM/hqdefault.jpg" alt="A Simpler Way to Build Web UI with Web Components - CWCO">
</div>
<div class="post-details">
<p class="post-playlists"><b>cwco</b></p>
<h3>A Simpler Way to Build Web UI with Web Components - CWCO</h3>
<p class="post-description">CWCO
https://www.npmjs.com/package/cwco.
Timeline
2:10 - Login Form Handling
9:30 - Form Controller...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=TviSvzcUc3M" class="video-post" data-video-id="TviSvzcUc3M" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/TviSvzcUc3M/hqdefault.jpg" alt="Ripple Button Web Component">
</div>
<div class="post-details">
<p class="post-playlists"><b>cwco</b></p>
<h3>Ripple Button Web Component</h3>
<p class="post-description">Learn how to create customizable ripple web component buttons and how to use inheritance to extend b...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=59ah9YJsVig" class="video-post" data-video-id="59ah9YJsVig" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/59ah9YJsVig/hqdefault.jpg" alt="SVG Font Icon Web Component">
</div>
<div class="post-details">
<p class="post-playlists"><b>cwco</b></p>
<h3>SVG Font Icon Web Component</h3>
<p class="post-description">Learn how to generate font Icons from SVG files and use them with an icon web component to easily ad...</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=K4YSItm8btE" class="video-post" data-video-id="K4YSItm8btE" rel="noopener">
<div class="post-thumbnail">
<img src="https://i.ytimg.com/vi/K4YSItm8btE/hqdefault.jpg" alt="Theme Provider Web Component with CWCO">
</div>
<div class="post-details">
<p class="post-playlists"><b>cwco</b></p>
<h3>Theme Provider Web Component with CWCO</h3>
<p class="post-description">Learn how to create a theme-provider web component for your website/application using the CWCO libra...</p>
</div>
</a>
<a href="/videos" class="more-btn">more videos</a>
</section>
<div class="search-container"></div>
<aside>
<div class="latest-blog-post-widget side-widget listing-widget">
<h4>Latest Blog Posts</h4>
<a href="https://medium.com/before-semicolon/setup-for-a-typescript-node-npm-package-project-90977401e051?source=rss-505ba290f8ba------2">
<h5>Setup for a TypeScript Node NPM Package Project</h5>
<p>Jan 14, 2024 . <strong>4 min read</strong></p>
</a>
<a href="https://elsontc.medium.com/how-i-built-a-fast-html-parser-using-regex-and-typescript-947265ae7ad3?source=rss-505ba290f8ba------2">
<h5>How I Built a Fast HTML Parser Using Regex and TypeScript</h5>
<p>Nov 12, 2023 . <strong>4 min read</strong></p>
</a>
<a href="https://medium.com/before-semicolon/how-to-create-custom-modal-dialog-in-react-108b83e5a501?source=rss-505ba290f8ba------2">
<h5>How To Create Custom Modal/Dialog in React</h5>
<p>Mar 03, 2023 . <strong>4 min read</strong></p>
</a>
<a href="https://medium.com/before-semicolon/how-to-handle-modals-in-a-large-scale-react-app-render-manager-c18903fadc4d?source=rss-505ba290f8ba------2">
<h5>How to Handle Modals In A Large-Scale React App — Render Manager</h5>
<p>Mar 02, 2023 . <strong>4 min read</strong></p>
</a>
<a href="https://medium.com/before-semicolon/how-to-create-a-json-database-in-nodejs-from-scratch-8dbd046bddb3?source=rss-505ba290f8ba------2">
<h5>How To Create a JSON Database In NodeJs From Scratch</h5>
<p>Feb 22, 2023 . <strong>4 min read</strong></p>
</a>
<a href="https://medium.com/before-semicolon/how-to-setup-a-typescript-nodejs-server-2023-16f3874f2ce5?source=rss-505ba290f8ba------2">
<h5>How to Set up a TypeScript + NodeJs Server (2024)</h5>
<p>Feb 18, 2023 . <strong>4 min read</strong></p>
</a>
</div>
<div class="popular-playlists-widget side-widget listing-widget">
<h4>Popular Playlists</h4>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUgWNiz25vj__CArY9Z0O6ke" target="_blank" rel="noopener">
<h5>Markup Essentials Training</h5>
<p>20 videos</p>
</a>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUh861ba0RvGvb1Vlu-faG3X" target="_blank" rel="noopener">
<h5>When To Use *</h5>
<p>10 videos</p>
</a>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUhC1SpdouTObbd5yGgV4opL" target="_blank" rel="noopener">
<h5>Data Structures - Javascript</h5>
<p>39 videos</p>
</a>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUhDOU6LeJxEksCLxWxZo5y0" target="_blank" rel="noopener">
<h5>Build Web Views & UI Elements</h5>
<p>37 videos</p>
</a>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUhYnSN37wQlT4UfQYpaA7Hx" target="_blank" rel="noopener">
<h5>HTML</h5>
<p>4 videos</p>
</a>
<a href="https://www.youtube.com/playlist?list=PLpWvGP6yhJUgbjKP73UtBYsLzwwR0ybSR" target="_blank" rel="noopener">
<h5>Javascript, DOM and Web Components</h5>
<p>8 videos</p>
</a>
</div>
<a rel="noopener" href="https://medium.com/before-semicolon" class="social-link-widget side-widget" target="_blank">Medium <span>@beforesemicolon</span></a>
<a rel="noopener" href="https://github.com/beforesemicolon" class="social-link-widget side-widget" target="_blank">Github <span>@beforesemicolon</span></a>
<a rel="noopener" href="https://codepen.io/beforesemicolon" class="social-link-widget side-widget" target="_blank">CodePen <span>@beforesemicolon</span></a>
<a rel="noopener" href="https://www.instagram.com/before_semicolon_/" class="social-link-widget side-widget" target="_blank">Instagram <span>@before_semicolon_</span></a>
<a rel="noopener" href="https://twitter.com/beforesemicolon" class="social-link-widget side-widget" target="_blank">Twitter <span>@beforesemicolon</span></a>
<a rel="noopener" href="https://www.facebook.com/beforesemicolon/" class="social-link-widget side-widget" target="_blank">Facebook <span>@beforesemicolon</span></a>
</aside>
</div>
<footer>
<p class="logo-email">
<b>Before Semicolon</b>
<a href="mailto:[email protected]">[email protected]</a>
</p>
<p class="copyright">
copyright © Before Semicolon 2024. <br> All rights reserved.
<b>
<q>There are 2 ways to write error-free program. <br> Only the third one works.</q>
<b>-- Alan Perlis --</b>
</b>
</p>
</footer>
</main>
</div>
<script src="./scripts/common.js"></script>
<script defer async>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-180554532-1');
</script>
<script src="./scripts/home.js" type="module"></script>
</body>
</html>