-
Notifications
You must be signed in to change notification settings - Fork 5
/
media.html
111 lines (99 loc) Β· 23.3 KB
/
media.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
<!DOCTYPE html>
<html lang="en"><head>
<link rel="icon" href="/logo.svg">
<title>VanJS - Media Coverage</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/poppins/v20/pxiEyp8kv8JHgFVrJJfedw.ttf) format('truetype');
}
</style>
<link rel="stylesheet" href="/code/w3-v1.css">
<link rel="stylesheet" href="/code/prism-v1.css">
<link rel="stylesheet" href="/vanjs.css">
</head>
<body class="line-numbers" data-prismjs-copy="π">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Q0NB75RY7E"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Q0NB75RY7E');
</script>
<!-- Sidebar/menu -->
<nav class="w3-sidebar w3-red w3-collapse w3-top w3-large w3-padding" style="z-index:3;width:280px;font-weight:bold;" id="mySidebar"><br>
<a href="javascript:void(0)" onclick="w3_close()" class="w3-button w3-hide-large w3-display-topleft" style="width:100%;font-size:22px">Close Menu</a>
<div class="w3-container">
<h1 class="w3-padding-16 w3-xxxlarge">
<img src="/logo.svg" alt="VanJS" width="192px" height="192px">
</h1>
</div>
<div id="nav" class="w3-bar-block"><a href="/" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">Home</a><a href="/start" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">Getting Started</a><a href="/tutorial" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">Tutorial</a><a href="/demo" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">VanJS by Example</a><a href="/convert" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">HTML/MD to VanJS</a><a href="/vanui" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">VanUI</a><a href="/minivan" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">Mini-Van</a><a href="/ssr" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">SSR & Hydration</a><a href="/x" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">X</a><a href="/advanced" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">Advanced Topics</a><a href="/media" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white current">Media Coverage</a><a href="/about" onclick="w3_close()" class="w3-bar-item w3-button w3-hover-white">About</a></div>
</nav>
<!-- Top menu on small screens -->
<header class="w3-container w3-top w3-hide-large w3-red w3-xlarge w3-padding">
<a href="javascript:void(0)" class="w3-button w3-red w3-margin-right" onclick="w3_open()">β°</a>
<span id="title-bar">Media Coverage</span>
</header>
<!-- Overlay effect when opening sidebar on small screens -->
<div class="w3-overlay w3-hide-large" onclick="w3_close()" style="cursor:pointer" title="close side menu" id="myOverlay"></div>
<!-- !PAGE CONTENT! -->
<div class="w3-main" style="margin-left:300px;">
<div id="page">
<div id="content"><h1 class="w3-xxlarge"><b>VanJS</b>: Media Coverage</h1><p>πππ <b>VanJS</b> is a personal project, which means I don't have the time and resources to promote it to a wider audience. My heartfelt gratitude extends towards to all content creators and tech bloggers who are helping spread good words about <b>VanJS</b>. Your help is invaluable in our pursuit of <b>VanJS</b>'s mission: <i>Enabling everyone to build useful UI apps with a few lines of code, anywhere, any time, on any device.</i></p><h2 class="w3-xxlarge w3-text-red" id="videos"><a class="self-link" href="#videos">Videos</a></h2><hr style="width:50px;border:5px solid red" class="w3-round"><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/Oh2IEVqarHs" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/GJAB2hp5psQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/grUihkwvALg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/DO_5HDn9fQ4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/KXwcCFdwjHU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/2Oee-q5TKRU?start=1774" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/v3b1KzCbJF4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/ob5uZEV2_zA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p>(<i>In Polish</i>)</p><p class="video-wrapper"><iframe src="https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:7069919877041410048?compact=1" height="420" width="100%" frameborder="0" allowfullscreen="" title="Embedded post"></iframe></p><p class="video-wrapper"><iframe src="https://www.youtube.com/embed/er5er7zfMkg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></p><p>(<i>In Dutch</i>)</p><p class="video-wrapper"><iframe src="//player.bilibili.com/player.html?aid=319967399&bvid=BV1iw411X7YZ&cid=1307016397&p=1&&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></p><p>(<i>In Simplified Chinese</i>)</p><p class="video-wrapper"><iframe src="//player.bilibili.com/player.html?aid=495545037&bvid=BV13K411474d&cid=1388577329&p=1&&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></p><p>(<i>In Simplified Chinese</i>)</p><h2 class="w3-xxlarge w3-text-red" id="articles-podcasts"><a class="self-link" href="#articles-podcasts">Articles / Podcasts</a></h2><hr style="width:50px;border:5px solid red" class="w3-round"><ol><li><a href="https://youtu.be/eop7r4oV2gc?si=XrOmUcr7fTQX8H5C" class="w3-hover-opacity">https://youtu.be/eop7r4oV2gc?si=XrOmUcr7fTQX8H5C</a> (podcasts)</li><li><a href="https://changelog.com/jsparty/277" class="w3-hover-opacity">https://changelog.com/jsparty/277</a> (podcasts)</li><li><a href="https://blog.stackademic.com/vanjs-the-ultra-lightweight-react-alternative-55c0f380376f" class="w3-hover-opacity">https://blog.stackademic.com/vanjs-the-ultra-lightweight-react-alternative-55c0f380376f</a></li><li><a href="https://thenewstack.io/vanjs-a-minimalist-vanilla-javascript-ui-framework/" class="w3-hover-opacity">https://thenewstack.io/vanjs-a-minimalist-vanilla-javascript-ui-framework/</a></li><li><a href="https://devm.io/javascript/javascript-vanjs-xin" class="w3-hover-opacity">https://devm.io/javascript/javascript-vanjs-xin</a></li><li><a href="https://www.linkedin.com/pulse/vanjs-reactive-ui-framework-without-reactjsx-luvimac%3F/" class="w3-hover-opacity">https://www.linkedin.com/pulse/vanjs-reactive-ui-framework-without-reactjsx-luvimac%3F/</a></li><li><a href="https://www.linkedin.com/posts/muneebhussainmodi_javascript-js-webdevelopment-activity-7109226447000469504-hlRg/" class="w3-hover-opacity">https://www.linkedin.com/posts/muneebhussainmodi_javascript-js-webdevelopment-activity-7109226447000469504-hlRg/</a></li><li><a href="https://www.linkedin.com/posts/stefanofago_vanjs-a-09kb-grab-n-go-reactive-ui-framework-activity-7092964871117451264-RYnu/" class="w3-hover-opacity">https://www.linkedin.com/posts/stefanofago_vanjs-a-09kb-grab-n-go-reactive-ui-framework-activity-7092964871117451264-RYnu/</a></li><li><a href="https://javascript.plainenglish.io/vanjs-magic-53734fe52d30" class="w3-hover-opacity">https://javascript.plainenglish.io/vanjs-magic-53734fe52d30</a></li><li><a href="https://wp.codingbeautydev.com/blog/web-dev-tools/" class="w3-hover-opacity">https://wp.codingbeautydev.com/blog/web-dev-tools/</a></li><li><a href="https://www.smashingmagazine.com/2024/01/top-frontend-tools-2023/#vanjs-https-vanjs-org" class="w3-hover-opacity">https://www.smashingmagazine.com/2024/01/top-frontend-tools-2023/#vanjs-https-vanjs-org</a></li><li><a href="https://risingstars.js.org/2023/en#section-framework" class="w3-hover-opacity">https://risingstars.js.org/2023/en#section-framework</a></li><li><a href="https://github.com/thoughtspile/awesome-tiny-js?tab=readme-ov-file#ui-frameworks" class="w3-hover-opacity">https://github.com/thoughtspile/awesome-tiny-js?tab=readme-ov-file#ui-frameworks</a></li><li><a href="https://github.com/n-ce/Awesome-Minimal-JavaScript-Frameworks" class="w3-hover-opacity">https://github.com/n-ce/Awesome-Minimal-JavaScript-Frameworks</a></li><li><a href="https://dhtmlx.medium.com/javascript-news-updates-and-tutorials-august-2023-edition-d9fda0b268df" class="w3-hover-opacity">https://dhtmlx.medium.com/javascript-news-updates-and-tutorials-august-2023-edition-d9fda0b268df</a></li><li><a href="https://javascript.plainenglish.io/exciting-updates-in-the-web-dev-71c52563cee0" class="w3-hover-opacity">https://javascript.plainenglish.io/exciting-updates-in-the-web-dev-71c52563cee0</a></li><li><a href="https://javascriptweekly.com/issues/650" class="w3-hover-opacity">https://javascriptweekly.com/issues/650</a></li><li><a href="https://javascriptweekly.com/issues/639" class="w3-hover-opacity">https://javascriptweekly.com/issues/639</a></li><li><a href="https://javascriptweekly.com/issues/680" class="w3-hover-opacity">https://javascriptweekly.com/issues/680</a></li><li><a href="https://bytes.dev/archives/211" class="w3-hover-opacity">https://bytes.dev/archives/211</a></li><li><a href="https://bytes.dev/archives/190" class="w3-hover-opacity">https://bytes.dev/archives/190</a></li><li><a href="https://echojs.com/news/41772" class="w3-hover-opacity">https://echojs.com/news/41772</a></li><li><a href="https://wweb.dev/weekly/150" class="w3-hover-opacity">https://wweb.dev/weekly/150</a></li><li><a href="https://javascript.thisweekin.io/javascript-weekly-issue-83-31f1d5c6c57f" class="w3-hover-opacity">https://javascript.thisweekin.io/javascript-weekly-issue-83-31f1d5c6c57f</a></li><li><a href="https://us3.campaign-archive.com/?u=4ad274b490aa6da8c2d29b775&id=887df01416" class="w3-hover-opacity">https://us3.campaign-archive.com/?u=4ad274b490aa6da8c2d29b775&id=887df01416</a></li><li><a href="https://dev.to/vincenius/weekly-web-development-resources-150-5819" class="w3-hover-opacity">https://dev.to/vincenius/weekly-web-development-resources-150-5819</a></li><li><a href="https://dev.to/darkwiiplayer/making-the-case-for-skooma-4n70" class="w3-hover-opacity">https://dev.to/darkwiiplayer/making-the-case-for-skooma-4n70</a></li><li><a href="https://dev.to/nombrekeff/want-to-help-with-cardboard-jsts-vanilla-reactive-framework-jcl" class="w3-hover-opacity">https://dev.to/nombrekeff/want-to-help-with-cardboard-jsts-vanilla-reactive-framework-jcl</a></li><li><a href="https://dev.to/efpage/the-fantastic-speed-of-template-literals-4f0p" class="w3-hover-opacity">https://dev.to/efpage/the-fantastic-speed-of-template-literals-4f0p</a></li><li><a href="https://devm.io/javascript/javascript-user-friendly-web-apps" class="w3-hover-opacity">https://devm.io/javascript/javascript-user-friendly-web-apps</a></li><li><a href="https://webtoolsweekly.com/archives/issue-521/" class="w3-hover-opacity">https://webtoolsweekly.com/archives/issue-521/</a></li><li><a href="https://webtoolsweekly.com/archives/issue-544/" class="w3-hover-opacity">https://webtoolsweekly.com/archives/issue-544/</a></li><li><a href="https://fully-faltoo.com/p/weekly-review-gollum/" class="w3-hover-opacity">https://fully-faltoo.com/p/weekly-review-gollum/</a></li><li><a href="https://dangarbri.tech/about" class="w3-hover-opacity">https://dangarbri.tech/about</a></li><li><a href="https://unsuckjs.com/" class="w3-hover-opacity">https://unsuckjs.com/</a></li><li><a href="https://enpitsulin.xlog.app/reactive-framework-less-than-100-lines" class="w3-hover-opacity">https://enpitsulin.xlog.app/reactive-framework-less-than-100-lines</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7274492344522948642" class="w3-hover-opacity">https://juejin.cn/post/7274492344522948642</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7269011652234592315" class="w3-hover-opacity">https://juejin.cn/post/7269011652234592315</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7237702874880032826" class="w3-hover-opacity">https://juejin.cn/post/7237702874880032826</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7239148708699865144" class="w3-hover-opacity">https://juejin.cn/post/7239148708699865144</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7256397479646117947" class="w3-hover-opacity">https://juejin.cn/post/7256397479646117947</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7329424129997127716" class="w3-hover-opacity">https://juejin.cn/post/7329424129997127716</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7345105846341910582" class="w3-hover-opacity">https://juejin.cn/post/7345105846341910582</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://juejin.cn/post/7314519123177750540" class="w3-hover-opacity">https://juejin.cn/post/7314519123177750540</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.qinshenxue.com/article/vanjs-the-worlds-smallest-responsive-ui-framework.html" class="w3-hover-opacity">https://www.qinshenxue.com/article/vanjs-the-worlds-smallest-responsive-ui-framework.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.toutiao.com/article/7235535718448202301" class="w3-hover-opacity">https://www.toutiao.com/article/7235535718448202301</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://zhuanlan.zhihu.com/p/633510308" class="w3-hover-opacity">https://zhuanlan.zhihu.com/p/633510308</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://zhuanlan.zhihu.com/p/633260358" class="w3-hover-opacity">https://zhuanlan.zhihu.com/p/633260358</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://zhuanlan.zhihu.com/p/630633744" class="w3-hover-opacity">https://zhuanlan.zhihu.com/p/630633744</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.51cto.com/article/779545.html" class="w3-hover-opacity">https://www.51cto.com/article/779545.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.51cto.com/article/782018.html" class="w3-hover-opacity">https://www.51cto.com/article/782018.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.51cto.com/article/785563.html" class="w3-hover-opacity">https://www.51cto.com/article/785563.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.51cto.com/article/787864.html" class="w3-hover-opacity">https://www.51cto.com/article/787864.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://blog.51cto.com/osguider/10615726" class="w3-hover-opacity">https://blog.51cto.com/osguider/10615726</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.cnblogs.com/xueweihan/p/17445043.html" class="w3-hover-opacity">https://www.cnblogs.com/xueweihan/p/17445043.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://segmentfault.com/a/1190000044087547" class="w3-hover-opacity">https://segmentfault.com/a/1190000044087547</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://segmentfault.com/a/1190000044560268" class="w3-hover-opacity">https://segmentfault.com/a/1190000044560268</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://www.ruanyifeng.com/blog/2024/07/weekly-issue-309.html" class="w3-hover-opacity">https://www.ruanyifeng.com/blog/2024/07/weekly-issue-309.html</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://github.com/sorrycc/weekly/blob/master/docs/weekly/issue-0101.md#ζ¬ε¨ζ°ι»" class="w3-hover-opacity">https://github.com/sorrycc/weekly/blob/master/docs/weekly/issue-0101.md#ζ¬ε¨ζ°ι»</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://hk.v2ex.com/t/1056715" class="w3-hover-opacity">https://hk.v2ex.com/t/1056715</a> (<i>in Simplified Chinese</i>)</li><li><a href="https://hkdeveloper.io/2023/05/26/%E5%89%B5%E6%96%B0%E9%96%8B%E6%BA%90ui%E6%A1%86%E6%9E%B6%EF%BC%9Avanjs-%E6%96%BCgithub%E4%B8%8A%E9%87%8B%E5%87%BA/" class="w3-hover-opacity">https://hkdeveloper.io/2023/05/26/%E5%89%B5%E6%96%B0%E9%96%8B%E6%BA%90ui%E6%A1%86%E6%9E%B6%EF%BC%9Avanjs-%E6%96%BCgithub%E4%B8%8A%E9%87%8B%E5%87%BA/</a> (<i>in Traditional Chinese</i>)</li><li><a href="https://news.hada.io/topic?id=10202" class="w3-hover-opacity">https://news.hada.io/topic?id=10202</a> (<i>in Korean</i>)</li><li><a href="https://stupidk.com/dev-weekly-20230805/" class="w3-hover-opacity">https://stupidk.com/dev-weekly-20230805/</a> (<i>in Korean</i>)</li><li><a href="https://gall.dcinside.com/mgallery/board/view/?id=github&no=56798" class="w3-hover-opacity">https://gall.dcinside.com/mgallery/board/view/?id=github&no=56798</a> (<i>in Korean</i>)</li><li><a href="https://namu.wiki/w/%ED%8B%80:%EC%9B%B9%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC" class="w3-hover-opacity">https://namu.wiki/w/%ED%8B%80:%EC%9B%B9%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC</a> (<i>in Korean</i>)</li><li><a href="https://zenn.dev/k_log24/articles/f5e2d4321f0b98" class="w3-hover-opacity">https://zenn.dev/k_log24/articles/f5e2d4321f0b98</a> (<i>in Japanese</i>)</li><li><a href="https://zenn.dev/ryo_kawamata/articles/1ad6e51eed13ae" class="w3-hover-opacity">https://zenn.dev/ryo_kawamata/articles/1ad6e51eed13ae</a> (<i>in Japanese</i>)</li><li><a href="https://zenn.dev/daifukuninja/articles/79ff6fa650a535" class="w3-hover-opacity">https://zenn.dev/daifukuninja/articles/79ff6fa650a535</a> (<i>in Japanese</i>)</li><li><a href="https://qiita.com/tags/vanjs" class="w3-hover-opacity">https://qiita.com/tags/vanjs</a> (<i>in Japanese</i>)</li><li><a href="https://qiita.com/mori_goq/items/364d63c861c796b6ac4b" class="w3-hover-opacity">https://qiita.com/mori_goq/items/364d63c861c796b6ac4b</a> (<i>in Japanese</i>)</li><li><a href="http://var.blog.jp/archives/87712487.html" class="w3-hover-opacity">http://var.blog.jp/archives/87712487.html</a> (<i>in Japanese</i>)</li><li><a href="http://kachibito.net/useful-resource/vanjs" class="w3-hover-opacity">http://kachibito.net/useful-resource/vanjs</a> (<i>in Japanese</i>)</li><li><a href="https://b.hatena.ne.jp/entry/s/github.com/vanjs-org/van" class="w3-hover-opacity">https://b.hatena.ne.jp/entry/s/github.com/vanjs-org/van</a> (<i>in Japanese</i>)</li><li><a href="https://jser.info/2023/05/26/wrangler-v3.0.0-playwright-v1.34.0-typescript-5.2/" class="w3-hover-opacity">https://jser.info/2023/05/26/wrangler-v3.0.0-playwright-v1.34.0-typescript-5.2/</a> (<i>in Japanese</i>)</li><li><a href="https://jser.info/2023/08/10/lighthouse-v11.0.0-astro-2.10view-transitions-sharpwebassembly/" class="w3-hover-opacity">https://jser.info/2023/08/10/lighthouse-v11.0.0-astro-2.10view-transitions-sharpwebassembly/</a> (<i>in Japanese</i>)</li><li><a href="https://stackshare.io/vanjs" class="w3-hover-opacity">https://stackshare.io/vanjs</a></li><li><a href="https://www.libhunt.com/r/van" class="w3-hover-opacity">https://www.libhunt.com/r/van</a></li><li><a href="https://www.saashub.com/vanjs" class="w3-hover-opacity">https://www.saashub.com/vanjs</a></li><li><a href="https://kicksaas.cool/resource/vanjs" class="w3-hover-opacity">https://kicksaas.cool/resource/vanjs</a></li><li><a href="https://www.builtatlightspeed.com/theme/vanjs-org-mini-van" class="w3-hover-opacity">https://www.builtatlightspeed.com/theme/vanjs-org-mini-van</a></li></ol></div>
<aside id="toc"><ul><li><a href="#videos" class="w3-hover-opacity">Videos</a></li><li><a href="#articles-podcasts" class="w3-hover-opacity">Articles / Podcasts</a></li></ul></aside>
</div>
</div>
<script>
// Script to open and close sidebar
const w3_open = () => {
document.getElementById("mySidebar").style.display = "block"
document.getElementById("myOverlay").style.display = "block"
}
const w3_close = () => {
document.getElementById("mySidebar").style.display = "none"
document.getElementById("myOverlay").style.display = "none"
}
const tocDom = document.getElementById("toc")
// Tracks the current toc item
const trackToc = () => {
const allHeadings = [...document.querySelectorAll("h2,h3")]
const currentHeadingIndex = allHeadings.findIndex(h => h.getBoundingClientRect().top >= 0)
let currentHeading
if (currentHeadingIndex < 0) currentHeading = allHeadings[allHeadings.length - 1]; else {
currentHeading = allHeadings[currentHeadingIndex]
if (currentHeadingIndex > 0 && currentHeading.getBoundingClientRect().top > innerHeight)
currentHeading = allHeadings[currentHeadingIndex - 1]
}
for (const e of document.querySelectorAll("#toc li a"))
if (e.href.split("#")[1] === currentHeading?.id) {
e.classList.add("current-heading")
const {top: tocTop, bottom: tocBottom} = tocDom.getBoundingClientRect()
const {top: eTop, bottom: eBottom} = e.getBoundingClientRect()
if (eBottom > tocBottom) tocDom.scrollTop += eBottom - tocBottom
else if (eTop < tocTop) tocDom.scrollTop -= tocTop - eTop
} else
e.classList.remove("current-heading")
}
trackToc()
document.addEventListener("scroll", trackToc)
addEventListener("resize", trackToc)
const copy = e => {
const file = e.previousElementSibling.innerText
const importLine = file.includes("nomodule") ?
`<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/vanjs-org/van/public/${file}"><\/script>` :
`import van from "https://cdn.jsdelivr.net/gh/vanjs-org/van/public/${file}"`
navigator.clipboard.writeText(importLine)
.then(() => e.querySelector(".tooltip").innerText = "Copied")
.catch(() => e.querySelector(".tooltip").innerText = "Copy failed")
}
const resetTooltip = e => e.querySelector(".tooltip").innerText = "Copy import line"
</script>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
<link rel="prefetch" href="/code/prism-v1.js" as="script"><link rel="prefetch" href="https://www.gstatic.com/charts/loader.js" as="script"><link rel="prefetch" href="/code/diff.min.js" as="script"><link rel="prefetch" href="/code/van-1.5.2.nomodule.min.js" as="script"><link rel="prefetch" href="/code/van-x-0.6.1.nomodule.min.js" as="script"></body></html>