PageSourceSearch

https://pengzhanbo.cn/assets/sites-Bh37eqzy.js

js pengzhanbo.cn collected 2026-09-25 22:07:17 UTC 26,453 bytes, 1 lines download raw bytes

1import{C as e,L as t,X as n,_ as r,b as i}from"./vue-DQbanpiW.js";import{s as a}from"./app-CvloIhHk.js";import{t as o}from"./VPLinkCard-DNvc_jB_.js";import{t as s}from"./VPCardGrid-B-IYmGRk.js";var c=JSON.parse(`{"path":"/sites-collect/","title":"站点导航","lang":"zh-CN","frontmatter":{"title":"站点导航","createTime":"2022/11/05 10:39:43","permalink":"/sites-collect/","article":false,"description":"代码搜索 Grep.app Runtime Registry 库/框架 微前端 CSS Vue React 小程序 图标 素材 桌面应用开发 跨平台开发 构建工具 站点生成工具 社区 周刊 博客 Git 工具 javascript css 正则 shell 开源 服务 Test Chart CDN","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"站点导航\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-06T15:49:04.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://pengzhanbo.cn/sites-collect/"}],["meta",{"property":"og:site_name","content":"鹏展博"}],["meta",{"property":"og:title","content":"站点导航"}],["meta",{"property":"og:description","content":"代码搜索 Grep.app Runtime Registry 库/框架 微前端 CSS Vue React 小程序 图标 素材 桌面应用开发 跨平台开发 构建工具 站点生成工具 社区 周刊 博客 Git 工具 javascript css 正则 shell 开源 服务 Test Chart CDN"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-06T15:49:04.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-06T15:49:04.000Z"}]]},"readingTime":{"minutes":8.54,"words":2561},"git":{"createdTime":1678033753000,"updatedTime":1772812144000,"contributors":[{"name":"pengzhanbo","username":"pengzhanbo","email":"[email protected]","commits":24,"avatar":"https://avatars.githubusercontent.com/pengzhanbo?v=4","url":"https://github.com/pengzhanbo"}]},"autoDesc":true,"filePathRelative":"sites.md","headers":[]}`),l={name:`sites.md`};function u(a,c,l,u,d,f){let p=o,m=s,h=o;return t(),i(`div`,null,[c[0]||=r(`h2`,{id:`代码搜索`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#代码搜索`},[r(`span`,null,`代码搜索`)])],-1),c[1]||=r(`iframe`,{src:`https://grep.app`,width:`100%`,height:`400px`,frameborder:`0`,style:{border:`1px solid var(--vp-c-divider)`,"border-radius":`5px`,"box-shadow":`var(--vp-shadow-2)`}},null,-1),c[2]||=r(`p`,null,[r(`a`,{href:`https://grep.app/`,class:`readmore`,target:`_blank`,rel:`noopener noreferrer`},[r(`strong`,null,`Grep.app`)])],-1),c[3]||=r(`h2`,{id:`runtime`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#runtime`},[r(`span`,null,`Runtime`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Node`,icon:`logos:nodejs-icon`,href:`https://nodejs.org/`}),e(p,{title:`Deno`,icon:`logos:deno`,href:`https://deno.land/`}),e(p,{title:`Bun`,icon:`logos:bun`,href:`https://bun.sh/`})]),_:1}),c[4]||=r(`h2`,{id:`registry`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#registry`},[r(`span`,null,`Registry`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`npm`,icon:`logos:npm`,href:`https://www.npmjs.com/`}),e(p,{title:`yarn`,icon:`logos:yarn`,href:`https://yarnpkg.com/`}),e(p,{title:`pnpm`,icon:`logos:pnpm`,href:`https://pnpm.io/`}),e(p,{title:`jsr`,icon:`https://jsr.io/logo-square.svg`,href:`https://jsr.io/`})]),_:1}),c[5]||=r(`h2`,{id:`库-框架`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#库-框架`},[r(`span`,null,`库/框架`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`React`,icon:`logos:react`,href:`https://zh-hans.react.dev/`}),e(p,{title:`Vue`,icon:`logos:vue`,href:`https://cn.vuejs.org/`}),e(p,{title:`Angular`,icon:`logos:angular-icon`,href:`https://angular.dev/`}),e(p,{title:`Preact`,icon:`logos:preact`,href:`https://preactjs.com/`}),e(p,{title:`Svelte`,icon:`logos:svelte-icon`,href:`https://svelte.dev/`}),e(p,{title:`Solid`,icon:`logos:solidjs-icon`,href:`https://www.solidjs.com/`}),e(p,{title:`Astro`,icon:`logos:astro-icon`,href:`https://astro.build/`}),e(p,{title:`Lit`,icon:`logos:lit-icon`,href:`https://lit.dev/`}),e(p,{title:`Inferno`,icon:`logos:inferno`,href:`https://infernojs.org/`}),e(p,{title:`Alpine`,icon:`logos:alpinejs-icon`,href:`https://alpinejs.dev/`}),e(p,{title:`Qwik`,icon:`logos:qwik-icon`,href:`https://qwik.dev/`}),e(p,{title:`Cycle.js`,icon:`logos:cyclejs`,href:`https://cycle.js.org/`}),e(p,{title:`Ripplejs`,icon:`https://www.ripplejs.com/favicon.svg`,href:`https://www.ripplejs.com/`}
1),e(p,{title:`Marko`,icon:`logos:marko`,href:`https://markojs.com/`}),e(p,{title:`Nuejs`,icon:`https://nuejs.org/favicon.ico`,href:`https://nuejs.org/`}),e(p,{title:`Htmx`,icon:`ph:code-bold`,href:`https://htmx.org/`}),e(p,{title:`Yew`,icon:`https://yew.rs/img/logo.svg`,href:`https://yew.rs/`})]),_:1}),c[6]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`Nuxt.js`,icon:`logos:nuxt-icon`,href:`https://nuxtjs.org/`}),e(p,{title:`Next.js`,icon:`logos:nextjs-icon`,href:`https://nextjs.org/`}),e(p,{title:`SvelteKit`,icon:`logos:svelte-icon`,href:`https://kit.svelte.dev/`}),e(p,{title:`SolidStart`,icon:`logos:solidjs-icon`,href:`https://start.solidjs.com/`})]),_:1}),c[7]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`express`,icon:`logos:express`,href:`https://expressjs.com/`}),e(p,{title:`koa`,icon:`logos:koa`,href:`https://koajs.com/`}),e(p,{title:`fastify`,icon:`logos:fastify-icon`,href:`https://fastify.dev/`}),e(p,{title:`Tiny Http`,icon:`https://tinyhttp.v1rtl.site/favicon.png`,href:`https://tinyhttp.v1rtl.site/`}),e(p,{title:`h3`,icon:`https://h3.unjs.io/icon.svg`,href:`https://h3.unjs.io/`}),e(p,{title:`Nitro`,icon:`https://nitro.build/icon.svg`,href:`https://nitro.build/`})]),_:1}),c[8]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`Nest.js`,icon:`logos:nestjs`,href:`https://nestjs.com/`}),e(p,{title:`loopback`,icon:`logos:loopback-icon`,href:`https://loopback.io/`}),e(p,{title:`Egg`,icon:`https://www.eggjs.org/logo.svg`,href:`https://eggjs.org/`}),e(p,{title:`Midway`,icon:`https://midwayjs.org/img/logo.svg`,href:`https://midwayjs.org/`}),e(p,{title:`Thinkjs`,icon:`https://thinkjs.org/static/img/new/logo.png`,href:`https://thinkjs.org/`}),e(p,{title:`Adonis`,icon:`https://adonisjs.com/assets/apple-icon-180x180-9a7N4Jr0.png`,href:`https://adonisjs.com/`}),e(p,{title:`Honojs`,icon:`https://hono.dev/images/logo.svg`,href:`https://hono.dev/`}),e(p,{title:`Elysia`,icon:`https://elysiajs.com/assets/elysia.svg`,href:`https://elysiajs.com/`})]),_:1}),c[9]||=r(`h3`,{id:`微前端`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#微前端`},[r(`span`,null,`微前端`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`micro-frontends`,href:`https://swearer23.github.io/micro-frontends/`}),e(p,{title:`single-spa`,icon:`https://single-spa.js.org/img/single-spa-mark-magenta.svg`,href:`https://single-spa.js.org/`}),e(p,{title:`qiankun`,icon:`https://gw.alipayobjects.com/mdn/rms_655822/afts/img/A*4sIUQpcos_gAAAAAAAAAAAAAARQnAQ`,href:`https://qiankun.umijs.org/`}),e(p,{title:`Garfish`,icon:`https://lf3-static.bytednsdoc.com/obj/eden-cn/dhozeh7vhpebvog/open-garfish/icons/icon.png`,href:`https://www.garfishjs.org/`}),e(p,{title:`icestark`,icon:`https://micro-frontends.ice.work/img/logo.png`,href:`https://micro-frontends.ice.work/`}),e(h,{title:`无界`,icon:`https://wujie-micro.github.io/doc/wujie.svg`,href:`https://wujie-micro.github.io/doc/`})]),_:1}),c[10]||=r(`hr`,null,null,-1),e(p,{title:`awesome micro frontends`,icon:`logos:awesome`,href:`https://github.com/rajasegar/awesome-micro-frontends`}),c[11]||=r(`h3`,{id:`css`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#css`},[r(`span`,null,`CSS`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`PostCSS`,icon:`logos:postcss`,href:`https://postcss.org/`}),e(p,{title:`SASS`,icon:`logos:sass`,href:`https://sass-lang.com/`}),e(p,{title:`Less`,icon:`logos:less`,href:`https://lesscss.org/`}),e(p,{title:`Stylus`,icon:`logos:stylus`,href:`https://stylus-lang.com/`}),e(p,{title:`PandaCSS`,icon:`logos:pandacss-icon`,href:`https://panda-css.com/`}),e(p,{title:`TailwindCSS`,icon:`logos:tailwindcss-icon`,href:`https://tailwindcss.com/`}),e(p,{title:`WindiCSS`,icon:`logos:windi-css`,href:`https://windicss.org/`}),e(p,{title:`unocss`,icon:`logos:unocss`,href:`https://uno.antfu.me/`}),e(p,{title:`Lightning CSS`,icon:`https://lightningcss.dev/favicon.3aabf677.svg`,href:`https://lightningcss.dev/`})]),_:1}),c[12]||=r(`h3`,{id:`vue`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#vue`},[r(`span`,null,`Vue`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Element Plus`,icon:`logos:element`,href:`https://element-plus.org/`}),e(p,{title:`Naive UI`,icon:`logos:naiveui`,href:`https://www.naiveui.com/`}),e(p,{title:`Vant UI`,icon:`https://fastly.jsdelivr.net/npm/@vant/assets/logo.png`,href:`https://vant-ui.github.io/vant/`}),e(p,{title:`vuetify`,icon:`logos:vuetifyjs`,href:`https://vuetifyjs.com/`}),e(p,{title:`Shadcn Vue`,href:`https://www.shadcn-vue.com/`}),e(p,{title:`Radix Vue`,icon:`https://www.radix-vue.com/logo.svg`,href:`https://www.radix-vue.com/`}),e(p,{title:`Reka Vue`,icon:`https://reka-ui.com/logo.svg`,href:`https://reka-ui.com/`}),e(p,{title:`Inspira UI`,icon:`https://cdn.inspira-ui.com/logo.svg`,href:`https://github.com/unovue/inspira-ui`})]),_:1}),c[13]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>
1[e(p,{title:`Vue Use`,icon:`logos:vueuse`,href:`https://vueuse.org/`}),e(p,{title:`Pinia`,icon:`logos:pinia`,href:`https://pinia.vuejs.org/`}),e(p,{title:`Vue Router`,icon:`logos:vue`,href:`https://router.vuejs.org/`})]),_:1}),c[14]||=r(`hr`,null,null,-1),e(p,{title:`Vue Testing Library`,icon:`https://testing-library.com/img/octopus-64x64.png`,href:`https://testing-library.com/docs/vue-testing-library/intro/`}),c[15]||=r(`h3`,{id:`react`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#react`},[r(`span`,null,`React`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Ant Design`,icon:`logos:ant-design`,href:`https://ant.design/`}),e(p,{title:`Material UI`,icon:`logos:material-ui`,href:`https://mui.com/`}),e(p,{title:`Shadcn UI`,href:`https://ui.shadcn.com/`}),e(p,{title:`Chakra UI`,href:`https://v2.chakra-ui.com/`})]),_:1}),c[16]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`Redux`,icon:`logos:redux`,href:`https://redux.js.org/`}),e(p,{title:`Recoil`,icon:`logos:recoil-icon`,href:`https://recoiljs.org/`}),e(p,{title:`MobX`,icon:`logos:mobx`,href:`https://mobx.js.org/`}),e(p,{title:`Zustand`,href:`https://zustand-demo.pmnd.rs/`}),e(p,{title:`Jotai`,icon:`https://jotai.org/favicon.svg`,href:`https://jotai.org/`})]),_:1}),c[17]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`React Use`,href:`http://streamich.github.io/react-use`}),e(p,{title:`React Hooks Form`,href:`https://react-hook-form.com/`}),e(p,{title:`a-hooks`,href:`https://ahooks.js.org/`}),e(p,{title:`swr`,icon:`logos:swr`,href:`https://swr.vercel.app/`}),e(p,{title:`umijs`,href:`https://umijs.org/`}
1),e(p,{title:`formily`,href:`https://formilyjs.org/`}),e(p,{title:`React Dnd`,href:`https://react-dnd.github.io/`}),e(p,{title:`Tanstack Query`,icon:`https://tanstack.com/favicon-32x32.png`,href:`https://tanstack.com/query/`})]),_:1}),c[18]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`React Router`,icon:`logos:react-router`,href:`https://reactrouter.com/`}),e(p,{title:`Tanstack Router`,icon:`https://tanstack.com/favicon-32x32.png`,href:`https://tanstack.com/router/`})]),_:1}),c[19]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`styled-components`,icon:`https://styled-components.com/favicon.png`,href:`https://styled-components.com/`}),e(p,{title:`emotion`,icon:`https://emotion.sh/logo-96x96.png`,href:`https://emotion.sh/docs/introduction`})]),_:1}),c[20]||=r(`hr`,null,null,-1),e(p,{title:`React Testing Library`,icon:`https://testing-library.com/img/octopus-64x64.png`,href:`https://testing-library.com/docs/react-testing-library/intro/`}),c[21]||=r(`hr`,null,null,-1),e(p,{title:`Awesome React`,icon:`logos:awesome`,href:`https://github.com/enaqx/awesome-react`}),c[22]||=r(`h3`,{id:`小程序`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#小程序`},[r(`span`,null,`小程序`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`uni app`,icon:`https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png`,href:`https://uniapp.dcloud.io/`}),e(p,{title:`Taro`,href:`https://taro.zone/`})]),_:1}),c[23]||=r(`h2`,{id:`图标`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#图标`},[r(`span`,null,`图标`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`XIcons`,icon:`https://www.xicons.org/favicon.svg`,href:`https://www.xicons.org/`}),e(p,{title:`Iconify`,icon:`https://icon-sets.iconify.design/favicon.svg`,href:`https://icon-sets.iconify.design/`}),e(p,{title:`IconPark`,icon:`https://lf1-cdn2-tos.bytegoofy.com/bydesign/iconparksite/logo.svg`,href:`https://iconpark.oceanengine.com/`}),e(p,{title:`Lucide Icon`,icon:`https://lucide.dev/logo.light.svg`,href:`https://lucide.dev/`}),e(p,{title:`Lucide Animated`,icon:`https://lucide-animated.com/icon`,href:`https://lucide-animated.com/`}),e(p,{title:`Simple Icons`,icon:`https://simpleicons.org/logo-fc26614b48c3f1fd.svg`,href:`https://simpleicons.org/`}),e(p,{title:`MingCute Icon`,icon:`https://www.mingcute.com/favicon.ico`,href:`https://www.mingcute.com/`}),e(p,{title:`Font Awesome`,icon:`https://fontawesome.com/images/favicon/icon.svg`,href:`https://fontawesome.com/`}),e(p,{title:`Bootstrap Icons`,icon:`https://icons.getbootstrap.com/assets/img/favicons/favicon-32x32.png`,href:`https://icons.getbootstrap.com/`}),e(p,{title:`Iconfont`,icon:`https://www.iconfont.cn/favicon.ico`,href:`https://www.iconfont.cn/`})]),_:1}),c[24]||=r(`h2`,{id:`素材`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#素材`},[r(`span`,null,`素材`)])],-1),e(m,null,{default:n(()=>[e(p,{href:`https://unsplash.com/`,title:`Unsplash`,icon:`https://unsplash.com/favicon-32x32.png`}),e(p,{title:`Many Pixels`,icon:`https://cdn.prod.website-files.com/63a9cb71c629474d4ae334b9/64a5f701714b5fe13a08253f_favicons%201%20(2).png`,href:`https://www.manypixels.co/gallery`}),e(p,{title:`Undraw`,icon:`https://undraw.co/favicon.ico`,href:`https://undraw.co/illustrations`}),e(p,{title:`搜图导航`,icon:`https://www.91sotu.com/favicon.ico`,href:`https://www.91sotu.com/`})]),_:1}),c[25]||=r(`h2`,{id:`桌面应用开发`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#桌面应用开发`},[r(`span`,null,`桌面应用开发`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Electron`,icon:`logos:electron`,href:`https://electronjs.org/`,description:`内置 node + chromium,打包后比较重`}),e(p,{title:`Tauri`,icon:`logos:tauri`,href:`https://tauri.app/`,description:`rust + 系统webview 2, 打包后很轻`}),e(p,{title:`neutralino`,icon:`https://neutralino.js.org/img/logo.png`,href:`https://neutralino.js.org/`,description:`专注于轻量级 桌面应用`})]),_:1}),c[26]||=r(`h2`,{id:`跨平台开发`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#跨平台开发`},[r(`span`,null,`跨平台开发`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`React Native`,icon:`logos:react`,href:`https://reactnative.dev/`}),e(p,{title:`Flutter`,icon:`logos:flutter`,href:`https://flutter.dev/`}),e(p,{title:`NativeScript`,icon:`logos:nativescript`,href:`https://nativescript.org/`})]),_:1}),c[27]||=r(`h2`,{id:`构建工具`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#构建工具`},[r(`span`,null,`构建工具`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`vite`,icon:`logos:vitejs`,href:`https://vitejs.dev/`}),e(p,{title:`webpack`,icon:`logos:webpack`,href:`https://webpack.js.org/`}),e(p,{title:`parcel`,icon:`logos:parcel-icon`,href:`https://parceljs.org/`}),e(p,{title:`rollup`,icon:`logos:rollup`,href:`https://rollupjs.org/`}),e(p,{title:`esbuild`,icon:`logos:esbuild`,href:`https://esbuild.github.io/`}),e(p,{title:`tsup`,icon:`logos:typescript-icon`,href:`https://tsup.egoist.dev/`}),e(p,{title:`unbuild`,icon:`unjs:unbuild`,href:`https://github.com/unjs/unbuild`}),e(p,{title:`turbo`,icon:`logos:turbopack-icon`,href:`https://turbo.build/`}),e(p,{title:`rolldown`,icon:`https://rolldown.rs/lightning-down.svg`,href:`https://rolldown.rs/`}),e(p,{title:`rspack`,icon:`https://assets.rspack.dev/rspack/rspack-logo.svg`,href:`https://www.rspack.dev/`}),e(p,{title:`swc`,icon:`logos:swc`,href:`https://swc.rs/`}),e(p,{title:`farm`,icon:`https://www.farmfe.org/img/logo.png`,href:`https://www.farmfe.org/`})]),_:1}),c[28]||=r(`h3`,{id:`站点生成工具`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#站点生成工具`},[r(`span`,null,`站点生成工具`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`VitePress`,icon:`https://vitepress.dev/vitepress-logo-mini.svg`,href:`https://vitepress.dev/`}),e(p,{title:`VuePress`,icon:`https://v2.vuepress.vuejs.org/images/hero.png`,href:`https://v2.vuepress.vuejs.org/`}),e(p,{title:`Docusaurus`,icon:`logos:docusaurus`,href:`https://docusaurus.io/`}),e(p,{title:`Startlight`,icon:`https://starlight.astro.build/_astro/hero-star.CRrHICv4_Zc4Kge.webp`,href:`https://starlight.astro.build/`}),e(p,{title:`Hexo`,icon:`logos:hexo`,href:`https://hexo.io/`}),e(p,{title:`Slidev`,icon:`logos:slidev`,href:`https://sli.dev/`})]),_:1}),c[29]||=r(`h2`,{id:`社区`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#社区`},[r(`span`,null,`社区`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`dev.to`,href:`https://dev.to`,icon:`https://media.dev.to/cdn-cgi/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png`,de
1scription:`技术社区,拥有庞大的开发者用户基数,适合学习技术、分享交流、提升专业能力。`}),e(p,{title:`思否`,href:`https://segmentfault.com`,icon:`https://static.segmentfault.com/main_site_next/9e69005a/_next/static/media/logo-b.1ef53c6e.svg`,description:`中文技术问答社区`}),e(p,{href:`https://juejin.cn`,title:`掘金`,icon:`https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web/e08da34488b114bd4c665ba2fa520a31.svg`,description:`中文技术社区`}),e(p,{title:`v2ex`,href:`https://www.v2ex.com`,icon:`https://www.v2ex.com/static/img/[email protected]`,description:`中文技术社区,分享、探索`}),e(p,{title:`LeetCode`,href:`https://leetcode.cn`,icon:`https://leetcode.cn/favicon.ico`,description:`算法题库`})]),_:1}),c[30]||=r(`h3`,{id:`周刊`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#周刊`},[r(`span`,null,`周刊`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Nodeweekly`,href:`https://nodeweekly.com/issues`}),e(p,{title:`JavaScript Weekly`,href:`https://javascriptweekly.com/issues`}),e(p,{title:`Frontender`,href:`https://frontender-ua.medium.com/`}),e(p,{title:`奇舞周刊`,href:`https://weekly.75.team/`})]),_:1}),c[31]||=r(`h3`,{id:`博客`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#博客`},[r(`span`,null,`博客`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`web.dev`,href:`https://web.dev`,description:`Chrome DevRel`}),e(p,{title:`Chrome Developer`,href:`https://developer.chrome.com`,description:`Chrome 团队博客`}),e(p,{title:`builder.io`,href:`https://builder.io`})]),_:1}),c[32]||=r(`h2`,{id:`git`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#git`},[r(`span`,null,`Git`)])],-1),e(p,{title:`Learn Git Branching`,href:`https://learngitbranching.js.org/?locale=zh_CN`,description:`学习 git 分支`}),c[33]||=r(`h2`,{id:`工具`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#工具`},[r(`span`,null,`工具`)])],-1),c[34]||=r(`h3`,{id:`javascript`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#javascript`},[r(`span`,null,`javascript`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`js 可视化执行`,icon:`logos:javascript`,href:`https://www.jsv9000.app`}),e(p,{title:`js 性能对比`,icon:`logos:javascript`,href:`https://jsbench.me`}),e(p,{title:`AST explorer`,icon:`logos:javascript`,href:`https://www.astexplorer.net`})]),_:1}),c[35]||=r(`h3`,{id:`css-1`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#css-1`},[r(`span`,null,`css`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`CSS 灵感`,href:`https://csscoco.com/inspiration/#/`}),e(p,{title:`CSS Tricks`,href:`https://qishaoxuan.github.io/css_tricks/`}),e(p,{title:`you need to know css`,href:`https://lhammer.cn/You-need-to-know-css/#/`})]),_:1}),c[36]||=r(`hr`,null,null,-1),e(m,null,{default:n(()=>[e(p,{title:`Web 安全色`,href:`https://www.bootcss.com/p/websafecolors/`}),e(p,{title:`渐变色`,icon:`https://color.oulu.me/favicon.ico`,href:`https://color.oulu.me/`}),e(p,{title:`SVG background`,href:`https://www.svgbackgrounds.com/`}),e(p,{title:`SVG 波浪背景生成`,href:`https://svgwave.in/`}),e(p,{title:`贝塞尔生成`,href:`https://easings.co/`}),e(p,{title:`CSS 动画`,href:`https://animista.net/`}),e(p,{title:`CSS Timing Function`,href:`https://easings.net/zh-cn`}),e(p,{title:`Color Hunt`,icon:`https://colorhunt.co/img/colorhunt-favicon.svg?2`,href:`https://colorhunt.co/`}),e(p,{title:`Colordrop`,icon:`https://colordrop.io/favicon.ico`,href:`https://colordrop.io/`}),e(p,{title:`Picular`,icon:`https://picular.co/favicon.ico`,href:`https://picular.co/`})]),_:1}),c[37]||=r(`h3`,{id:`正则`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#正则`},[r(`span`,null,`正则`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`正则生成,图解`,href:`https://regex-vis.com/`}),e(p,{title:`正则测试`,href:`https://regex101.com/`})]),_:1}),c[38]||=r(`h3`,{id:`shell`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#shell`},[r(`span`,null,`shell`)])],-1),e(p,{title:`tldr`,href:`https://tldr.sh/`,description:`在线帮助手册`}),c[39]||=r(`h3`,{id:`开源`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#开源`},[r(`span`,null,`开源`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`bestofjs`,icon:`https://bestofjs.org/favicon.ico`,href:`https://bestofjs.org/`,description:`前端开源项目最新热点趋势`}),e(p,{title:`publint`,icon:`https://publint.dev/favicon.ico`,href:`https://publint.dev/`,description:`检查 npm package 是否正确发布`}),e(p,{title:`Ray`,icon:`https://www.ray.so/favicon.ico`,href:`https://www.ray.so/`,description:`代码 Demo 图片生成`}),e(p,{title:`Carbon`,icon:`https://carbon.now.sh/favicon.ico`,href:`https://carbon.now.sh/`,description:`代码 Demo 图片生成`}),e(p,{title:`屏幕截图设备模型生成器`,icon:`https://mockuphone.com/images/favicon.png`,href:`https://mockuphone.com/`,description:`将屏幕截图适配到不同的设备模型中`}),e(p,{title:`在线画板`,icon:`https://excalidraw.com/favicon-32x32.png`,href:`https://excalidraw.com/`,description:`在线画板`})]),_:1}),c[40]||=r(`h2`,{id:`服务`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#服务`},[r(`span`,null,`服务`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Nginx 配置生成`,href:`https://www.digitalocean.com/community/tools/nginx?global.app.lang=zhCN`}),e(p,{title:`caniuse`,href:`https://caniuse.com/`})]),_:1}),c[41]||=r(`h2`,{id:`test`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#test`},[r(`span`,null,`Test`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`storybook`,icon:`logos:storybook-icon`,href:`https://storybook.js.org/`}),e(p,{title:`vitest`,icon:`logos:vitest`,href:`https://vitest.dev/`}),e(p,{title:`cypress`,icon:`logos:cypress-icon`,href:`https://cypress.io/`}),e(p,{title:`puppeteer`,icon:`logos:puppeteer`,href:`https://pptr.dev`}),e(p,{title:`playwright`,icon:`logos:playwright`,href:`https://playwright.dev/`}),e(p,{title:`jest`,icon:`logos:jest`,href:`https://jestjs.io/`}),e(p,{title:`mocha`,icon:`logos:mocha`,href:`https://mochajs.org/`}),e(p,{title:`ava`,icon:`logos:ava`,href:`https://avajs.dev/`}),e(p,{title:`karma`,icon:`logos:karma`,href:`https://karma-runner.github.io/`}),e(p,{title:`nightwatch`,icon:`logos:nightwatch`,href:`https://nightwatchjs.org/`}),e(p,{title:`sinon`,icon:`https://sinonjs.org/assets/images/logo.png`,href:`https://sinonjs.org/`}),e(p,{title:`chai`,icon:`logos:chai`,href:`https://www.chaijs.com/`}),e(p,{title:`tape`,href:`https://github.com/ljharb/tape`}),e(p,{title:`istanbul`,href:`https://istanbul.js.org/`}),e(p,{title:`uvu`,href:`https://github.com/lukeed/uvu`})]),_:1}),c[42]||=r(`h2`,{id:`chart`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#chart`},[r(`span`,null,`Chart`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`Chart.js`,icon:`https://www.chartjs.org/img/chartjs-logo.svg`,href:`https://www.chartjs.org/`}
1),e(p,{title:`ECharts`,icon:`https://echarts.apache.org/favicon.ico`,href:`https://echarts.apache.org/`}),e(p,{title:`Mermaid`,icon:`https://mermaid.js.org/favicon.ico`,href:`https://mermaid.js.org/`}),e(p,{title:`ApexCharts`,icon:`https://apexcharts.com/wp-content/themes/apexcharts/img/apexcharts-logo-white-trimmed.svg`,href:`https://apexcharts.com/`}),e(p,{title:`visx`,icon:`https://airbnb.io/favicon.ico`,href:`https://airbnb.io/visx`}),e(p,{title:`C3.js`,icon:`https://c3js.org/img/favicon-74acff28.png`,href:`http://c3js.org/`}),e(p,{title:`D3`,icon:`https://d3js.org/logo.svg`,href:`https://d3js.org/`}),e(p,{title:`G2`,icon:`https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original`,href:`https://g2.antv.antgroup.com/`}),e(p,{title:`G2Plot`,icon:`https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original`,href:`https://g2plot.antv.antgroup.com/`}),e(p,{title:`G6`,icon:`https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original`,href:`https://g6.antv.antgroup.com/`}),e(p,{title:`F2`,icon:`https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original`,href:`https://f2.antv.vision/zh`}),e(p,{title:`X6`,icon:`https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original`,href:`https://x6.antv.antgroup.com/en`})]),_:1}),c[43]||=r(`h2`,{id:`cdn`,tabindex:`-1`},[r(`a`,{class:`header-anchor`,href:`#cdn`},[r(`span`,null,`CDN`)])],-1),e(m,null,{default:n(()=>[e(p,{title:`jsdelivr`,icon:`logos:jsdelivr`,href:`https://www.jsdelivr.com/`}),e(p,{title:`cdnjs`,icon:`https://cdnjs.com/_/f7a2ebfb819c118086546e481876aef6.svg`,href:`https://cdnjs.com/`}),e(p,{title:`unpkg`,icon:`https://unpkg.com/favicon.ico`,href:`https://unpkg.com/`}),e(p,{title:`Bootcdn`,icon:`https://www.bootcdn.cn/favicon.ico`,href:`https://www.bootcdn.cn/`})]),_:1})])}var d=a(l,[[`render`,u]]);export{c as _pageData,d as default};

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.