Hi! I'm Ryan.
I am a fullstack web developer who loves working with SSGs and performant stuff.
I do web development and am currently learning Electron.
Read my blog posts →':o.theme==="dark"?'':''},i=()=>{if(!l())return"system";let e=window.localStorage.getItem("theme");return a(e)||(window.localStorage.setItem("theme","system"),e="system"),e},o=new Proxy({theme:i()},{set:(e,t,s)=>{if(typeof s!="string")throw new Error("theme must be string!");if(!a(s))throw new Error("invalid theme!");return e.theme=s,l()&&window.localStorage.setItem("theme",e.theme),m(),r().forEach(n),!1}});m();r().forEach(n);window.addEventListener("load",()=>{r().forEach(e=>{n(e),e.addEventListener("click",()=>{h()})})});window.addEventListener("storage",e=>{e.key==="theme"&&(o.theme=i())});})();
Hi! I'm Ryan.
I am a fullstack web developer who loves working with SSGs and performant stuff.
I do web development and am currently learning Electron.
Read my blog posts →