Compare commits

...

2 commits

Author SHA1 Message Date
Administrator
9a1d029a69 docs: update home 2026-05-04 01:16:40 +00:00
Administrator
d9cac35379 docs: update home 2026-05-04 01:15:24 +00:00

View file

@ -2,10 +2,10 @@
title: The Grimoire
description: Personal knowledge base — graymutt
published: true
date: 2026-04-19T04:25:33.085Z
date: 2026-05-04T01:16:35.540Z
tags:
editor: markdown
dateCreated: 2026-01-21T13:19:48.685Z
dateCreated: 2026-05-03T03:58:51.033Z
---
<!-- HERO BLOCK -->
@ -17,7 +17,7 @@ dateCreated: 2026-01-21T13:19:48.685Z
</div>
</div>
<script>
(function(){var c=document.getElementById('ng-canvas'),h=document.getElementById('ng-hero');if(!c)return;var x=c.getContext('2d'),W,H,n=[];function r(){W=c.width=h.offsetWidth;H=c.height=h.offsetHeight;}function i(){n=[];for(var k=0;k<55;k++)n.push({x:Math.random()*W,y:Math.random()*H,vx:(Math.random()-.5)*.3,vy:(Math.random()-.5)*.3,r:Math.random()*1.8+.6,p:Math.random()*Math.PI*2});}function d(){var T='rgba(0,229,204,';x.clearRect(0,0,W,H);var t=Date.now()/1000;for(var a=0;a<n.length;a++){for(var b=a+1;b<n.length;b++){var dx=n[a].x-n[b].x,dy=n[a].y-n[b].y,ds=Math.sqrt(dx*dx+dy*dy);if(ds<110){x.beginPath();x.moveTo(n[a].x,n[a].y);x.lineTo(n[b].x,n[b].y);x.strokeStyle=T+(1-ds/110)*.25+')';x.lineWidth=.5;x.stroke();}}}for(var a=0;a<n.length;a++){var p=n[a],f=.5+.5*Math.sin(t*1.5+p.p),g=x.createRadialGradient(p.x,p.y,0,p.x,p.y,p.r*6);g.addColorStop(0,T+(.08+.12*f)+')');g.addColorStop(1,T+'0)');x.beginPath();x.arc(p.x,p.y,p.r*6,0,Math.PI*2);x.fillStyle=g;x.fill();x.beginPath();x.arc(p.x,p.y,p.r,0,Math.PI*2);x.fillStyle=T+(.4+.5*f)+')';x.fill();p.x+=p.vx;p.y+=p.vy;if(p.x<0||p.x>W)p.vx*=-1;if(p.y<0||p.y>H)p.vy*=-1;}requestAnimationFrame(d);}r();i();d();window.addEventListener('resize',function(){r();i();});})();
(function(){var c=document.getElementById('ng-canvas'),h=document.getElementById('ng-hero');if(!c)return;var x=c.getContext('2d'),W,H,n=[];function r(){W=c.width=h.offsetWidth;H=c.height=h.offsetHeight;}function i(){n=[];for(var k=0;k<55;k++)n.push({x:Math.random()*W,y:Math.random()*H,vx:(Math.random()-.5)*.3,vy:(Math.random()-.5)*.3,r:Math.random()*1.8+.6,p:Math.random()*Math.PI*2});}function d(){var T='rgba(0,229,204,';x.clearRect(0,0,W,H);var t=Date.now()/1000;for(var a=0;a<n.length;a++){for(var b=a+1;b<n.length;b++){var dx=n[a].x-n[b].x,dy=n[a].y-n[b].y,ds=Math.sqrt(dx*dx+dy*dy);if(ds<110){x.beginPath();x.moveTo(n[a].x,n[a].y);x.lineTo(n[b].x,n[b].y);x.strokeStyle=T+(1-ds/110)*.25+')';x.lineWidth=.5;x.stroke();}}}for(var a=0;a<n.length;a++){var p=n[a],f=.5+.5*Math.sin(t*1.5+p.p),g=x.createRadialGradient(p.x,p.y,0,p.x,p.y,p.r*6);g.addColorStop(0,T+(.08+.12*f)+')');g.addColorStop(1,T+'0)');x.beginPath();x.arc(p.x,p.y,p.r*6,0,Math.PI*2);x.fillStyle=g;x.fill();x.beginPath();x.arc(p.x,p.y,p.r,0,Math.PI*2);x.fillStyle=T+(.4+.5*f)+')';x.fill();p.x+=p.vx;p.y+=p.vy;if(p.x<0||p.x>W)p.vx*=-1;if(p.y<0||p.y>H)p.vy*=-1;}requestAnimationFrame(d);}setTimeout(function(){r();i();d();},150);window.addEventListener('resize',function(){r();i();});})();
</script>
---