PageSourceSearch

https://antfu.me/talks

html antfu.me collected 2026-10-02 15:07:31 UTC 49,354 bytes, 3 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="author" content="Anthony Fu"><meta http-equiv="X-UA-Compatible" content="chrome=1"><meta name="revisit-after" content="7 days"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="alternate" type="application/rss+xml" title="Anthony Fu's Blog" href="/feed.xml"><meta name="msapplication-TileColor" content="#ffffff"><title>Anthony Fu</title>
1<script>!function(){const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,t=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===t||e&&"light"!==t)&&document.documentElement.classList.toggle("dark",!0)}()</script>
1<script type="module" crossorigin="" src="/assets/app-i8bZJj9W.js"></script>
1<link rel="modulepreload" crossorigin="" href="/assets/rolldown-runtime-hePW80VL.js"><link rel="stylesheet" crossorigin="" href="/assets/app-CcwtqiuP.css"><link rel="modulepreload" crossorigin="" href="/assets/talks-CLqcV0b6.js"><link rel="modulepreload" crossorigin="" href="/assets/vue.BHyNcdic-D2KugMlH.js"><link rel="modulepreload" crossorigin="" href="/assets/SubNav-COre2Osq.js"></head><body class="font-sans text-gray-700 dark:text-gray-200 relative"><div id="app" data-server-rendered="true"><!--[--><header class="header z-40" data-v-f7964d7e=""><a href="/" class="w-12 h-12 absolute xl:fixed m-5 select-none outline-none" focusable="false" data-v-f7964d7e=""><svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-f7964d7e="" data-v-69a3f4dd=""><title data-v-69a3f4dd="">Anthony Fu @ antfu.me</title><mask id="mask0_634_3" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="24" y="7" width="50" height="87" data-v-69a3f4dd=""><path d="M73.7892 9.12595C69.3501 1.20478 61.8262 17.7197 60.2461 21.1572C56.9356 28.6299 55.2305 35.5788 53.5 43.5C51.5438 41.4076 48.5048 36.8913 47 34.5C46 32.5 44.178 33.3348 45.2582 35.5C44.2048 33.7065 44 31 40.4582 28.8541C31.3543 28.0321 23.7209 43.6536 25 51.5C28.5029 62.7044 40 53 42.8659 47.9845C42.5649 50.8241 42.5649 54.7847 45.424 56.1298C48.5 57 49.8631 54.9342 51.8194 52.9913C50.6908 64.7236 49.2612 76.9042 53.1737 88.4123C54.9794 94.9884 61.3747 96.6324 62.0519 88.5618C62.9547 78.5482 60.4719 68.7589 57.4623 59.3431C56.6347 56.6529 55.5 54.5 54.6886 51.7956C54.6886 48 55.6585 50.6972 57.0861 52.244C58.7413 54.0375 64.309 59.3431 66.5 59.5C65 57.5 64.5348 56.8771 64.309 56.6529C61.9014 53.6638 59.0423 50.8989 56.4842 47.9845C61.6757 40.5117 66.7167 32.3663 70.1777 23.7726C71.6825 19.3637 74.8425 13.7591 73.7892 9.12595ZM43.3926 40.8853C41.7373 45.4437 39.7811 48.956 35.9439 52.0945C26.1502 60.1051 25.1428 47.741 28.6457 41.8568C33.16 32.4411 42.7154 24.0715 43.3926 40.8853ZM52.5 49C51.2962 50.7187 49.5314 53.3274 47.5 54C45.8447 54.4484 45.3488 53.2902 45.0478 51.7956C44.145 46.8636 45.725 42.0063 46.4021 37.2237C48.0574 40.3622 50.119 42.8614 52 46C52.3762 46.822 53.0267 48.1033 52.5 49ZM55.1299 56.1298C58.3652 65.9192 60.5471 76.1569 59.6442 86.3947C58.7413 95.362 55.8823 88.8607 54.7537 84.3023C52.4213 74.2887 53 63.5 54.227 53.8133C54.528 54.5606 54.9042 55.6067 55.1299 56.1298ZM71.4568 11.1436C69.8767 21.755 62.0519 36.7006 55.4308 45.0701C56.7851 38.0457 58.7413 31.2454 61.45 24.5946C61.6757 23.2495 71.6072 3.52135 71.4568 11.1436Z" fill="white" data-v-69a3f4dd=""></path></mask><g mask="url(#mask0_634_3)" data-v-69a3f4dd=""><path class="path1" d="M43.8252 39.3048C43.5 29 38 27 31 35.5C16.9959 58.4158 35 61 42.5 46C44.4559 42.5 45.5001 37 45.5001 37C44.8789 42.2731 43.8252 45.9801 43.8252 50C43.8252 56.6285 48 57.9 54.5 48.4C60.5 40.9 68.5 27.5 72 15.5C74.4792 7 70.5 4.5 64 16.5C55 31.5 50.7595 59 52.3 78C53.8038 96.5469 63 97.5 61 79.5C59.5082 66.0734 52 42.5 45.5001 33C48 38.5 57 52 65.5 58.5" stroke="black" stroke-width="2.5" stroke-linecap="round" data-v-69a3f4dd=""></path></g></svg></a><button title="Scroll to top" fixed="" right-3="" bottom-3="" w-10="" h-10="" hover:op100="" rounded-full="" hover-bg-hex-8883="" transition="" duration-300="" z-100="" print:hidden="" class="op0! pointer-events-none" data-v-f7964d7e=""><div i-ri-arrow-up-line="" data-v-f7964d7e=""></div></button><nav class="nav" data-v-f7964d7e=""><div class="spacer" data-v-f7964d7e=""></div><div class="right" print:op0="" data-v-f7964d7e=""><a href="/posts" class="" title="Blog" data-v-f7964d7e=""><span class="lt-md:hidden" data-v-f7964d7e="">Blog</span><div i-ri-article-line="" md:hidden="" data-v-f7964d7e=""></div></a><a href="/projects" class="" title="Projects" data-v-f7964d7e=""><span class="lt-md:hidden" data-v-f7964d7e="">Projects</span><div i-ri-lightbulb-line="" class="md:hidden" data-v-f7964d7e=""></div></a><a aria-current="page" href="/talks" class="router-link-active router-link-exact-active lt-md:hidden" title="Talks" data-v-f7964d7e="">Talks </a><a href="/sponsors-list" class="" title="Sponsors" data-v-f7964d7e=""><span class="lt-md:hidden" data-v-f7964d7e="">Sponsors</span><div i-ri-heart-line="" class="md:hidden" data-v-f7964d7e=""></div></a><a href="/podcasts" class="lt-md:hidden" title="Podcasts" data-v-f7964d7e=""><div i-ri-mic-line="" data-v-f7964d7e=""></div></a><a href="/photos" class="" title="Photos" data-v-f7964d7e=""><div i-ri-camera-3-line="" data-v-f7964d7e=""></div></a><a href="/demos" class="" title="Demos" data-v-f7964d7e=""><div i-ri-screenshot-line="" data-v-f7964d7e=""></div></a><a href="https://bsky.app/profile/antfu.me" target="_blank" title="Bluesky" class="lt-md:hidden" data-v-f7964d7e=""><div i-ri-bluesky-line="" data-v-f7964d7e=""></div></a><a href="https://github.com/antfu" target="_blank" title="GitHub" class="lt-md:hidden" data-v-f7964d7e=""><div i-uil-github-alt="" data-v-f7964d7e=""></div></a><a href="/feed.xml" target="_blank" title="RSS" class="lt-md:hidden" data-v-f7964d7e=""><div i-la-rss-square="" style="font-size:1.25rem;margin:0 -.125rem" data-v-f7964d7e=""></div></a><a class="select-none" title="Toggle Color Scheme" data-v-f7964d7e=""><div i-ri-sun-line="" dark:i-ri-moon-line=""></div></a></div></nav></header><main class="px-7 py-10 of-x-hidden"><!--[--><!----><!----><article class=""><!--[--><div class="prose m-auto slide-enter-content"><div class="prose m-auto mb-8 select-none animate-none! op100!"><button flex="~ gap1" items-center="" mb2="" op30="" text-sm=""><div i="carbon-checkbox"></div>English Only</button><div mb-0="" flex="~ col gap-1 sm:row sm:gap-3 wrap" text-3xl=""><a href="/posts" class="!border-none opacity-20 hover:opacity-50">Blog </a><a aria-current="page" href="/talks" class="router-link-active router-link-exact-active !border-none opacity-100 underline">Talks </a><a href="/podcasts" class="!border-none opacity-20 hover:opacity-50">Podcasts </a><a href="/streams" class="!border-none opacity-20 hover:opacity-50">Streams </a><a href="/notes" class="!border-none opacity-20 hover:opacity-50">Notes</a></div></div><div pt-5=""></div><div slide-enter=""><div i-ri:presentation-line="" mr-1=""></div><a href="/giving-talks" class="" op50="">
1Speaker Info</a></div><h1 important="mb--4 mt-15">Talks</h1><!--[--><!--[--><div><!----><h2 id="introducing-vite-devtools" tabindex="-1" important-mb-0=""><!----> Introducing Vite DevTools <!----><!----><a class="header-anchor" href="#introducing-vite-devtools" aria-hidden="true">#</a></h2><div op75="" pt2="">Introduction to Vite DevTools</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div lang="ja"><a href="https://vuefes.jp/2025/en/" target="_blank" rel="noopener noreferrer">Vue Fes Japan</a><!----><span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">日本語</span><div text-sm="" op50="">Oct 25, 2025 · Tokyo, Japan</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2025/vuefes" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-10-25/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="en"><a href="https://viteconf.amsterdam/" target="_blank" rel="noopener noreferrer">ViteConf</a><!----><!----><div text-sm="" op50="">Oct 9, 2025 · Amsterdam, Netherlands</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/tVd0JeSr8kg" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2025/viteconf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-10-09/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="zh"><a href="https://vueconf.cn/" target="_blank" rel="noopener noreferrer">VueConf China</a>
1<span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Jul 12, 2025 · Shenzhen, China</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.bilibili.com/video/BV1Nqb1zoENu/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2025/vueconf-china" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-07-12/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="make-tools-people-love" tabindex="-1" important-mb-0=""><!----> Make Tools People Love <!----><!----><a class="header-anchor" href="#make-tools-people-love" aria-hidden="true">#</a></h2><div op75="" pt2="">What I've learned about building tools that delight developers</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://2025.squiggleconf.com/" target="_blank" rel="noopener noreferrer">SquiggleConf</a><!----><!----><div text-sm="" op50="">Sep 18, 2025 · Boston, USA</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/live/C_ePbVZqXrw?t=975" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2025/squiggleconf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-09-18/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="yak-shaving" tabindex="-1" important-mb-0=""><span text-lg="" font-400="" op45="" italic="" mb1="">Anthony's Road to Open Source - Part 3<br></span>Yak Shaving <!----><!----><a class="header-anchor" href="#yak-shaving" aria-hidden="true">#</a></h2><div op75="" pt2="">The art of yak shaving and how it can help you to build better open source projects.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://coscup.org/2025/" target="_blank" rel="noopener noreferrer">COSCUP</a><!----><!----><div text-sm="" op50="">Aug 10, 2025 · Taipei, Taiwan</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/watch?v=Hx4ubZxxQJg" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2025/coscup" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-08-10/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://vuefes.jp/2024/en/" target="_blank" rel="noopener noreferrer">Vue Fes Japan</a><!----><!----><div text-sm="" op50="">Oct 19, 2024 · Tokyo, Japan</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/GpRzKOjckoU" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2024/vue-fes-japan" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-10-19/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="zh"><a href="https://vue.w3ctech.com/" target="_blank" rel="noopener noreferrer">VueConf Shenzhen</a>
1<span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Jul 6, 2024 · Shenzhen, China</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.bilibili.com/video/BV1XT421r7xy" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2024/vueconf-shenzhen" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-07-06/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="vue-webcomponents-agnostic-ui" tabindex="-1" important-mb-0="" lang="ja"><!----> Vue と WebComponents で作る Agnostic UI <span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:1
15 text-zinc5 rounded px-1 py-0.5 my-auto">日本語</span><!----><a class="header-anchor" href="#vue-webcomponents-agnostic-ui" aria-hidden="true">#</a></h2><div op75="" pt2="" lang="ja">VueとWebComponentsを使って、UnoCSSによるスタイリングで、Agnosticなコンポーネントライブラリや埋め込み可能なUIをnpmパッケージとして簡単に作成できます</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div lang="ja"><a href="https://vuejs-meetup.connpass.com/event/355473/" target="_blank" rel="noopener noreferrer">v-tokyo</a><!----><span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">日本語</span><div text-sm="" op50="">Jun 13, 2025 · Tokyo, Japan</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2025/v-tokyo" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-06-13/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="eslint-one-for-all-made-easy" tabindex="-1" important-mb-0=""><!----> ESLint One for All Made Easy <!----><!----><a class="header-anchor" href="#eslint-one-for-all-made-easy" aria-hidden="true">#</a></h2><div op75="" pt2="">Introduction to ESLint's new flat config format and see how it can bring new possibilities and enhancements to your development workflow and experience.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://2025.tskaigi.org/" target="_blank" rel="noopener noreferrer">TSKaigi</a><!----><!----><div text-sm="" op50="">May 23, 2025 · Tokyo, Japan</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/12njGF7etuo" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2025/tskaigi" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2025-05-23/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="zh"><a href="https://webconf.tw/" target="_blank" rel="noopener noreferrer">WebConf Taiwan</a>
1<span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Dec 28, 2024 · Taipei, Taiwan</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2024/webconf-tw" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-12-28/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="zh"><a href="https://fequan.com/2024/" target="_blank" rel="noopener noreferrer">FEDAY</a><span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Dec 7, 2024 · Xiamen, China</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2024/feday" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-12-07/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://jsnation.com/" target="_blank" rel="noopener noreferrer">JS Nation</a><!----><!----><div text-sm="" op50="">Jun 13, 2024 · Amsterdam, Netherlands</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2024/jsnation" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-06-13/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://greece.cityjsconf.org/" target="_blank" rel="noopener noreferrer">CityJS Athens</a><!----><!----><div text-sm="" op50="">Jun 8, 2024 · Athens, Greece</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/W26P4ss059E" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2024/cityjs-athens" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-06-08/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="journey-to-nuxt-icon" tabindex="-1" important-mb-0=""><!----> Journey to Nuxt Icon <!----><!----><a class="header-anchor" href="#journey-to-nuxt-icon" aria-hidden="true">#</a></h2><div op75="" pt2="">Introductions of various Icon solutions with their Pros and Cons. And how we take the lessons we learned and make the refreshed Nuxt Icon v1.0</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://nuxtnation.com/" target="_blank" rel="noopener noreferrer">Nuxt Nation</a><!----><!----><div text-sm="" op50="">Nov 12, 2024 · Online</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2024/nuxt-nation/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://talks.antfu.me/2024-11-12/pdf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="the-progressive-path" tabindex="-1" important-mb-0=""><span text-lg="" font-400="" op45="" italic="" mb1="">
1Anthony's Road to Open Source - Part 2<br></span>The Progressive Path <!----><!----><a class="header-anchor" href="#the-progressive-path" aria-hidden="true">#</a></h2><div op75="" pt2="">How progressive approaches can help you to build better open source projects. And why it is crucial for the community to embrace them.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://viteconf.org" target="_blank" rel="noopener noreferrer">ViteConf</a><!----><!----><div text-sm="" op50="">Oct 3, 2024 · Online</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><!----><!----><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://frontendnation.com" target="_blank" rel="noopener noreferrer">Frontend Nation</a><!----><!----><div text-sm="" op50="">Jun 1, 2024 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/YbyXsi4TPtc" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><!----><!----><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://vuejs.amsterdam" target="_blank" rel="noopener noreferrer">Vue Amsterdam</a><!----><!----><div text-sm="" op50="">Feb 29, 2024 · Amsterdam, Netherlands</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/67Pha7sZ6l0" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2024/vue-amsterdam/1" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2024-02-29" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="the-set-theory" tabindex="-1" important-mb-0=""><span text-lg="" font-400="" op45="" italic="" mb1="">Anthony's Road to Open Source - Part 1<br></span>The Set Theory <!----><!----><a class="header-anchor" href="#the-set-theory" aria-hidden="true">#</a></h2><div op75="" pt2="">Lessons I learned on my journey to working full time on open source. With tips and thinking for making open source projects more successful.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://reactsummit.com/" target="_blank" rel="noopener noreferrer">React Summit</a><!----><!----><div text-sm="" op50="">Jun 14, 2024 · Amsterdam, Netherlands</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2024/react-summit" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2024-06-14" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://react.paris" target="_blank" rel="noopener noreferrer">React Paris</a><!----><!----><div text-sm="" op50="">Mar 22, 2024 · Paris, France</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/7JRa9S4aEEI" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2024/reactparis" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2024-03-22" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://vuefes.jp/2023/en" target="_blank" rel="noopener noreferrer">Vue Fes Japan</a><!----><!----><div text-sm="" op50="">Oct 28, 2023 · Tokyo, Japan</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/watch?v=8z2ZZFEsnQk" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2023/vuefesjapan" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-10-28" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://viteconf.org/23/" target="_blank" rel="noopener noreferrer">ViteConf</a><!----><!----><div text-sm="" op50="">Oct 5, 2023 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/watch?v=NJbCfAKtxUI" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2023/viteconf" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-10-05" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="now-and-the-future-of-nuxt-devtools" tabindex="-1" important-mb-0=""><!----> Now, and the Future of Nuxt Devtools <!----><!----><a class="header-anchor" href="#now-and-the-future-of-nuxt-devtools" aria-hidden="true">
1#</a></h2><div op75="" pt2="">State of the Nuxt Devtools and what's coming next.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://nuxtnation.com/" target="_blank" rel="noopener noreferrer">Nuxt Nation</a><!----><!----><div text-sm="" op50="">Oct 18, 2023 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/E6kTiIbU3N8" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2023/nuxt-devtools-next" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-10-18" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="developer-experience-with-nuxt" tabindex="-1" important-mb-0=""><!----> Developer Experience with Nuxt <!----><!----><a class="header-anchor" href="#developer-experience-with-nuxt" aria-hidden="true">#</a></h2><div op75="" pt2="">The first introduction to Nuxt Devtools and how it can improve our developer experience for Nuxt</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://strasbourgjs.org" target="_blank" rel="noopener noreferrer">StrasbourgJS</a><!----><!----><div text-sm="" op50="">May 25, 2023 · Strasbourg, France</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/watch?v=brXZw4HQBGY" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2023/nuxt-devtools-strasbourg/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-05-25" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://vuejs.amsterdam" target="_blank" rel="noopener noreferrer">Vue Amsterdam</a><!----><!----><div text-sm="" op50="">Feb 9, 2023 · Amsterdam, Netherlands</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/W6hhU-Ws2Rg" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><a href="/posts/nuxt-dx-2023" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-file-list-3-line=""></div>Transcript </a><a href="https://talks.antfu.me/2023/nuxt-devtools/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-02-09" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="how-i-manage-github-notifications" tabindex="-1" important-mb-0=""><!----> How I Manage GitHub Notifications <!----><!----><a class="header-anchor" href="#how-i-manage-github-notifications" aria-hidden="true">#</a></h2><div op75="" pt2="">My workflow for managing GitHub notifications effectively.</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://maintainermonth.github.com" target="_blank" rel="noopener noreferrer">GitHub Maintainer Summit</a><!----><!----><div text-sm="" op50="">May 17, 2023 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/gu-0b6KCf80" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><a href="/posts/manage-github-notifications-2023" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-file-list-3-line=""></div>Transcript </a><a href="https://talks.antfu.me/2023/github-notifications/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2023-05-17" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="vueuse-" tabindex="-1" important-mb-0="" lang="zh"><!----> VueUse 最佳实践 <!---->
1<span align-top="" flex-none="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><a class="header-anchor" href="#vueuse-" aria-hidden="true">#</a></h2><div op75="" pt2="" lang="zh">我们在维护 VueUse 中学到的 Vue 最佳实践与技巧</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div lang="zh"><a href="https://vue.w3ctech.com/" target="_blank" rel="noopener noreferrer">VueConf China</a><span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Dec 10, 2022 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.bilibili.com/video/BV1bM411U7wq/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2022/vueuse-best-practice/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2022-12-10" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="patterns-of-vueuse" tabindex="-1" important-mb-0=""><!----> Patterns of VueUse <!----><!----><a class="header-anchor" href="#patterns-of-vueuse" aria-hidden="true">#</a></h2><div op75="" pt2="">The patterns and best practices we learned from maintaining VueUse</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://vuefes.jp/2022/" target="_blank" rel="noopener noreferrer">Vue Fes Japan</a><!----><!----><div text-sm="" op50="">Oct 16, 2022 · Online</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2022/patterns-vueuse/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2022-10-16" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="vite-the-on-demand-dx" tabindex="-1" important-mb-0=""><!----> Vite, the on-demand DX <!----><!----><a class="header-anchor" href="#vite-the-on-demand-dx" aria-hidden="true">#</a></h2><div op75="" pt2="">How the on-demand mindset Vite brings can improve our developer experience and creativity</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://viteconf.org/22/" target="_blank" rel="noopener noreferrer">ViteConf</a><!----><!----><div text-sm="" op50="">Oct 11, 2022 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/qXZzXvyqPpc" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2022/vite-on-demand-dx/" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2022-10-11" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="introduction-to-vitest" tabindex="-1" important-mb-0=""><!----> Introduction to Vitest <!----><!----><a class="header-anchor" href="#introduction-to-vitest" aria-hidden="true">
1#</a></h2><div op75="" pt2="">Introduction to Vitest, a new testing framework made with Vite for everyone</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://viteconf.org/22/" target="_blank" rel="noopener noreferrer">Vue.js Nation</a><!----><!----><div text-sm="" op50="">Jan 26, 2022 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://vuejsnation.com/2022" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2022/vue-nation" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2022-01-26" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="new-ways-to-vue" tabindex="-1" important-mb-0=""><!----> New Ways to Vue <!----><!----><a class="header-anchor" href="#new-ways-to-vue" aria-hidden="true">#</a></h2><div op75="" pt2="">How the new composition API and script setup improves our Vue development experience dramatically</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://vuejslive.com/" target="_blank" rel="noopener noreferrer">Vue.js Live</a><!----><!----><div text-sm="" op50="">Oct 20, 2021 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/CyaJLrqE9tc" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2021/vue-london" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2021-10-20" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div lang="zh"><a href="https://2021.laravelconf.tw/" target="_blank" rel="noopener noreferrer">{ Laravel x Vue } Conf Taiwan</a>
1<span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Oct 17, 2021 · Online</div></div><div flex="~ gap-3 justify-end items-center"><!----><!----><a href="https://talks.antfu.me/2021/laravel-vue-taiwan" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2021-10-17" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="composable-vue" tabindex="-1" important-mb-0=""><!----> Composable Vue <!----><!----><a class="header-anchor" href="#composable-vue" aria-hidden="true">#</a></h2><div op75="" pt2="">Tips and patterns for writing Vue composable</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div lang="zh"><a href="https://vue.w3ctech.com/" target="_blank" rel="noopener noreferrer">VueConf China</a>
1<span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">May 22, 2021 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.bilibili.com/video/BV1x54y1V7H6" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><!----><a href="https://talks.antfu.me/2021/vueconf-china" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2021-05-22" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--[--><!--[--><div><a href="https://vueday.org/" target="_blank" rel="noopener noreferrer">VueDay</a><!----><!----><div text-sm="" op50="">Apr 28, 2021 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://youtu.be/IMJjP6edHd0" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><a href="/posts/composable-vue-vueday-2021" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-file-list-3-line=""></div>Transcript </a><a href="https://talks.antfu.me/2021/composable-vue" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-presentation-fill=""></div>Slides </a><a href="https://antfu.me/talks/2021-04-28" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="develop-with-vite" tabindex="-1" important-mb-0=""><!----> Develop with Vite <!----><!----><a class="header-anchor" href="#develop-with-vite" aria-hidden="true">#</a></h2><div op75="" pt2="">How Vite can improve our development experience</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div><a href="https://twitter.com/beijing_vue" target="_blank" rel="noopener noreferrer">Vue Beijing</a><!----><!----><div text-sm="" op50="">Mar 28, 2021 · Online</div></div><div flex="~ gap-3 justify-end items-center"><a href="https://www.youtube.com/watch?v=xx8gEHet6n8" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-play-large-line=""></div>Watch </a><a href="/posts/vue-beijing-2021" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-file-list-3-line=""></div>Transcript </a><!----><a href="https://antfu.me/talks/2021-03-28/zh" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--[--><div><div pt4=""><hr></div><h2 id="import-reactive-from-vue-" tabindex="-1" important-mb-0="" lang="zh"><!----> import { reactive } from 'vue' <!---->
1<span align-top="" flex-none="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><a class="header-anchor" href="#import-reactive-from-vue-" aria-hidden="true">#</a></h2><div op75="" pt2="" lang="zh">Introduction to Vue 3's new Composition API</div><div grid="~ cols-1 md:cols-[1fr_max-content] gap-4" pt6=""><!--[--><!--[--><!--[--><div lang="zh"><a href="https://github.com/Bin-FE/binfe-salon-ppt" target="_blank" rel="noopener noreferrer">滨江前端沙龙</a><span align-top="" flex-none="" ml2="" class="text-xs bg-zinc:15 text-zinc5 rounded px-1 py-0.5 my-auto">中文</span><!----><div text-sm="" op50="">Sep 26, 2020 · Online</div></div><div flex="~ gap-3 justify-end items-center"><!----><a href="/posts/binfe-2020-zh" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-file-list-3-line=""></div>Transcript </a><!----><a href="https://antfu.me/talks/2020-09-26" target="_blank" rel="noopener noreferrer" op50="" hover:op100="" important-transition-opacity="" duration-500="" important-border-0=""><div i-ri-download-2-line=""></div>PDF</a><!----></div><!--]--><!--]--><!--]--></div></div><!--]--><!--]--></div><!--]--></article><div class="prose m-auto mt-8 mb-8 slide-enter animate-delay-500 print:hidden"><!----><br><span font-mono="" op50="">&gt; </span><a href="/" class="font-mono op50 hover:op75"></a></div><!--]--><div class="mt-10 mb-6 prose m-auto flex slide-enter animate-delay-1200! copyright"><span class="text-sm op50"><a target="_blank" href="https://creativecommons.org/licenses/by-nc-sa/4.0/" style="color:inherit">CC BY-NC-SA 4.0</a> 2021-PRESENT © Anthony Fu</span><div class="flex-auto"></div></div></main><!----><!--]--></div>
1<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
vendor: 1 bytes, line 1
1
2<script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="c371ba89-d187-498f-9bd9-e6bc5afd1fbb" data-netlify-deploy-branch="main" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiYzM3MWJhODktZDE4Ny00OThmLTliZDktZTZiYzVhZmQxZmJiIiwiYWNjb3VudF9pZCI6IjVjMTQ1YTVjMGVhZGE4Zjc0NTIzM2FlNyIsImRlcGxveV9pZCI6IjZhYWEyMmRiYjFkZmY2MDAwNzU0NTY5ZCIsImlzc3VlciI6Im5mc2VydmVyIn0.9qSVMoCXD6pNQ4Wt32n-3OemV7VZb1evIZiRSJMbDsw"></script>
2
3</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.