PageSourceSearch

https://jeremy-ho.vercel.app/assets/js/1df93b7f.456514da.js

js jeremy-ho.vercel.app collected 2026-10-03 07:11:48 UTC 3,173 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkcode_fictionist=self.webpackChunkcode_fictionist||[]).push([[4583],{89606:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(55398),r=n(96540),o=n(8078);const a={wrapper:"wrapper_g2R4",helloWrapper:"helloWrapper_PbjL",letter:"letter_mg0g",ghost:"ghost_aR_3",char:"char_aXEh",intro:"intro_cScO",name:"name_GeZf",subtitle:"subtitle_sR6g",buttons:"buttons_pJ4Q"};var i=n(56347),c=n(74848);function l(){const e=(0,i.W6)();return(0,r.useEffect)((()=>{(0,o.i0)(`.${a.char}`,{y:[{to:"-2.75rem",ease:"outExpo",duration:600},{to:0,ease:"outBounce",duration:800,delay:100}],rotate:{from:"-1turn",delay:0},delay:(e,t)=>50*t,easing:"inOutCirc",loopDelay:1e3,loop:!0})}),[]),(0,c.jsxs)("div",{className:a.wrapper,children:[(0,c.jsx)("h2",{className:a.helloWrapper,children:"Hello, World!".split("").map(((e,t)=>(0,c.jsxs)("span",{className:a.letter,children:[(0,c.jsx)("span",{className:a.ghost,children:" "===e?"\xa0":e}),(0,c.jsx)("span",{className:a.char,children:" "===e?"\xa0":e})]},t)))}),(0,c.jsxs)("div",{className:a.intro,children:[(0,c.jsx)("p",{className:a.name,children:"Jeremy Ho"}),(0,c.jsx)("p",{className:a.subtitle,children:"\u524d\u7aef\u5de5\u7a0b\u5e2b aka \u904a\u6232\u958b\u767c\u8a2d\u8a08\u5e2b"})]}),(0,c.jsxs)("div",{className:a.buttons,children:[(0,c.jsx)("button",{onClick:()=>e.push("/docs/notes"),children:"\u7b46\u8a18"}),(0,c.jsx)("button",{onClick:()=>e.push("/docs/languages"),children:"\u8a9e\u8a00"}),(0,c.jsx)("button",{onClick:()=>e.push("/docs/series"),children:"\u7cfb\u5217"})]})]})}const d={cursorTrail:"cursorTrail_f9hc"};function u(e,t=!1){const n=30+6*e;return{width:`${n}px`,height:`${n}px`,opacity:t?"0":`${1-.12*e}`,filter:`blur(${6+2*e}px)`,background:"radial-gradient(circle, hsla(190, 100%, 60%, 0.6), transparent 70%)",transition:"opacity 0.3s ease",position:"fixed",pointerEvents:"none",zIndex:"9999",top:"0",left:"0"}}function p(){return(0,r.useEffect)((()=>{if(window.innerWidth<768)return;const e=[];for(let c=0;c<6;c++){const t=document.createElement("div");t.className=d.cursorTrail,Object.assign(t.style,u(c,!0)),document.body.appendChild(t),e.push(t)}const t=Array.from({length:6},(()=>({x:0,y:0})));let n=0,s=0,r=!1;const o=e=>{n=e.clientX,s=e.clientY},a=a=>{n=a.clientX,s=a.clientY,t.forEach((e=>{e.x=n,e.y=s})),e.forEach(((e,t)=>{e.style.opacity=""+(1-.12*t)})),r=!0,i(),document.addEventListener("mousemove",o)};document.addEventListener("pointermove",a,{once:!0});const i=()=>{if(r){t[0].x+=.2*(n-t[0].x),t[0].y+=.2*(s-t[0].y);for(let e=1;e<6;e++)t[e].x+=.2*(t[e-1].x-t[e].x),t[e].y+=.2*(t[e-1].y-t[e].y);for(let n=0;n<6;n++)e[n].style.transform=`translate(${t[n].x}px, ${t[n].y}px) translate(-50%, -50%)`;requestAnimationFrame(i)}};return()=>{document.removeEventListener("pointermove",a),document.removeEventListener("mousemove",o),e.forEach((e=>e.remove()))}}),[]),null}const m={main:"main_iUjq",buttons:"buttons_AeoN"};function h(){return(0,c.jsxs)(s.A,{title:"\u524d\u7aef\u5de5\u7a0b\u5e2b",description:"Personal portfolio site of Jeremy Ho \u2013 a front-end engineer and game developer.",children:[(0,c.jsx)(p,{}),(0,c.jsx)("main",{className:m.main,children:(0,c.jsx)(l,{})})]})}}}]);

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.