From 61e5607412a294900ece85f19ef54f473f0acd89 Mon Sep 17 00:00:00 2001 From: malkoG Date: Mon, 10 Jun 2024 16:43:26 +0000 Subject: [PATCH] deploy: f8933fab039b50644e906022fe4c9562a069fe87 --- .../src/_islands/neural_network.6UW66M6C.js | 2 - .../_islands/neural_network.6UW66M6C.js.map | 7 - .../src/_islands/neural_network.JL7577VI.js | 2 + .../_islands/neural_network.JL7577VI.js.map | 7 + .../random_page_redirection.6F72FQJJ.js | 2 + .../random_page_redirection.6F72FQJJ.js.map | 7 + .../random_page_redirection.YZA7OX4R.js | 2 - .../random_page_redirection.YZA7OX4R.js.map | 7 - neural-network/index.html | 4 +- rss.xml | 2 +- wiki/Aggregate/index.html | 2 +- wiki/DomainDrivenDesign/index.html | 2 +- wiki/Factory/index.html | 2 +- wiki/Repository/index.html | 2 +- wiki/appendix/excelcon-2nd/index.html | 2 +- wiki/appendix/index.html | 2 +- wiki/archive/index.html | 2 +- wiki/cli/diff/index.html | 2 +- wiki/cli/index.html | 2 +- wiki/daily/2023-01-19/index.html | 2 +- wiki/digital-garden/index.html | 2 +- wiki/dogfooding-driven-development/index.html | 2 +- wiki/duck-typing/index.html | 352 ++++++++++++++++++ wiki/improving-productivity/index.html | 2 +- .../improving-productivity/journey/index.html | 2 +- wiki/index.html | 6 +- wiki/mastodon/index.html | 2 +- wiki/mastodon/recommendations/index.html | 2 +- wiki/mermaid/index.html | 2 +- wiki/metacognition/index.html | 2 +- wiki/neovim/index.html | 2 +- wiki/object-oriented-design/index.html | 8 +- wiki/productivity/index.html | 2 +- wiki/projects/neural-bridge/index.html | 2 +- wiki/prompt-engineering/index.html | 2 +- wiki/quarterly/2023-Q1/index.html | 2 +- wiki/quarterly/2023-Q2/index.html | 2 +- wiki/quarterly/2023-Q3/index.html | 2 +- wiki/quarterly/2023-Q4/index.html | 2 +- wiki/quarterly/2024-Q1/index.html | 2 +- wiki/references/devex/index.html | 2 +- wiki/references/flutter/index.html | 2 +- wiki/references/index.html | 2 +- wiki/references/personal/index.html | 2 +- wiki/rfc/2616/index.html | 2 +- wiki/rfc/index.html | 2 +- wiki/rfc/visualization/index.html | 2 +- wiki/symbol/index.html | 2 +- wiki/templates/daily/index.html | 2 +- wiki/templates/new_note/index.html | 2 +- wiki/tmuxinator/index.html | 2 +- wiki/vim-plugin/flutter-tools.nvim/index.html | 2 +- wiki/vim-plugin/index.html | 2 +- wiki/vim-plugin/mind.nvim/index.html | 2 +- wiki/vim-plugin/telekasten.nvim/index.html | 2 +- wiki/vim/builtins/index.html | 2 +- wiki/vim/index.html | 2 +- wiki/vim/versus-neovim/index.html | 2 +- wiki/wezterm/index.html | 2 +- wiki/workbench/cheatsheet/index.html | 2 +- wiki/workbench/dotfiles/index.html | 2 +- wiki/workbench/index.html | 2 +- 62 files changed, 432 insertions(+), 74 deletions(-) delete mode 100644 _bridgetown/static/src/_islands/neural_network.6UW66M6C.js delete mode 100644 _bridgetown/static/src/_islands/neural_network.6UW66M6C.js.map create mode 100644 _bridgetown/static/src/_islands/neural_network.JL7577VI.js create mode 100644 _bridgetown/static/src/_islands/neural_network.JL7577VI.js.map create mode 100644 _bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js create mode 100644 _bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js.map delete mode 100644 _bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js delete mode 100644 _bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js.map create mode 100644 wiki/duck-typing/index.html diff --git a/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js b/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js deleted file mode 100644 index d5de81fd..00000000 --- a/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var h={nodes:[{id:"workbench/dotfiles",group:1},{id:"object-oriented-design",group:1},{id:"Repository",group:1},{id:"Factory",group:1},{id:"DomainDrivenDesign",group:1},{id:"Aggregate",group:1},{id:"references/personal",group:1},{id:"quarterly/2024-Q1",group:1},{id:"references/flutter",group:1},{id:"references/devex",group:1},{id:"references",group:1},{id:"quarterly/2023-Q4",group:1},{id:"rfc/visualization",group:1},{id:"mermaid",group:1},{id:"metacognition",group:1},{id:"improving-productivity",group:1},{id:"improving-productivity/journey",group:1},{id:"productivity",group:1},{id:"vim/versus-neovim",group:1},{id:"vim/builtins",group:1},{id:"vim",group:1},{id:"quarterly/2023-Q3",group:1},{id:"workbench/cheatsheet",group:1},{id:"mastodon/recommendations",group:1},{id:"archive",group:1},{id:"quarterly/2023-Q1",group:1},{id:"quarterly/2023-Q2",group:1},{id:"appendix/excelcon-2nd",group:1},{id:"appendix",group:1},{id:"rfc",group:1},{id:"rfc/2616",group:1},{id:"projects/neural-bridge",group:1},{id:"mastodon",group:1},{id:"vim-plugin/flutter-tools.nvim",group:1},{id:"flutter",group:1},{id:"tmuxinator",group:1},{id:"digital-garden",group:1},{id:"vim-plugin/telekasten.nvim",group:1},{id:"prompt-engineering",group:1},{id:"vim-plugin/mind.nvim",group:1},{id:"cli/diff",group:1},{id:"cli",group:1},{id:"wezterm",group:1},{id:"tmux",group:1},{id:"dogfooding-driven-development",group:1},{id:"neovim",group:1},{id:"workbench",group:1},{id:"vim-plugin",group:1},{id:"vim-plugin/telescope.nvim",group:1},{id:"symbol",group:1},{id:"Neovim",group:1},{id:"daily/2023-01-19",group:1},{id:"#prelude",fx:0,fy:0,group:2},{id:"#misc",fx:200,fy:0,group:2},{id:"#fediverse",fx:-147.47377561566395,fy:135.09805885230477,group:2},{id:"#productivity",fx:17.485144943391976,fy:-199.23420817296557,group:2},{id:"#ai-assistant",fx:24.479202920748765,fy:-278.9278914421518,group:2},{id:"#cli",fx:66.16025382170098,fy:-135.7461480696299,group:2},{id:"#developer-experience",fx:-61.291933881842326,fy:-213.1687642033105,group:2},{id:"#vim",fx:-92.80276541193604,fy:-218.7425866154485,group:2},{id:"#metacognition",fx:84.98556852838375,fy:-242.1724523830714,group:2},{id:"#computer-science",fx:121.68777219577251,fy:158.72015025833917,group:2},{id:"#network",fx:170.3628810740815,fy:222.20821036167484,group:2},{id:"#algorithm",fx:42.91069337053821,fy:144.78559422799424,group:2},{id:"#development",fx:-196.94269706308575,fy:-34.836390075862326,group:2},{id:"#webdev",fx:-275.71977588832004,fy:-48.770946106207255,group:2},{id:"#software-engineering",fx:-129.44227347809397,fy:-77.77463428596815,group:2},{id:"#oop",fx:-217.71104145520482,fy:42.42081587419993,group:2},{id:"#reference",fx:-233.8152590401553,fy:-105.8322644154827,group:2},{id:"#archive",fx:168.75105896247945,fy:-107.34561052526455,group:2},{id:"#project",fx:236.25148254747123,fy:-150.28385473537037,group:2}],links:[{source:"#productivity",target:"workbench/dotfiles",value:100},{source:"#oop",target:"object-oriented-design",value:100},{source:"#software-engineering",target:"object-oriented-design",value:100},{source:"#software-engineering",target:"DomainDrivenDesign",value:100},{source:"DomainDrivenDesign",target:"Repository",value:1},{source:"DomainDrivenDesign",target:"Factory",value:1},{source:"DomainDrivenDesign",target:"Aggregate",value:1},{source:"#archive",target:"quarterly/2024-Q1",value:100},{source:"#reference",target:"references",value:100},{source:"references",target:"references/flutter",value:1},{source:"references",target:"references/devex",value:1},{source:"references",target:"references/personal",value:1},{source:"#archive",target:"quarterly/2023-Q4",value:100},{source:"#prelude",target:"mermaid",value:100},{source:"#metacognition",target:"metacognition",value:100},{source:"metacognition",target:"improving-productivity",value:1},{source:"#productivity",target:"improving-productivity/journey",value:100},{source:"#metacognition",target:"improving-productivity/journey",value:100},{source:"#productivity",target:"productivity",value:100},{source:"productivity",target:"improving-productivity",value:1},{source:"#vim",target:"vim/versus-neovim",value:100},{source:"#developer-experience",target:"vim/versus-neovim",value:100},{source:"#vim",target:"vim/builtins",value:100},{source:"#vim",target:"vim",value:100},{source:"vim",target:"vim/builtins",value:1},{source:"vim",target:"vim/versus-neovim",value:1},{source:"#archive",target:"quarterly/2023-Q3",value:100},{source:"#productivity",target:"workbench/cheatsheet",value:100},{source:"workbench/cheatsheet",target:"vim/builtins",value:1},{source:"#archive",target:"archive",value:100},{source:"archive",target:"quarterly/2024-Q1",value:1},{source:"archive",target:"quarterly/2023-Q1",value:1},{source:"archive",target:"quarterly/2023-Q2",value:1},{source:"archive",target:"quarterly/2023-Q3",value:1},{source:"archive",target:"quarterly/2023-Q4",value:1},{source:"#archive",target:"quarterly/2023-Q2",value:100},{source:"quarterly/2023-Q2",target:"appendix/excelcon-2nd",value:1},{source:"#archive",target:"appendix/excelcon-2nd",value:100},{source:"#productivity",target:"appendix/excelcon-2nd",value:100},{source:"#vim",target:"appendix/excelcon-2nd",value:100},{source:"#archive",target:"appendix",value:100},{source:"appendix",target:"appendix/excelcon-2nd",value:1},{source:"#network",target:"rfc",value:100},{source:"rfc",target:"rfc/visualization",value:1},{source:"rfc",target:"rfc/2616",value:1},{source:"#archive",target:"quarterly/2023-Q1",value:100},{source:"quarterly/2023-Q1",target:"projects/neural-bridge",value:1},{source:"#fediverse",target:"mastodon",value:100},{source:"mastodon",target:"mastodon/recommendations",value:1},{source:"#vim",target:"vim-plugin/flutter-tools.nvim",value:100},{source:"vim-plugin/flutter-tools.nvim",target:"flutter",value:1},{source:"vim-plugin/flutter-tools.nvim",target:"tmuxinator",value:1},{source:"digital-garden",target:"projects/neural-bridge",value:1},{source:"digital-garden",target:"vim-plugin/telekasten.nvim",value:1},{source:"#productivity",target:"improving-productivity",value:100},{source:"improving-productivity",target:"tmuxinator",value:1},{source:"improving-productivity",target:"vim-plugin/telekasten.nvim",value:1},{source:"improving-productivity",target:"vim-plugin/mind.nvim",value:1},{source:"improving-productivity",target:"improving-productivity/journey",value:1},{source:"improving-productivity",target:"prompt-engineering",value:1},{source:"#cli",target:"cli/diff",value:100},{source:"#cli",target:"cli",value:100},{source:"cli",target:"cli/diff",value:1},{source:"cli",target:"wezterm",value:1},{source:"cli",target:"tmux",value:1},{source:"cli",target:"tmuxinator",value:1},{source:"dogfooding-driven-development",target:"projects/neural-bridge",value:1},{source:"dogfooding-driven-development",target:"neovim",value:1},{source:"#productivity",target:"workbench",value:100},{source:"workbench",target:"wezterm",value:1},{source:"workbench",target:"neovim",value:1},{source:"workbench",target:"vim-plugin",value:1},{source:"workbench",target:"tmuxinator",value:1},{source:"workbench",target:"workbench/cheatsheet",value:1},{source:"workbench",target:"workbench/dotfiles",value:1},{source:"#cli",target:"wezterm",value:100},{source:"#productivity",target:"wezterm",value:100},{source:"#vim",target:"vim-plugin/telekasten.nvim",value:100},{source:"vim-plugin/telekasten.nvim",target:"vim-plugin/telescope.nvim",value:1},{source:"vim-plugin",target:"vim",value:1},{source:"vim-plugin",target:"neovim",value:1},{source:"vim-plugin",target:"vim-plugin/flutter-tools.nvim",value:1},{source:"vim-plugin",target:"vim-plugin/telekasten.nvim",value:1},{source:"#cli",target:"tmuxinator",value:100},{source:"#productivity",target:"tmuxinator",value:100},{source:"#misc",target:"symbol",value:100},{source:"#cli",target:"neovim",value:100},{source:"#project",target:"projects/neural-bridge",value:100},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"wezterm",value:1},{source:"projects/neural-bridge",target:"tmuxinator",value:1},{source:"projects/neural-bridge",target:"Neovim",value:1},{source:"daily/2023-01-19",target:"projects/neural-bridge",value:1},{source:"daily/2023-01-19",target:"projects/neural-bridge",value:1},{source:"#prelude",target:"#misc",value:200},{source:"#prelude",target:"#fediverse",value:200},{source:"#productivity",target:"#ai-assistant",value:200},{source:"#productivity",target:"#cli",value:200},{source:"#developer-experience",target:"#vim",value:200},{source:"#productivity",target:"#developer-experience",value:200},{source:"#productivity",target:"#metacognition",value:200},{source:"#prelude",target:"#productivity",value:200},{source:"#computer-science",target:"#network",value:200},{source:"#computer-science",target:"#algorithm",value:200},{source:"#prelude",target:"#computer-science",value:200},{source:"#development",target:"#webdev",value:200},{source:"#development",target:"#software-engineering",value:200},{source:"#development",target:"#oop",value:200},{source:"#development",target:"#reference",value:200},{source:"#prelude",target:"#development",value:200},{source:"#archive",target:"#project",value:200},{source:"#prelude",target:"#archive",value:200}]};var p=class p extends HTMLElement{connectedCallback(){this.init()}static get observedAttributes(){return["defer-hydration"]}attributeChangedCallback(d,m,v){d==="defer-hydration"&&v===null&&this.init()}init(){this.hasAttribute("defer-hydration")||window.addEventListener("load",function(d){let m=window.$graph(),v=document.querySelector("#neural-network"),f={},y=new Image;y.src="/images/vim-icon.png",f["vim-plugin"]=y,m(document.querySelector("#neural-network")).graphData(h).width(v.offsetWidth).height(v.offsetWidth).nodeCanvasObject(function(e,r){if(e.group==1){let t=e.id,i=8,u=t.split("/"),o=u[0],a=u[u.length-1];r.font=`${i}px Sans-Serif`;let n=r.measureText(a).width,l=[n,i].map(s=>s+i*.2);r.textAlign="center",r.textBaseline="middle",r.fillStyle="black",r.fillText(a,e.x,e.y+12),r.beginPath(),r.fillStyle="rgba(0, 0, 0, 0.05)",r.roundRect(e.x-n/2-6,e.y+i/2+2,n+12,i+4,5),r.fill();let c=["vim-plugin"].includes(o),g=12;if(c){let s=f[o];r.drawImage(s,e.x-g/2,e.y-g/2,g,g)}else{let s=g/2;r.fillStyle="rgba(0, 0, 0, 0.2)",r.beginPath(),r.arc(e.x,e.y,s,0,2*Math.PI,!1),r.fill()}e.__bckgDimensions=l}if(e.group==2){let t=e.id,i=12,u=t;r.font=`700 ${i}px Sans-Serif`;let o=r.measureText(u).width,a=[o*1.2,i].map(c=>c+i*.3);r.textAlign="center",r.textBaseline="middle",r.fillStyle="black",r.fillText(u,e.x,e.y);let n=o+20,l=i+10;r.beginPath(),r.fillStyle="rgb(128, 203, 196, 0.2)",r.roundRect(e.x-n/2,e.y-l/2,n,l,10),r.fill(),e.__bckgDimensions=a}}).nodePointerAreaPaint(function(e,r,t){if(e.group==1&&(t.fillStyle=r,t.beginPath(),t.arc(e.x,e.y,6,0,2*Math.PI,!1),t.fill()),e.group==2){let i=e.id,u=12,o=i,a=t.measureText(o).width,n=[a,u].map(g=>g+u*.2),l=a+20,c=u+10;t.beginPath(),t.fillStyle=r,t.roundRect(e.x-l/2,e.y-c/2,l,c,10),t.fill()}}).onNodeClick(function(e,r){if(e.group==1){let t=e.id;window.location.assign("/wiki/"+t)}}).linkWidth(function(e){return e.value==200?3:1})})}};customElements.define("neural-network",p);var b=p;})(); -//# sourceMappingURL=/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js.map diff --git a/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js.map b/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js.map deleted file mode 100644 index 75692c46..00000000 --- a/_bridgetown/static/src/_islands/neural_network.6UW66M6C.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../src/_data/wiki_datasets.json", "../../../../../src/_islands/neural_network.js"], - "sourcesContent": ["{\n \"nodes\": [\n {\n \"id\": \"workbench/dotfiles\",\n \"group\": 1\n },\n {\n \"id\": \"object-oriented-design\",\n \"group\": 1\n },\n {\n \"id\": \"Repository\",\n \"group\": 1\n },\n {\n \"id\": \"Factory\",\n \"group\": 1\n },\n {\n \"id\": \"DomainDrivenDesign\",\n \"group\": 1\n },\n {\n \"id\": \"Aggregate\",\n \"group\": 1\n },\n {\n \"id\": \"references/personal\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2024-Q1\",\n \"group\": 1\n },\n {\n \"id\": \"references/flutter\",\n \"group\": 1\n },\n {\n \"id\": \"references/devex\",\n \"group\": 1\n },\n {\n \"id\": \"references\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q4\",\n \"group\": 1\n },\n {\n \"id\": \"rfc/visualization\",\n \"group\": 1\n },\n {\n \"id\": \"mermaid\",\n \"group\": 1\n },\n {\n \"id\": \"metacognition\",\n \"group\": 1\n },\n {\n \"id\": \"improving-productivity\",\n \"group\": 1\n },\n {\n \"id\": \"improving-productivity/journey\",\n \"group\": 1\n },\n {\n \"id\": \"productivity\",\n \"group\": 1\n },\n {\n \"id\": \"vim/versus-neovim\",\n \"group\": 1\n },\n {\n \"id\": \"vim/builtins\",\n \"group\": 1\n },\n {\n \"id\": \"vim\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q3\",\n \"group\": 1\n },\n {\n \"id\": \"workbench/cheatsheet\",\n \"group\": 1\n },\n {\n \"id\": \"mastodon/recommendations\",\n \"group\": 1\n },\n {\n \"id\": \"archive\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q1\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q2\",\n \"group\": 1\n },\n {\n \"id\": \"appendix/excelcon-2nd\",\n \"group\": 1\n },\n {\n \"id\": \"appendix\",\n \"group\": 1\n },\n {\n \"id\": \"rfc\",\n \"group\": 1\n },\n {\n \"id\": \"rfc/2616\",\n \"group\": 1\n },\n {\n \"id\": \"projects/neural-bridge\",\n \"group\": 1\n },\n {\n \"id\": \"mastodon\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/flutter-tools.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"flutter\",\n \"group\": 1\n },\n {\n \"id\": \"tmuxinator\",\n \"group\": 1\n },\n {\n \"id\": \"digital-garden\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/telekasten.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"prompt-engineering\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/mind.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"cli/diff\",\n \"group\": 1\n },\n {\n \"id\": \"cli\",\n \"group\": 1\n },\n {\n \"id\": \"wezterm\",\n \"group\": 1\n },\n {\n \"id\": \"tmux\",\n \"group\": 1\n },\n {\n \"id\": \"dogfooding-driven-development\",\n \"group\": 1\n },\n {\n \"id\": \"neovim\",\n \"group\": 1\n },\n {\n \"id\": \"workbench\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/telescope.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"symbol\",\n \"group\": 1\n },\n {\n \"id\": \"Neovim\",\n \"group\": 1\n },\n {\n \"id\": \"daily/2023-01-19\",\n \"group\": 1\n },\n {\n \"id\": \"#prelude\",\n \"fx\": 0,\n \"fy\": 0,\n \"group\": 2\n },\n {\n \"id\": \"#misc\",\n \"fx\": 200.0,\n \"fy\": 0.0,\n \"group\": 2\n },\n {\n \"id\": \"#fediverse\",\n \"fx\": -147.47377561566395,\n \"fy\": 135.09805885230477,\n \"group\": 2\n },\n {\n \"id\": \"#productivity\",\n \"fx\": 17.485144943391976,\n \"fy\": -199.23420817296557,\n \"group\": 2\n },\n {\n \"id\": \"#ai-assistant\",\n \"fx\": 24.479202920748765,\n \"fy\": -278.9278914421518,\n \"group\": 2\n },\n {\n \"id\": \"#cli\",\n \"fx\": 66.16025382170098,\n \"fy\": -135.7461480696299,\n \"group\": 2\n },\n {\n \"id\": \"#developer-experience\",\n \"fx\": -61.291933881842326,\n \"fy\": -213.1687642033105,\n \"group\": 2\n },\n {\n \"id\": \"#vim\",\n \"fx\": -92.80276541193604,\n \"fy\": -218.7425866154485,\n \"group\": 2\n },\n {\n \"id\": \"#metacognition\",\n \"fx\": 84.98556852838375,\n \"fy\": -242.1724523830714,\n \"group\": 2\n },\n {\n \"id\": \"#computer-science\",\n \"fx\": 121.68777219577251,\n \"fy\": 158.72015025833917,\n \"group\": 2\n },\n {\n \"id\": \"#network\",\n \"fx\": 170.3628810740815,\n \"fy\": 222.20821036167484,\n \"group\": 2\n },\n {\n \"id\": \"#algorithm\",\n \"fx\": 42.91069337053821,\n \"fy\": 144.78559422799424,\n \"group\": 2\n },\n {\n \"id\": \"#development\",\n \"fx\": -196.94269706308575,\n \"fy\": -34.836390075862326,\n \"group\": 2\n },\n {\n \"id\": \"#webdev\",\n \"fx\": -275.71977588832004,\n \"fy\": -48.770946106207255,\n \"group\": 2\n },\n {\n \"id\": \"#software-engineering\",\n \"fx\": -129.44227347809397,\n \"fy\": -77.77463428596815,\n \"group\": 2\n },\n {\n \"id\": \"#oop\",\n \"fx\": -217.71104145520482,\n \"fy\": 42.42081587419993,\n \"group\": 2\n },\n {\n \"id\": \"#reference\",\n \"fx\": -233.8152590401553,\n \"fy\": -105.8322644154827,\n \"group\": 2\n },\n {\n \"id\": \"#archive\",\n \"fx\": 168.75105896247945,\n \"fy\": -107.34561052526455,\n \"group\": 2\n },\n {\n \"id\": \"#project\",\n \"fx\": 236.25148254747123,\n \"fy\": -150.28385473537037,\n \"group\": 2\n }\n ],\n \"links\": [\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench/dotfiles\",\n \"value\": 100\n },\n {\n \"source\": \"#oop\",\n \"target\": \"object-oriented-design\",\n \"value\": 100\n },\n {\n \"source\": \"#software-engineering\",\n \"target\": \"object-oriented-design\",\n \"value\": 100\n },\n {\n \"source\": \"#software-engineering\",\n \"target\": \"DomainDrivenDesign\",\n \"value\": 100\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Repository\",\n \"value\": 1\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Factory\",\n \"value\": 1\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Aggregate\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2024-Q1\",\n \"value\": 100\n },\n {\n \"source\": \"#reference\",\n \"target\": \"references\",\n \"value\": 100\n },\n {\n \"source\": \"references\",\n \"target\": \"references/flutter\",\n \"value\": 1\n },\n {\n \"source\": \"references\",\n \"target\": \"references/devex\",\n \"value\": 1\n },\n {\n \"source\": \"references\",\n \"target\": \"references/personal\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q4\",\n \"value\": 100\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"mermaid\",\n \"value\": 100\n },\n {\n \"source\": \"#metacognition\",\n \"target\": \"metacognition\",\n \"value\": 100\n },\n {\n \"source\": \"metacognition\",\n \"target\": \"improving-productivity\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 100\n },\n {\n \"source\": \"#metacognition\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"productivity\",\n \"value\": 100\n },\n {\n \"source\": \"productivity\",\n \"target\": \"improving-productivity\",\n \"value\": 1\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#developer-experience\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim/builtins\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim\",\n \"value\": 100\n },\n {\n \"source\": \"vim\",\n \"target\": \"vim/builtins\",\n \"value\": 1\n },\n {\n \"source\": \"vim\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q3\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench/cheatsheet\",\n \"value\": 100\n },\n {\n \"source\": \"workbench/cheatsheet\",\n \"target\": \"vim/builtins\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"archive\",\n \"value\": 100\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2024-Q1\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q1\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q2\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q3\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q4\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q2\",\n \"value\": 100\n },\n {\n \"source\": \"quarterly/2023-Q2\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#archive\",\n \"target\": \"appendix\",\n \"value\": 100\n },\n {\n \"source\": \"appendix\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 1\n },\n {\n \"source\": \"#network\",\n \"target\": \"rfc\",\n \"value\": 100\n },\n {\n \"source\": \"rfc\",\n \"target\": \"rfc/visualization\",\n \"value\": 1\n },\n {\n \"source\": \"rfc\",\n \"target\": \"rfc/2616\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q1\",\n \"value\": 100\n },\n {\n \"source\": \"quarterly/2023-Q1\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"#fediverse\",\n \"target\": \"mastodon\",\n \"value\": 100\n },\n {\n \"source\": \"mastodon\",\n \"target\": \"mastodon/recommendations\",\n \"value\": 1\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim-plugin/flutter-tools.nvim\",\n \"value\": 100\n },\n {\n \"source\": \"vim-plugin/flutter-tools.nvim\",\n \"target\": \"flutter\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin/flutter-tools.nvim\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"digital-garden\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"digital-garden\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"improving-productivity\",\n \"value\": 100\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"vim-plugin/mind.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"prompt-engineering\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"cli/diff\",\n \"value\": 100\n },\n {\n \"source\": \"#cli\",\n \"target\": \"cli\",\n \"value\": 100\n },\n {\n \"source\": \"cli\",\n \"target\": \"cli/diff\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"tmux\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"dogfooding-driven-development\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"dogfooding-driven-development\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench\",\n \"value\": 100\n },\n {\n \"source\": \"workbench\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"vim-plugin\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"workbench/cheatsheet\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"workbench/dotfiles\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"wezterm\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"wezterm\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 100\n },\n {\n \"source\": \"vim-plugin/telekasten.nvim\",\n \"target\": \"vim-plugin/telescope.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim-plugin/flutter-tools.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"tmuxinator\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"tmuxinator\",\n \"value\": 100\n },\n {\n \"source\": \"#misc\",\n \"target\": \"symbol\",\n \"value\": 100\n },\n {\n \"source\": \"#cli\",\n \"target\": \"neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#project\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 100\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"Neovim\",\n \"value\": 1\n },\n {\n \"source\": \"daily/2023-01-19\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"daily/2023-01-19\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#misc\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#fediverse\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#ai-assistant\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#cli\",\n \"value\": 200\n },\n {\n \"source\": \"#developer-experience\",\n \"target\": \"#vim\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#developer-experience\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#metacognition\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#productivity\",\n \"value\": 200\n },\n {\n \"source\": \"#computer-science\",\n \"target\": \"#network\",\n \"value\": 200\n },\n {\n \"source\": \"#computer-science\",\n \"target\": \"#algorithm\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#computer-science\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#webdev\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#software-engineering\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#oop\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#reference\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#development\",\n \"value\": 200\n },\n {\n \"source\": \"#archive\",\n \"target\": \"#project\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#archive\",\n \"value\": 200\n }\n ]\n}", "import dataset from \"../_data/wiki_datasets.json\"\n\nclass NeuralNetwork extends HTMLElement {\n static {\n customElements.define(\"neural-network\", this)\n }\n\n connectedCallback() {\n this.init();\n }\n\n static get observedAttributes() {\n return [\"defer-hydration\"];\n }\n\n attributeChangedCallback(name, previousValue, newValue) {\n if(name ===\"defer-hydration\" && newValue === null) {\n this.init();\n }\n }\n\n init() {\n if(this.hasAttribute(\"defer-hydration\")) {\n return;\n }\n\n window.addEventListener('load', function(e) {\n const KnowledgeGraph = window.$graph()\n\n const targetElement = document.querySelector('#neural-network')\n\n const icons = {}\n\n const vimIcon = new Image()\n vimIcon.src = \"/images/vim-icon.png\"\n\n icons['vim-plugin'] = vimIcon\n\n KnowledgeGraph(document.querySelector(\"#neural-network\"))\n .graphData(dataset)\n .width(targetElement.offsetWidth)\n .height(targetElement.offsetWidth)\n .nodeCanvasObject(function(node, ctx) {\n if (node.group == 1) {\n const path = node.id;\n const fontSize = 8;\n\n const hierarchyNodes = path.split(\"/\");\n const category = hierarchyNodes[0];\n const label = hierarchyNodes[hierarchyNodes.length - 1];\n\n // Rendering Text\n ctx.font = `${fontSize}px Sans-Serif`;\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth, fontSize].map(n => n + fontSize * 0.2); // some padding\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n ctx.fillText(label, node.x, node.y + 12);\n\n ctx.beginPath()\n ctx.fillStyle = \"rgba(0, 0, 0, 0.05)\"\n ctx.roundRect(\n node.x - textWidth / 2 - 6,\n node.y + fontSize / 2 + 2,\n textWidth + 12,\n fontSize + 4,\n 5\n );\n ctx.fill()\n\n const hasIcon = ['vim-plugin'].includes(category);\n const size = 12;\n\n // Rendering Circle\n if (hasIcon) {\n const img = icons[category];\n ctx.drawImage(img, node.x - size / 2, node.y - size / 2, size, size);\n } else {\n const radius = size / 2;\n ctx.fillStyle = \"rgba(0, 0, 0, 0.2)\"\n ctx.beginPath();\n ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false)\n ctx.fill()\n }\n\n node.__bckgDimensions = bckgDimensions;\n }\n\n if (node.group == 2) {\n const tagName = node.id;\n const fontSize = 12;\n\n const label = tagName;\n\n // Rendering Text\n ctx.font = `700 ${fontSize}px Sans-Serif`;\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth * 1.2, fontSize].map(n => n + fontSize * 0.3); // some padding\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n ctx.fillText(label, node.x, node.y);\n\n const groupNodeWidth = textWidth + 20\n const groupNodeHeight = fontSize + 10\n ctx.beginPath()\n ctx.fillStyle = \"rgb(128, 203, 196, 0.2)\"\n ctx.roundRect(\n node.x - groupNodeWidth / 2,\n node.y - groupNodeHeight / 2,\n groupNodeWidth,\n groupNodeHeight,\n 10\n );\n ctx.fill()\n\n node.__bckgDimensions = bckgDimensions;\n }\n })\n .nodePointerAreaPaint(function(node, color, ctx) {\n if (node.group == 1) {\n const size = 12;\n const radius = size / 2;\n ctx.fillStyle = color\n ctx.beginPath();\n ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false)\n ctx.fill()\n }\n\n if (node.group == 2) {\n const tagName = node.id;\n const fontSize = 12;\n\n const label = tagName;\n\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth, fontSize].map(n => n + fontSize * 0.2); // some padding\n const groupNodeWidth = textWidth + 20\n const groupNodeHeight = fontSize + 10\n\n ctx.beginPath()\n ctx.fillStyle = color\n ctx.roundRect(\n node.x - groupNodeWidth / 2,\n node.y - groupNodeHeight / 2,\n groupNodeWidth,\n groupNodeHeight,\n 10\n );\n ctx.fill()\n }\n })\n .onNodeClick(function(node, event) {\n if (node.group == 1) {\n const path = node.id\n window.location.assign(\"/wiki/\" + path)\n }\n })\n .linkWidth(function(link) {\n if (link.value == 200) {\n return 3;\n }\n\n return 1;\n })\n\t\t})\n }\n}\n"], - "mappings": "MAAA,IAAAA,EAAA,CACE,MAAS,CACP,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,YACN,MAAS,CACX,EACA,CACE,GAAM,sBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,iCACN,MAAS,CACX,EACA,CACE,GAAM,eACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,eACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,uBACN,MAAS,CACX,EACA,CACE,GAAM,2BACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,gCACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,iBACN,MAAS,CACX,EACA,CACE,GAAM,6BACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,uBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,OACN,MAAS,CACX,EACA,CACE,GAAM,gCACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,YACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,4BACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,EACN,GAAM,EACN,MAAS,CACX,EACA,CACE,GAAM,QACN,GAAM,IACN,GAAM,EACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,iBACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,eACN,GAAM,oBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,UACN,GAAM,oBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,oBACN,GAAM,kBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,CACF,EACA,MAAS,CACP,CACE,OAAU,gBACV,OAAU,qBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,qBACV,MAAS,GACX,EACA,CACE,OAAU,qBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,qBACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,qBACV,OAAU,YACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,aACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,aACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,mBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,sBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,iBACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,iCACV,MAAS,GACX,EACA,CACE,OAAU,iBACV,OAAU,iCACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,eACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,eACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,eACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,uBACV,MAAS,GACX,EACA,CACE,OAAU,uBACV,OAAU,eACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,wBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,wBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,WACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,2BACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,gCACV,MAAS,GACX,EACA,CACE,OAAU,gCACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,iBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,iBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,yBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,uBACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,iCACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,WACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,OACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,YACV,MAAS,GACX,EACA,CACE,OAAU,YACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,uBACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,6BACV,MAAS,GACX,EACA,CACE,OAAU,6BACV,OAAU,4BACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,MACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,gCACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,QACV,OAAU,SACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,SACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,mBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,mBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,QACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,OACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,OACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,iBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,OACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,eACV,MA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", - "names": ["wiki_datasets_default", "_NeuralNetwork", "name", "previousValue", "newValue", "e", "KnowledgeGraph", "targetElement", "icons", "vimIcon", "wiki_datasets_default", "node", "ctx", "path", "fontSize", "hierarchyNodes", "category", "label", "textWidth", "bckgDimensions", "n", "hasIcon", "size", "img", "radius", "tagName", "groupNodeWidth", "groupNodeHeight", "color", "event", "link", "NeuralNetwork"] -} diff --git a/_bridgetown/static/src/_islands/neural_network.JL7577VI.js b/_bridgetown/static/src/_islands/neural_network.JL7577VI.js new file mode 100644 index 00000000..d96cf8c0 --- /dev/null +++ b/_bridgetown/static/src/_islands/neural_network.JL7577VI.js @@ -0,0 +1,2 @@ +(()=>{var h={nodes:[{id:"workbench/dotfiles",group:1},{id:"duck-typing",group:1},{id:"object-oriented-design",group:1},{id:"Repository",group:1},{id:"Factory",group:1},{id:"DomainDrivenDesign",group:1},{id:"Aggregate",group:1},{id:"references/personal",group:1},{id:"quarterly/2024-Q1",group:1},{id:"references/flutter",group:1},{id:"references/devex",group:1},{id:"references",group:1},{id:"quarterly/2023-Q4",group:1},{id:"rfc/visualization",group:1},{id:"mermaid",group:1},{id:"metacognition",group:1},{id:"improving-productivity",group:1},{id:"improving-productivity/journey",group:1},{id:"productivity",group:1},{id:"vim/versus-neovim",group:1},{id:"vim/builtins",group:1},{id:"vim",group:1},{id:"quarterly/2023-Q3",group:1},{id:"workbench/cheatsheet",group:1},{id:"mastodon/recommendations",group:1},{id:"archive",group:1},{id:"quarterly/2023-Q1",group:1},{id:"quarterly/2023-Q2",group:1},{id:"appendix/excelcon-2nd",group:1},{id:"appendix",group:1},{id:"rfc",group:1},{id:"rfc/2616",group:1},{id:"projects/neural-bridge",group:1},{id:"mastodon",group:1},{id:"vim-plugin/flutter-tools.nvim",group:1},{id:"flutter",group:1},{id:"tmuxinator",group:1},{id:"digital-garden",group:1},{id:"vim-plugin/telekasten.nvim",group:1},{id:"prompt-engineering",group:1},{id:"vim-plugin/mind.nvim",group:1},{id:"cli/diff",group:1},{id:"cli",group:1},{id:"wezterm",group:1},{id:"tmux",group:1},{id:"dogfooding-driven-development",group:1},{id:"neovim",group:1},{id:"workbench",group:1},{id:"vim-plugin",group:1},{id:"vim-plugin/telescope.nvim",group:1},{id:"symbol",group:1},{id:"Neovim",group:1},{id:"daily/2023-01-19",group:1},{id:"#prelude",fx:0,fy:0,group:2},{id:"#misc",fx:200,fy:0,group:2},{id:"#fediverse",fx:-147.47377561566395,fy:135.09805885230477,group:2},{id:"#productivity",fx:17.485144943391976,fy:-199.23420817296557,group:2},{id:"#ai-assistant",fx:24.479202920748765,fy:-278.9278914421518,group:2},{id:"#cli",fx:66.16025382170098,fy:-135.7461480696299,group:2},{id:"#developer-experience",fx:-61.291933881842326,fy:-213.1687642033105,group:2},{id:"#vim",fx:-92.80276541193604,fy:-218.7425866154485,group:2},{id:"#metacognition",fx:84.98556852838375,fy:-242.1724523830714,group:2},{id:"#computer-science",fx:121.68777219577251,fy:158.72015025833917,group:2},{id:"#network",fx:170.3628810740815,fy:222.20821036167484,group:2},{id:"#algorithm",fx:42.91069337053821,fy:144.78559422799424,group:2},{id:"#development",fx:-196.94269706308575,fy:-34.836390075862326,group:2},{id:"#webdev",fx:-275.71977588832004,fy:-48.770946106207255,group:2},{id:"#software-engineering",fx:-129.44227347809397,fy:-77.77463428596815,group:2},{id:"#oop",fx:-217.71104145520482,fy:42.42081587419993,group:2},{id:"#reference",fx:-233.8152590401553,fy:-105.8322644154827,group:2},{id:"#archive",fx:168.75105896247945,fy:-107.34561052526455,group:2},{id:"#project",fx:236.25148254747123,fy:-150.28385473537037,group:2}],links:[{source:"#productivity",target:"workbench/dotfiles",value:100},{source:"#oop",target:"duck-typing",value:100},{source:"#software-engineering",target:"duck-typing",value:100},{source:"#oop",target:"object-oriented-design",value:100},{source:"#software-engineering",target:"object-oriented-design",value:100},{source:"object-oriented-design",target:"duck-typing",value:1},{source:"#software-engineering",target:"DomainDrivenDesign",value:100},{source:"DomainDrivenDesign",target:"Repository",value:1},{source:"DomainDrivenDesign",target:"Factory",value:1},{source:"DomainDrivenDesign",target:"Aggregate",value:1},{source:"#archive",target:"quarterly/2024-Q1",value:100},{source:"#reference",target:"references",value:100},{source:"references",target:"references/flutter",value:1},{source:"references",target:"references/devex",value:1},{source:"references",target:"references/personal",value:1},{source:"#archive",target:"quarterly/2023-Q4",value:100},{source:"#prelude",target:"mermaid",value:100},{source:"#metacognition",target:"metacognition",value:100},{source:"metacognition",target:"improving-productivity",value:1},{source:"#productivity",target:"improving-productivity/journey",value:100},{source:"#metacognition",target:"improving-productivity/journey",value:100},{source:"#productivity",target:"productivity",value:100},{source:"productivity",target:"improving-productivity",value:1},{source:"#vim",target:"vim/versus-neovim",value:100},{source:"#developer-experience",target:"vim/versus-neovim",value:100},{source:"#vim",target:"vim/builtins",value:100},{source:"#vim",target:"vim",value:100},{source:"vim",target:"vim/builtins",value:1},{source:"vim",target:"vim/versus-neovim",value:1},{source:"#archive",target:"quarterly/2023-Q3",value:100},{source:"#productivity",target:"workbench/cheatsheet",value:100},{source:"workbench/cheatsheet",target:"vim/builtins",value:1},{source:"#archive",target:"archive",value:100},{source:"archive",target:"quarterly/2024-Q1",value:1},{source:"archive",target:"quarterly/2023-Q1",value:1},{source:"archive",target:"quarterly/2023-Q2",value:1},{source:"archive",target:"quarterly/2023-Q3",value:1},{source:"archive",target:"quarterly/2023-Q4",value:1},{source:"#archive",target:"quarterly/2023-Q2",value:100},{source:"quarterly/2023-Q2",target:"appendix/excelcon-2nd",value:1},{source:"#archive",target:"appendix/excelcon-2nd",value:100},{source:"#productivity",target:"appendix/excelcon-2nd",value:100},{source:"#vim",target:"appendix/excelcon-2nd",value:100},{source:"#archive",target:"appendix",value:100},{source:"appendix",target:"appendix/excelcon-2nd",value:1},{source:"#network",target:"rfc",value:100},{source:"rfc",target:"rfc/visualization",value:1},{source:"rfc",target:"rfc/2616",value:1},{source:"#archive",target:"quarterly/2023-Q1",value:100},{source:"quarterly/2023-Q1",target:"projects/neural-bridge",value:1},{source:"#fediverse",target:"mastodon",value:100},{source:"mastodon",target:"mastodon/recommendations",value:1},{source:"#vim",target:"vim-plugin/flutter-tools.nvim",value:100},{source:"vim-plugin/flutter-tools.nvim",target:"flutter",value:1},{source:"vim-plugin/flutter-tools.nvim",target:"tmuxinator",value:1},{source:"digital-garden",target:"projects/neural-bridge",value:1},{source:"digital-garden",target:"vim-plugin/telekasten.nvim",value:1},{source:"#productivity",target:"improving-productivity",value:100},{source:"improving-productivity",target:"tmuxinator",value:1},{source:"improving-productivity",target:"vim-plugin/telekasten.nvim",value:1},{source:"improving-productivity",target:"vim-plugin/mind.nvim",value:1},{source:"improving-productivity",target:"improving-productivity/journey",value:1},{source:"improving-productivity",target:"prompt-engineering",value:1},{source:"#cli",target:"cli/diff",value:100},{source:"#cli",target:"cli",value:100},{source:"cli",target:"cli/diff",value:1},{source:"cli",target:"wezterm",value:1},{source:"cli",target:"tmux",value:1},{source:"cli",target:"tmuxinator",value:1},{source:"dogfooding-driven-development",target:"projects/neural-bridge",value:1},{source:"dogfooding-driven-development",target:"neovim",value:1},{source:"#productivity",target:"workbench",value:100},{source:"workbench",target:"wezterm",value:1},{source:"workbench",target:"neovim",value:1},{source:"workbench",target:"vim-plugin",value:1},{source:"workbench",target:"tmuxinator",value:1},{source:"workbench",target:"workbench/cheatsheet",value:1},{source:"workbench",target:"workbench/dotfiles",value:1},{source:"#cli",target:"wezterm",value:100},{source:"#productivity",target:"wezterm",value:100},{source:"#vim",target:"vim-plugin/telekasten.nvim",value:100},{source:"vim-plugin/telekasten.nvim",target:"vim-plugin/telescope.nvim",value:1},{source:"vim-plugin",target:"vim",value:1},{source:"vim-plugin",target:"neovim",value:1},{source:"vim-plugin",target:"vim-plugin/flutter-tools.nvim",value:1},{source:"vim-plugin",target:"vim-plugin/telekasten.nvim",value:1},{source:"#cli",target:"tmuxinator",value:100},{source:"#productivity",target:"tmuxinator",value:100},{source:"#misc",target:"symbol",value:100},{source:"#cli",target:"neovim",value:100},{source:"#project",target:"projects/neural-bridge",value:100},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"vim-plugin/telekasten.nvim",value:1},{source:"projects/neural-bridge",target:"wezterm",value:1},{source:"projects/neural-bridge",target:"tmuxinator",value:1},{source:"projects/neural-bridge",target:"Neovim",value:1},{source:"daily/2023-01-19",target:"projects/neural-bridge",value:1},{source:"daily/2023-01-19",target:"projects/neural-bridge",value:1},{source:"#prelude",target:"#misc",value:200},{source:"#prelude",target:"#fediverse",value:200},{source:"#productivity",target:"#ai-assistant",value:200},{source:"#productivity",target:"#cli",value:200},{source:"#developer-experience",target:"#vim",value:200},{source:"#productivity",target:"#developer-experience",value:200},{source:"#productivity",target:"#metacognition",value:200},{source:"#prelude",target:"#productivity",value:200},{source:"#computer-science",target:"#network",value:200},{source:"#computer-science",target:"#algorithm",value:200},{source:"#prelude",target:"#computer-science",value:200},{source:"#development",target:"#webdev",value:200},{source:"#development",target:"#software-engineering",value:200},{source:"#development",target:"#oop",value:200},{source:"#development",target:"#reference",value:200},{source:"#prelude",target:"#development",value:200},{source:"#archive",target:"#project",value:200},{source:"#prelude",target:"#archive",value:200}]};var p=class p extends HTMLElement{connectedCallback(){this.init()}static get observedAttributes(){return["defer-hydration"]}attributeChangedCallback(d,m,v){d==="defer-hydration"&&v===null&&this.init()}init(){this.hasAttribute("defer-hydration")||window.addEventListener("load",function(d){let m=window.$graph(),v=document.querySelector("#neural-network"),f={},y=new Image;y.src="/images/vim-icon.png",f["vim-plugin"]=y,m(document.querySelector("#neural-network")).graphData(h).width(v.offsetWidth).height(v.offsetWidth).nodeCanvasObject(function(e,r){if(e.group==1){let t=e.id,i=8,u=t.split("/"),o=u[0],a=u[u.length-1];r.font=`${i}px Sans-Serif`;let n=r.measureText(a).width,g=[n,i].map(s=>s+i*.2);r.textAlign="center",r.textBaseline="middle",r.fillStyle="black",r.fillText(a,e.x,e.y+12),r.beginPath(),r.fillStyle="rgba(0, 0, 0, 0.05)",r.roundRect(e.x-n/2-6,e.y+i/2+2,n+12,i+4,5),r.fill();let c=["vim-plugin"].includes(o),l=12;if(c){let s=f[o];r.drawImage(s,e.x-l/2,e.y-l/2,l,l)}else{let s=l/2;r.fillStyle="rgba(0, 0, 0, 0.2)",r.beginPath(),r.arc(e.x,e.y,s,0,2*Math.PI,!1),r.fill()}e.__bckgDimensions=g}if(e.group==2){let t=e.id,i=12,u=t;r.font=`700 ${i}px Sans-Serif`;let o=r.measureText(u).width,a=[o*1.2,i].map(c=>c+i*.3);r.textAlign="center",r.textBaseline="middle",r.fillStyle="black",r.fillText(u,e.x,e.y);let n=o+20,g=i+10;r.beginPath(),r.fillStyle="rgb(128, 203, 196, 0.2)",r.roundRect(e.x-n/2,e.y-g/2,n,g,10),r.fill(),e.__bckgDimensions=a}}).nodePointerAreaPaint(function(e,r,t){if(e.group==1&&(t.fillStyle=r,t.beginPath(),t.arc(e.x,e.y,6,0,2*Math.PI,!1),t.fill()),e.group==2){let i=e.id,u=12,o=i,a=t.measureText(o).width,n=[a,u].map(l=>l+u*.2),g=a+20,c=u+10;t.beginPath(),t.fillStyle=r,t.roundRect(e.x-g/2,e.y-c/2,g,c,10),t.fill()}}).onNodeClick(function(e,r){if(e.group==1){let t=e.id;window.location.assign("/wiki/"+t)}}).linkWidth(function(e){return e.value==200?3:1})})}};customElements.define("neural-network",p);var b=p;})(); +//# sourceMappingURL=/_bridgetown/static/src/_islands/neural_network.JL7577VI.js.map diff --git a/_bridgetown/static/src/_islands/neural_network.JL7577VI.js.map b/_bridgetown/static/src/_islands/neural_network.JL7577VI.js.map new file mode 100644 index 00000000..cea0f92d --- /dev/null +++ b/_bridgetown/static/src/_islands/neural_network.JL7577VI.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../../src/_data/wiki_datasets.json", "../../../../../src/_islands/neural_network.js"], + "sourcesContent": ["{\n \"nodes\": [\n {\n \"id\": \"workbench/dotfiles\",\n \"group\": 1\n },\n {\n \"id\": \"duck-typing\",\n \"group\": 1\n },\n {\n \"id\": \"object-oriented-design\",\n \"group\": 1\n },\n {\n \"id\": \"Repository\",\n \"group\": 1\n },\n {\n \"id\": \"Factory\",\n \"group\": 1\n },\n {\n \"id\": \"DomainDrivenDesign\",\n \"group\": 1\n },\n {\n \"id\": \"Aggregate\",\n \"group\": 1\n },\n {\n \"id\": \"references/personal\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2024-Q1\",\n \"group\": 1\n },\n {\n \"id\": \"references/flutter\",\n \"group\": 1\n },\n {\n \"id\": \"references/devex\",\n \"group\": 1\n },\n {\n \"id\": \"references\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q4\",\n \"group\": 1\n },\n {\n \"id\": \"rfc/visualization\",\n \"group\": 1\n },\n {\n \"id\": \"mermaid\",\n \"group\": 1\n },\n {\n \"id\": \"metacognition\",\n \"group\": 1\n },\n {\n \"id\": \"improving-productivity\",\n \"group\": 1\n },\n {\n \"id\": \"improving-productivity/journey\",\n \"group\": 1\n },\n {\n \"id\": \"productivity\",\n \"group\": 1\n },\n {\n \"id\": \"vim/versus-neovim\",\n \"group\": 1\n },\n {\n \"id\": \"vim/builtins\",\n \"group\": 1\n },\n {\n \"id\": \"vim\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q3\",\n \"group\": 1\n },\n {\n \"id\": \"workbench/cheatsheet\",\n \"group\": 1\n },\n {\n \"id\": \"mastodon/recommendations\",\n \"group\": 1\n },\n {\n \"id\": \"archive\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q1\",\n \"group\": 1\n },\n {\n \"id\": \"quarterly/2023-Q2\",\n \"group\": 1\n },\n {\n \"id\": \"appendix/excelcon-2nd\",\n \"group\": 1\n },\n {\n \"id\": \"appendix\",\n \"group\": 1\n },\n {\n \"id\": \"rfc\",\n \"group\": 1\n },\n {\n \"id\": \"rfc/2616\",\n \"group\": 1\n },\n {\n \"id\": \"projects/neural-bridge\",\n \"group\": 1\n },\n {\n \"id\": \"mastodon\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/flutter-tools.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"flutter\",\n \"group\": 1\n },\n {\n \"id\": \"tmuxinator\",\n \"group\": 1\n },\n {\n \"id\": \"digital-garden\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/telekasten.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"prompt-engineering\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/mind.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"cli/diff\",\n \"group\": 1\n },\n {\n \"id\": \"cli\",\n \"group\": 1\n },\n {\n \"id\": \"wezterm\",\n \"group\": 1\n },\n {\n \"id\": \"tmux\",\n \"group\": 1\n },\n {\n \"id\": \"dogfooding-driven-development\",\n \"group\": 1\n },\n {\n \"id\": \"neovim\",\n \"group\": 1\n },\n {\n \"id\": \"workbench\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin\",\n \"group\": 1\n },\n {\n \"id\": \"vim-plugin/telescope.nvim\",\n \"group\": 1\n },\n {\n \"id\": \"symbol\",\n \"group\": 1\n },\n {\n \"id\": \"Neovim\",\n \"group\": 1\n },\n {\n \"id\": \"daily/2023-01-19\",\n \"group\": 1\n },\n {\n \"id\": \"#prelude\",\n \"fx\": 0,\n \"fy\": 0,\n \"group\": 2\n },\n {\n \"id\": \"#misc\",\n \"fx\": 200.0,\n \"fy\": 0.0,\n \"group\": 2\n },\n {\n \"id\": \"#fediverse\",\n \"fx\": -147.47377561566395,\n \"fy\": 135.09805885230477,\n \"group\": 2\n },\n {\n \"id\": \"#productivity\",\n \"fx\": 17.485144943391976,\n \"fy\": -199.23420817296557,\n \"group\": 2\n },\n {\n \"id\": \"#ai-assistant\",\n \"fx\": 24.479202920748765,\n \"fy\": -278.9278914421518,\n \"group\": 2\n },\n {\n \"id\": \"#cli\",\n \"fx\": 66.16025382170098,\n \"fy\": -135.7461480696299,\n \"group\": 2\n },\n {\n \"id\": \"#developer-experience\",\n \"fx\": -61.291933881842326,\n \"fy\": -213.1687642033105,\n \"group\": 2\n },\n {\n \"id\": \"#vim\",\n \"fx\": -92.80276541193604,\n \"fy\": -218.7425866154485,\n \"group\": 2\n },\n {\n \"id\": \"#metacognition\",\n \"fx\": 84.98556852838375,\n \"fy\": -242.1724523830714,\n \"group\": 2\n },\n {\n \"id\": \"#computer-science\",\n \"fx\": 121.68777219577251,\n \"fy\": 158.72015025833917,\n \"group\": 2\n },\n {\n \"id\": \"#network\",\n \"fx\": 170.3628810740815,\n \"fy\": 222.20821036167484,\n \"group\": 2\n },\n {\n \"id\": \"#algorithm\",\n \"fx\": 42.91069337053821,\n \"fy\": 144.78559422799424,\n \"group\": 2\n },\n {\n \"id\": \"#development\",\n \"fx\": -196.94269706308575,\n \"fy\": -34.836390075862326,\n \"group\": 2\n },\n {\n \"id\": \"#webdev\",\n \"fx\": -275.71977588832004,\n \"fy\": -48.770946106207255,\n \"group\": 2\n },\n {\n \"id\": \"#software-engineering\",\n \"fx\": -129.44227347809397,\n \"fy\": -77.77463428596815,\n \"group\": 2\n },\n {\n \"id\": \"#oop\",\n \"fx\": -217.71104145520482,\n \"fy\": 42.42081587419993,\n \"group\": 2\n },\n {\n \"id\": \"#reference\",\n \"fx\": -233.8152590401553,\n \"fy\": -105.8322644154827,\n \"group\": 2\n },\n {\n \"id\": \"#archive\",\n \"fx\": 168.75105896247945,\n \"fy\": -107.34561052526455,\n \"group\": 2\n },\n {\n \"id\": \"#project\",\n \"fx\": 236.25148254747123,\n \"fy\": -150.28385473537037,\n \"group\": 2\n }\n ],\n \"links\": [\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench/dotfiles\",\n \"value\": 100\n },\n {\n \"source\": \"#oop\",\n \"target\": \"duck-typing\",\n \"value\": 100\n },\n {\n \"source\": \"#software-engineering\",\n \"target\": \"duck-typing\",\n \"value\": 100\n },\n {\n \"source\": \"#oop\",\n \"target\": \"object-oriented-design\",\n \"value\": 100\n },\n {\n \"source\": \"#software-engineering\",\n \"target\": \"object-oriented-design\",\n \"value\": 100\n },\n {\n \"source\": \"object-oriented-design\",\n \"target\": \"duck-typing\",\n \"value\": 1\n },\n {\n \"source\": \"#software-engineering\",\n \"target\": \"DomainDrivenDesign\",\n \"value\": 100\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Repository\",\n \"value\": 1\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Factory\",\n \"value\": 1\n },\n {\n \"source\": \"DomainDrivenDesign\",\n \"target\": \"Aggregate\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2024-Q1\",\n \"value\": 100\n },\n {\n \"source\": \"#reference\",\n \"target\": \"references\",\n \"value\": 100\n },\n {\n \"source\": \"references\",\n \"target\": \"references/flutter\",\n \"value\": 1\n },\n {\n \"source\": \"references\",\n \"target\": \"references/devex\",\n \"value\": 1\n },\n {\n \"source\": \"references\",\n \"target\": \"references/personal\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q4\",\n \"value\": 100\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"mermaid\",\n \"value\": 100\n },\n {\n \"source\": \"#metacognition\",\n \"target\": \"metacognition\",\n \"value\": 100\n },\n {\n \"source\": \"metacognition\",\n \"target\": \"improving-productivity\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 100\n },\n {\n \"source\": \"#metacognition\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"productivity\",\n \"value\": 100\n },\n {\n \"source\": \"productivity\",\n \"target\": \"improving-productivity\",\n \"value\": 1\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#developer-experience\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim/builtins\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim\",\n \"value\": 100\n },\n {\n \"source\": \"vim\",\n \"target\": \"vim/builtins\",\n \"value\": 1\n },\n {\n \"source\": \"vim\",\n \"target\": \"vim/versus-neovim\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q3\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench/cheatsheet\",\n \"value\": 100\n },\n {\n \"source\": \"workbench/cheatsheet\",\n \"target\": \"vim/builtins\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"archive\",\n \"value\": 100\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2024-Q1\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q1\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q2\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q3\",\n \"value\": 1\n },\n {\n \"source\": \"archive\",\n \"target\": \"quarterly/2023-Q4\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q2\",\n \"value\": 100\n },\n {\n \"source\": \"quarterly/2023-Q2\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 100\n },\n {\n \"source\": \"#archive\",\n \"target\": \"appendix\",\n \"value\": 100\n },\n {\n \"source\": \"appendix\",\n \"target\": \"appendix/excelcon-2nd\",\n \"value\": 1\n },\n {\n \"source\": \"#network\",\n \"target\": \"rfc\",\n \"value\": 100\n },\n {\n \"source\": \"rfc\",\n \"target\": \"rfc/visualization\",\n \"value\": 1\n },\n {\n \"source\": \"rfc\",\n \"target\": \"rfc/2616\",\n \"value\": 1\n },\n {\n \"source\": \"#archive\",\n \"target\": \"quarterly/2023-Q1\",\n \"value\": 100\n },\n {\n \"source\": \"quarterly/2023-Q1\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"#fediverse\",\n \"target\": \"mastodon\",\n \"value\": 100\n },\n {\n \"source\": \"mastodon\",\n \"target\": \"mastodon/recommendations\",\n \"value\": 1\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim-plugin/flutter-tools.nvim\",\n \"value\": 100\n },\n {\n \"source\": \"vim-plugin/flutter-tools.nvim\",\n \"target\": \"flutter\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin/flutter-tools.nvim\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"digital-garden\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"digital-garden\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"improving-productivity\",\n \"value\": 100\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"vim-plugin/mind.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"improving-productivity/journey\",\n \"value\": 1\n },\n {\n \"source\": \"improving-productivity\",\n \"target\": \"prompt-engineering\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"cli/diff\",\n \"value\": 100\n },\n {\n \"source\": \"#cli\",\n \"target\": \"cli\",\n \"value\": 100\n },\n {\n \"source\": \"cli\",\n \"target\": \"cli/diff\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"tmux\",\n \"value\": 1\n },\n {\n \"source\": \"cli\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"dogfooding-driven-development\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"dogfooding-driven-development\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"workbench\",\n \"value\": 100\n },\n {\n \"source\": \"workbench\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"vim-plugin\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"workbench/cheatsheet\",\n \"value\": 1\n },\n {\n \"source\": \"workbench\",\n \"target\": \"workbench/dotfiles\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"wezterm\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"wezterm\",\n \"value\": 100\n },\n {\n \"source\": \"#vim\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 100\n },\n {\n \"source\": \"vim-plugin/telekasten.nvim\",\n \"target\": \"vim-plugin/telescope.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"neovim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim-plugin/flutter-tools.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"vim-plugin\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"#cli\",\n \"target\": \"tmuxinator\",\n \"value\": 100\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"tmuxinator\",\n \"value\": 100\n },\n {\n \"source\": \"#misc\",\n \"target\": \"symbol\",\n \"value\": 100\n },\n {\n \"source\": \"#cli\",\n \"target\": \"neovim\",\n \"value\": 100\n },\n {\n \"source\": \"#project\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 100\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"vim-plugin/telekasten.nvim\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"wezterm\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"tmuxinator\",\n \"value\": 1\n },\n {\n \"source\": \"projects/neural-bridge\",\n \"target\": \"Neovim\",\n \"value\": 1\n },\n {\n \"source\": \"daily/2023-01-19\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"daily/2023-01-19\",\n \"target\": \"projects/neural-bridge\",\n \"value\": 1\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#misc\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#fediverse\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#ai-assistant\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#cli\",\n \"value\": 200\n },\n {\n \"source\": \"#developer-experience\",\n \"target\": \"#vim\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#developer-experience\",\n \"value\": 200\n },\n {\n \"source\": \"#productivity\",\n \"target\": \"#metacognition\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#productivity\",\n \"value\": 200\n },\n {\n \"source\": \"#computer-science\",\n \"target\": \"#network\",\n \"value\": 200\n },\n {\n \"source\": \"#computer-science\",\n \"target\": \"#algorithm\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#computer-science\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#webdev\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#software-engineering\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#oop\",\n \"value\": 200\n },\n {\n \"source\": \"#development\",\n \"target\": \"#reference\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#development\",\n \"value\": 200\n },\n {\n \"source\": \"#archive\",\n \"target\": \"#project\",\n \"value\": 200\n },\n {\n \"source\": \"#prelude\",\n \"target\": \"#archive\",\n \"value\": 200\n }\n ]\n}", "import dataset from \"../_data/wiki_datasets.json\"\n\nclass NeuralNetwork extends HTMLElement {\n static {\n customElements.define(\"neural-network\", this)\n }\n\n connectedCallback() {\n this.init();\n }\n\n static get observedAttributes() {\n return [\"defer-hydration\"];\n }\n\n attributeChangedCallback(name, previousValue, newValue) {\n if(name ===\"defer-hydration\" && newValue === null) {\n this.init();\n }\n }\n\n init() {\n if(this.hasAttribute(\"defer-hydration\")) {\n return;\n }\n\n window.addEventListener('load', function(e) {\n const KnowledgeGraph = window.$graph()\n\n const targetElement = document.querySelector('#neural-network')\n\n const icons = {}\n\n const vimIcon = new Image()\n vimIcon.src = \"/images/vim-icon.png\"\n\n icons['vim-plugin'] = vimIcon\n\n KnowledgeGraph(document.querySelector(\"#neural-network\"))\n .graphData(dataset)\n .width(targetElement.offsetWidth)\n .height(targetElement.offsetWidth)\n .nodeCanvasObject(function(node, ctx) {\n if (node.group == 1) {\n const path = node.id;\n const fontSize = 8;\n\n const hierarchyNodes = path.split(\"/\");\n const category = hierarchyNodes[0];\n const label = hierarchyNodes[hierarchyNodes.length - 1];\n\n // Rendering Text\n ctx.font = `${fontSize}px Sans-Serif`;\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth, fontSize].map(n => n + fontSize * 0.2); // some padding\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n ctx.fillText(label, node.x, node.y + 12);\n\n ctx.beginPath()\n ctx.fillStyle = \"rgba(0, 0, 0, 0.05)\"\n ctx.roundRect(\n node.x - textWidth / 2 - 6,\n node.y + fontSize / 2 + 2,\n textWidth + 12,\n fontSize + 4,\n 5\n );\n ctx.fill()\n\n const hasIcon = ['vim-plugin'].includes(category);\n const size = 12;\n\n // Rendering Circle\n if (hasIcon) {\n const img = icons[category];\n ctx.drawImage(img, node.x - size / 2, node.y - size / 2, size, size);\n } else {\n const radius = size / 2;\n ctx.fillStyle = \"rgba(0, 0, 0, 0.2)\"\n ctx.beginPath();\n ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false)\n ctx.fill()\n }\n\n node.__bckgDimensions = bckgDimensions;\n }\n\n if (node.group == 2) {\n const tagName = node.id;\n const fontSize = 12;\n\n const label = tagName;\n\n // Rendering Text\n ctx.font = `700 ${fontSize}px Sans-Serif`;\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth * 1.2, fontSize].map(n => n + fontSize * 0.3); // some padding\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n ctx.fillText(label, node.x, node.y);\n\n const groupNodeWidth = textWidth + 20\n const groupNodeHeight = fontSize + 10\n ctx.beginPath()\n ctx.fillStyle = \"rgb(128, 203, 196, 0.2)\"\n ctx.roundRect(\n node.x - groupNodeWidth / 2,\n node.y - groupNodeHeight / 2,\n groupNodeWidth,\n groupNodeHeight,\n 10\n );\n ctx.fill()\n\n node.__bckgDimensions = bckgDimensions;\n }\n })\n .nodePointerAreaPaint(function(node, color, ctx) {\n if (node.group == 1) {\n const size = 12;\n const radius = size / 2;\n ctx.fillStyle = color\n ctx.beginPath();\n ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false)\n ctx.fill()\n }\n\n if (node.group == 2) {\n const tagName = node.id;\n const fontSize = 12;\n\n const label = tagName;\n\n const textWidth = ctx.measureText(label).width;\n const bckgDimensions = [textWidth, fontSize].map(n => n + fontSize * 0.2); // some padding\n const groupNodeWidth = textWidth + 20\n const groupNodeHeight = fontSize + 10\n\n ctx.beginPath()\n ctx.fillStyle = color\n ctx.roundRect(\n node.x - groupNodeWidth / 2,\n node.y - groupNodeHeight / 2,\n groupNodeWidth,\n groupNodeHeight,\n 10\n );\n ctx.fill()\n }\n })\n .onNodeClick(function(node, event) {\n if (node.group == 1) {\n const path = node.id\n window.location.assign(\"/wiki/\" + path)\n }\n })\n .linkWidth(function(link) {\n if (link.value == 200) {\n return 3;\n }\n\n return 1;\n })\n\t\t})\n }\n}\n"], + "mappings": "MAAA,IAAAA,EAAA,CACE,MAAS,CACP,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,cACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,YACN,MAAS,CACX,EACA,CACE,GAAM,sBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,iCACN,MAAS,CACX,EACA,CACE,GAAM,eACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,eACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,uBACN,MAAS,CACX,EACA,CACE,GAAM,2BACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,yBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,gCACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,iBACN,MAAS,CACX,EACA,CACE,GAAM,6BACN,MAAS,CACX,EACA,CACE,GAAM,qBACN,MAAS,CACX,EACA,CACE,GAAM,uBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,MAAS,CACX,EACA,CACE,GAAM,MACN,MAAS,CACX,EACA,CACE,GAAM,UACN,MAAS,CACX,EACA,CACE,GAAM,OACN,MAAS,CACX,EACA,CACE,GAAM,gCACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,YACN,MAAS,CACX,EACA,CACE,GAAM,aACN,MAAS,CACX,EACA,CACE,GAAM,4BACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,SACN,MAAS,CACX,EACA,CACE,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,EACN,GAAM,EACN,MAAS,CACX,EACA,CACE,GAAM,QACN,GAAM,IACN,GAAM,EACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,gBACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,iBACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,oBACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,kBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,eACN,GAAM,oBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,UACN,GAAM,oBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,wBACN,GAAM,oBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,OACN,GAAM,oBACN,GAAM,kBACN,MAAS,CACX,EACA,CACE,GAAM,aACN,GAAM,mBACN,GAAM,mBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,EACA,CACE,GAAM,WACN,GAAM,mBACN,GAAM,oBACN,MAAS,CACX,CACF,EACA,MAAS,CACP,CACE,OAAU,gBACV,OAAU,qBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,cACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,cACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,yBACV,OAAU,cACV,MAAS,CACX,EACA,CACE,OAAU,wBACV,OAAU,qBACV,MAAS,GACX,EACA,CACE,OAAU,qBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,qBACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,qBACV,OAAU,YACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,aACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,aACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,mBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,sBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,iBACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,iCACV,MAAS,GACX,EACA,CACE,OAAU,iBACV,OAAU,iCACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,eACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,eACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,eACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,uBACV,MAAS,GACX,EACA,CACE,OAAU,uBACV,OAAU,eACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,UACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,wBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,wBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,oBACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,WACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,2BACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,gCACV,MAAS,GACX,EACA,CACE,OAAU,gCACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,iBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,iBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,yBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,uBACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,iCACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,MACV,MAAS,GACX,EACA,CACE,OAAU,MACV,OAAU,WACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,OACV,MAAS,CACX,EACA,CACE,OAAU,MACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,gCACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,gBACV,OAAU,YACV,MAAS,GACX,EACA,CACE,OAAU,YACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,uBACV,MAAS,CACX,EACA,CACE,OAAU,YACV,OAAU,qBACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,UACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,6BACV,MAAS,GACX,EACA,CACE,OAAU,6BACV,OAAU,4BACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,MACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,gCACV,MAAS,CACX,EACA,CACE,OAAU,aACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,OACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,QACV,OAAU,SACV,MAAS,GACX,EACA,CACE,OAAU,OACV,OAAU,SACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,yBACV,MAAS,GACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,6BACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,UACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,aACV,MAAS,CACX,EACA,CACE,OAAU,yBACV,OAAU,SACV,MAAS,CACX,EACA,CACE,OAAU,mBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,mBACV,OAAU,yBACV,MAAS,CACX,EACA,CACE,OAAU,WACV,OAAU,QACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,OACV,MAAS,GACX,EACA,CACE,OAAU,wBACV,OAAU,OACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,wBACV,MAAS,GACX,EACA,CACE,OAAU,gBACV,OAAU,iBACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,gBACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,WACV,MAAS,GACX,EACA,CACE,OAAU,oBACV,OAAU,aACV,MAAS,GACX,EACA,CACE,OAAU,WACV,OAAU,oBACV,MAAS,GACX,EACA,CACE,OAAU,eACV,OAAU,UACV,MAAS,GACX,E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", + "names": ["wiki_datasets_default", "_NeuralNetwork", "name", "previousValue", "newValue", "e", "KnowledgeGraph", "targetElement", "icons", "vimIcon", "wiki_datasets_default", "node", "ctx", "path", "fontSize", "hierarchyNodes", "category", "label", "textWidth", "bckgDimensions", "n", "hasIcon", "size", "img", "radius", "tagName", "groupNodeWidth", "groupNodeHeight", "color", "event", "link", "NeuralNetwork"] +} diff --git a/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js b/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js new file mode 100644 index 00000000..efa5c541 --- /dev/null +++ b/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js @@ -0,0 +1,2 @@ +(()=>{var e=["workbench/dotfiles","duck-typing","object-oriented-design","Repository","Factory","DomainDrivenDesign","Aggregate","references/personal","quarterly/2024-Q1","references/flutter","references/devex","references","quarterly/2023-Q4","rfc/visualization","mermaid","metacognition","improving-productivity/journey","productivity","vim/versus-neovim","vim/builtins","vim","quarterly/2023-Q3","workbench/cheatsheet","mastodon/recommendations","archive","quarterly/2023-Q2","appendix/excelcon-2nd","appendix","rfc","rfc/2616","quarterly/2023-Q1","mastodon","vim-plugin/flutter-tools.nvim","digital-garden","prompt-engineering","vim-plugin/mind.nvim","improving-productivity","cli/diff","cli","dogfooding-driven-development","workbench","wezterm","vim-plugin/telekasten.nvim","vim-plugin","tmuxinator","symbol","neovim","projects/neural-bridge","daily/2023-01-19"];var i=class i extends HTMLElement{connectedCallback(){document.addEventListener("go-to-random-page",a=>{let t=e.length,r=Math.floor(Math.random()*t);window.location.assign("/wiki/"+e[Math.max(0,r)])})}};customElements.define("random-page-redirection",i);var n=i;})(); +//# sourceMappingURL=/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js.map diff --git a/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js.map b/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js.map new file mode 100644 index 00000000..63b617ed --- /dev/null +++ b/_bridgetown/static/src/_islands/random_page_redirection.6F72FQJJ.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../../src/_data/available_wiki_documents.json", "../../../../../src/_islands/random_page_redirection.js"], + "sourcesContent": ["[\"workbench/dotfiles\",\"duck-typing\",\"object-oriented-design\",\"Repository\",\"Factory\",\"DomainDrivenDesign\",\"Aggregate\",\"references/personal\",\"quarterly/2024-Q1\",\"references/flutter\",\"references/devex\",\"references\",\"quarterly/2023-Q4\",\"rfc/visualization\",\"mermaid\",\"metacognition\",\"improving-productivity/journey\",\"productivity\",\"vim/versus-neovim\",\"vim/builtins\",\"vim\",\"quarterly/2023-Q3\",\"workbench/cheatsheet\",\"mastodon/recommendations\",\"archive\",\"quarterly/2023-Q2\",\"appendix/excelcon-2nd\",\"appendix\",\"rfc\",\"rfc/2616\",\"quarterly/2023-Q1\",\"mastodon\",\"vim-plugin/flutter-tools.nvim\",\"digital-garden\",\"prompt-engineering\",\"vim-plugin/mind.nvim\",\"improving-productivity\",\"cli/diff\",\"cli\",\"dogfooding-driven-development\",\"workbench\",\"wezterm\",\"vim-plugin/telekasten.nvim\",\"vim-plugin\",\"tmuxinator\",\"symbol\",\"neovim\",\"projects/neural-bridge\",\"daily/2023-01-19\"]", "import availableDocuments from \"../_data/available_wiki_documents.json\"\n\nclass RandomPageRedirection extends HTMLElement {\n static {\n customElements.define(\"random-page-redirection\", this)\n }\n\n connectedCallback() {\n document.addEventListener(\"go-to-random-page\", (e) => {\n const size = availableDocuments.length;\n const randomIdx = Math.floor(Math.random() * size);\n window.location.assign(\"/wiki/\" + availableDocuments[Math.max(0, randomIdx)]);\n })\n }\n}\n"], + "mappings": "MAAA,IAAAA,EAAA,CAAC,qBAAqB,cAAc,yBAAyB,aAAa,UAAU,qBAAqB,YAAY,sBAAsB,oBAAoB,qBAAqB,mBAAmB,aAAa,oBAAoB,oBAAoB,UAAU,gBAAgB,iCAAiC,eAAe,oBAAoB,eAAe,MAAM,oBAAoB,uBAAuB,2BAA2B,UAAU,oBAAoB,wBAAwB,WAAW,MAAM,WAAW,oBAAoB,WAAW,gCAAgC,iBAAiB,qBAAqB,uBAAuB,yBAAyB,WAAW,MAAM,gCAAgC,YAAY,UAAU,6BAA6B,aAAa,aAAa,SAAS,SAAS,yBAAyB,kBAAkB,ECEv1B,IAAMC,EAAN,MAAMA,UAA8B,WAAY,CAK9C,mBAAoB,CAClB,SAAS,iBAAiB,oBAAsBC,GAAM,CACpD,IAAMC,EAAOC,EAAmB,OAC1BC,EAAY,KAAK,MAAM,KAAK,OAAO,EAAIF,CAAI,EACjD,OAAO,SAAS,OAAO,SAAWC,EAAmB,KAAK,IAAI,EAAGC,CAAS,CAAC,CAAC,CAC9E,CAAC,CACH,CACF,EAVI,eAAe,OAAO,0BAA2BJ,CAAI,EAFzD,IAAMK,EAANL", + "names": ["available_wiki_documents_default", "_RandomPageRedirection", "e", "size", "available_wiki_documents_default", "randomIdx", "RandomPageRedirection"] +} diff --git a/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js b/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js deleted file mode 100644 index 43dfef99..00000000 --- a/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var e=["workbench/dotfiles","object-oriented-design","Repository","Factory","DomainDrivenDesign","Aggregate","references/personal","quarterly/2024-Q1","references/flutter","references/devex","references","quarterly/2023-Q4","rfc/visualization","mermaid","metacognition","improving-productivity/journey","productivity","vim/versus-neovim","vim/builtins","vim","quarterly/2023-Q3","workbench/cheatsheet","mastodon/recommendations","archive","quarterly/2023-Q2","appendix/excelcon-2nd","appendix","rfc","rfc/2616","quarterly/2023-Q1","mastodon","vim-plugin/flutter-tools.nvim","digital-garden","prompt-engineering","vim-plugin/mind.nvim","improving-productivity","cli/diff","cli","dogfooding-driven-development","workbench","wezterm","vim-plugin/telekasten.nvim","vim-plugin","tmuxinator","symbol","neovim","projects/neural-bridge","daily/2023-01-19"];var i=class i extends HTMLElement{connectedCallback(){document.addEventListener("go-to-random-page",a=>{let t=e.length,r=Math.floor(Math.random()*t);window.location.assign("/wiki/"+e[Math.max(0,r)])})}};customElements.define("random-page-redirection",i);var n=i;})(); -//# sourceMappingURL=/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js.map diff --git a/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js.map b/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js.map deleted file mode 100644 index 8cfd1637..00000000 --- a/_bridgetown/static/src/_islands/random_page_redirection.YZA7OX4R.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../src/_data/available_wiki_documents.json", "../../../../../src/_islands/random_page_redirection.js"], - "sourcesContent": ["[\"workbench/dotfiles\",\"object-oriented-design\",\"Repository\",\"Factory\",\"DomainDrivenDesign\",\"Aggregate\",\"references/personal\",\"quarterly/2024-Q1\",\"references/flutter\",\"references/devex\",\"references\",\"quarterly/2023-Q4\",\"rfc/visualization\",\"mermaid\",\"metacognition\",\"improving-productivity/journey\",\"productivity\",\"vim/versus-neovim\",\"vim/builtins\",\"vim\",\"quarterly/2023-Q3\",\"workbench/cheatsheet\",\"mastodon/recommendations\",\"archive\",\"quarterly/2023-Q2\",\"appendix/excelcon-2nd\",\"appendix\",\"rfc\",\"rfc/2616\",\"quarterly/2023-Q1\",\"mastodon\",\"vim-plugin/flutter-tools.nvim\",\"digital-garden\",\"prompt-engineering\",\"vim-plugin/mind.nvim\",\"improving-productivity\",\"cli/diff\",\"cli\",\"dogfooding-driven-development\",\"workbench\",\"wezterm\",\"vim-plugin/telekasten.nvim\",\"vim-plugin\",\"tmuxinator\",\"symbol\",\"neovim\",\"projects/neural-bridge\",\"daily/2023-01-19\"]", "import availableDocuments from \"../_data/available_wiki_documents.json\"\n\nclass RandomPageRedirection extends HTMLElement {\n static {\n customElements.define(\"random-page-redirection\", this)\n }\n\n connectedCallback() {\n document.addEventListener(\"go-to-random-page\", (e) => {\n const size = availableDocuments.length;\n const randomIdx = Math.floor(Math.random() * size);\n window.location.assign(\"/wiki/\" + availableDocuments[Math.max(0, randomIdx)]);\n })\n }\n}\n"], - "mappings": "MAAA,IAAAA,EAAA,CAAC,qBAAqB,yBAAyB,aAAa,UAAU,qBAAqB,YAAY,sBAAsB,oBAAoB,qBAAqB,mBAAmB,aAAa,oBAAoB,oBAAoB,UAAU,gBAAgB,iCAAiC,eAAe,oBAAoB,eAAe,MAAM,oBAAoB,uBAAuB,2BAA2B,UAAU,oBAAoB,wBAAwB,WAAW,MAAM,WAAW,oBAAoB,WAAW,gCAAgC,iBAAiB,qBAAqB,uBAAuB,yBAAyB,WAAW,MAAM,gCAAgC,YAAY,UAAU,6BAA6B,aAAa,aAAa,SAAS,SAAS,yBAAyB,kBAAkB,ECEz0B,IAAMC,EAAN,MAAMA,UAA8B,WAAY,CAK9C,mBAAoB,CAClB,SAAS,iBAAiB,oBAAsBC,GAAM,CACpD,IAAMC,EAAOC,EAAmB,OAC1BC,EAAY,KAAK,MAAM,KAAK,OAAO,EAAIF,CAAI,EACjD,OAAO,SAAS,OAAO,SAAWC,EAAmB,KAAK,IAAI,EAAGC,CAAS,CAAC,CAAC,CAC9E,CAAC,CACH,CACF,EAVI,eAAe,OAAO,0BAA2BJ,CAAI,EAFzD,IAAMK,EAANL", - "names": ["available_wiki_documents_default", "_RandomPageRedirection", "e", "size", "available_wiki_documents_default", "randomIdx", "RandomPageRedirection"] -} diff --git a/neural-network/index.html b/neural-network/index.html index b8306305..70e96130 100644 --- a/neural-network/index.html +++ b/neural-network/index.html @@ -61,7 +61,7 @@ } - + @@ -69,7 +69,7 @@

Knowledge network

- +
diff --git a/rss.xml b/rss.xml index f54ca15e..3ab118ff 100644 --- a/rss.xml +++ b/rss.xml @@ -1,4 +1,4 @@ -Bridgetown2024-06-08T13:53:41+00:00https://kodingwarrior.github.io/rss.xmlKODINGWARRIOR QUEST고생을 사서 하는 개발자의 여정은 앞으로도 계속됩니다.이메일 클라이언트 구매 후기 (with hey.com)2024-03-08T00:00:00+00:002024-03-08T00:00:00+00:00repo://posts.collection/_posts/2024-03-08-hey-as-productivity-tool.md<p><a href="/wiki/quarterly/2023-Q4">2023년도 4/4분기 결산</a> 에서 쓸까말까하다가 이걸 다 담기에는 4/4분기 결산 퇴고하는걸 미루게 될 것만 같아서 블로그 포스트로 따로 분리하기로 했다. 2023년 9월 쯤부터 유료 이메일 서비스를 구매하면서부터 뉴스레터를 구독하기 시작했던 특이점이 있었는데, 이에 대해서 설명하기에는 분량이 상당히 길어질 수도 있고 커피챗에서도 1시간 이상을 떠들어댈 수 있는 소재이기도 했기 때문이다.</p> +Bridgetown2024-06-10T16:43:23+00:00https://kodingwarrior.github.io/rss.xmlKODINGWARRIOR QUEST고생을 사서 하는 개발자의 여정은 앞으로도 계속됩니다.이메일 클라이언트 구매 후기 (with hey.com)2024-03-08T00:00:00+00:002024-03-08T00:00:00+00:00repo://posts.collection/_posts/2024-03-08-hey-as-productivity-tool.md<p><a href="/wiki/quarterly/2023-Q4">2023년도 4/4분기 결산</a> 에서 쓸까말까하다가 이걸 다 담기에는 4/4분기 결산 퇴고하는걸 미루게 될 것만 같아서 블로그 포스트로 따로 분리하기로 했다. 2023년 9월 쯤부터 유료 이메일 서비스를 구매하면서부터 뉴스레터를 구독하기 시작했던 특이점이 있었는데, 이에 대해서 설명하기에는 분량이 상당히 길어질 수도 있고 커피챗에서도 1시간 이상을 떠들어댈 수 있는 소재이기도 했기 때문이다.</p> <p>내가 사랑하는 여러가지 것들을 커피챗마다 가서 전도하고 싶은 마음은 굴뚝같지만, 만나고 싶어도 시간이 부족해서 못 만나는 사람, 꼭 만나서 전도해보고 싶은 마음은 굴뚝같지만 만날 시간이 없는 사람 등등을 고려해서 내가 사용하고 있는 유료 이메일 서비스에 대한 간증과 그리고 내가 왜 뉴스레터를 구독하고 있는지에 대해서 두 개의 아티클로 나눠서 설명하게 될 것 같다.</p> diff --git a/wiki/Aggregate/index.html b/wiki/Aggregate/index.html index 2b6b6f08..5545596a 100644 --- a/wiki/Aggregate/index.html +++ b/wiki/Aggregate/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/DomainDrivenDesign/index.html b/wiki/DomainDrivenDesign/index.html index bbe67d54..e41a4aca 100644 --- a/wiki/DomainDrivenDesign/index.html +++ b/wiki/DomainDrivenDesign/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/Factory/index.html b/wiki/Factory/index.html index a40ebdba..b40bb226 100644 --- a/wiki/Factory/index.html +++ b/wiki/Factory/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/Repository/index.html b/wiki/Repository/index.html index 6a20e64f..630a6bc3 100644 --- a/wiki/Repository/index.html +++ b/wiki/Repository/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/appendix/excelcon-2nd/index.html b/wiki/appendix/excelcon-2nd/index.html index eb3656f2..35cd88a0 100644 --- a/wiki/appendix/excelcon-2nd/index.html +++ b/wiki/appendix/excelcon-2nd/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/appendix/index.html b/wiki/appendix/index.html index 98e67f71..9dc557fb 100644 --- a/wiki/appendix/index.html +++ b/wiki/appendix/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/archive/index.html b/wiki/archive/index.html index 4ccb165c..108df376 100644 --- a/wiki/archive/index.html +++ b/wiki/archive/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/cli/diff/index.html b/wiki/cli/diff/index.html index 5c3545d6..75a55be7 100644 --- a/wiki/cli/diff/index.html +++ b/wiki/cli/diff/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/cli/index.html b/wiki/cli/index.html index 7acc30aa..bf77cab5 100644 --- a/wiki/cli/index.html +++ b/wiki/cli/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/daily/2023-01-19/index.html b/wiki/daily/2023-01-19/index.html index 4580d4ff..67f5f9c9 100644 --- a/wiki/daily/2023-01-19/index.html +++ b/wiki/daily/2023-01-19/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/digital-garden/index.html b/wiki/digital-garden/index.html index 04a0c7ee..ac2a73b0 100644 --- a/wiki/digital-garden/index.html +++ b/wiki/digital-garden/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/dogfooding-driven-development/index.html b/wiki/dogfooding-driven-development/index.html index 8f48e8b5..76c94fef 100644 --- a/wiki/dogfooding-driven-development/index.html +++ b/wiki/dogfooding-driven-development/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/duck-typing/index.html b/wiki/duck-typing/index.html new file mode 100644 index 00000000..09e28510 --- /dev/null +++ b/wiki/duck-typing/index.html @@ -0,0 +1,352 @@ + + + + + + + Duck typing | KODINGWARRIOR QUEST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ +
+ + + + + + + + + + + +

Duck typing

+ +
+ + + + + + + + +
+ +
+ +

Reference

+ +

Practical Object Oriented Design in Ruby - Sandi Metz

+ +
+
+ Note +
+
+ +"Duck typing은 특정 클래스에 종속되지 않은 퍼블릭 인터페이스이다. 여러 클래스를 가로지르는 이런 인터페이스는 클래스에 대한 값비싼 의존을 메시지에 대한 부드러운 의존으로 대치시킨다." - p97 + +
+
+ +
+
+ Note +
+
+ +"객체지향 디자인은 구체적인 코드를 작성하는 비용 그리고 추상적인 코드를 작성하는 비용 사이의 긴장에서 결코 자유로울 수 없다. (중략) 오리 타입을 사용하면 코드는 구체적인 것에서 추상적인 것으로 바뀐다." - p107 + +
+
+ +
+
+ Note +
+
+ +"동적 타입은 컴파일 순간의 타입 확인과 상당한 수준의 개발 효율성을 맞바꿀 수 있게 해준다. 전자는 비싼 대가를 치루고 낮은 이익을 얻는 제약사항이며, 후자는 compile/make 과정을 생략하면서 얻을 수 있는 이득이다. 이건 남는 게 많은 교환이다. 오리 타입은 정적 타입 위에서 만들어진다. 오리 타입을 사용하기 위해서는 동적 타입을 받아들여야만 한다." - p117 + +
+
+ +
+
+ Note +
+
+ +"메시지는 퍼블릭 인터페이스를 따라 객체들 사이를 오간다. 오리 타입은 이 퍼블릭 인터페이스를 클래스로부터 분리해낸다. 그리고 '객체가 누구인지'가 아니라 '객체가 무엇을 하는지'에 따라 가상의 타입을 만들어낸다." - p117 + +
+
+ +
+
+ Note +
+
+ +"오리타입은 오리타입이 없었다면 발견하지 못했을 추상화를 볼 수 있게 해준다. 이 추상화에 의존할때 애플리케이션의 위험성은 줄어들고 유연성은 증가한다. 유지보수 비용이 줄어들고 쉽게 수정할 수 있게 해준다." - p118 + +
+
+ + +
+ + + + + + + + + + + +
+
+ + +
+ + + + + + + + + diff --git a/wiki/improving-productivity/index.html b/wiki/improving-productivity/index.html index ca0dcbf5..440f2bb9 100644 --- a/wiki/improving-productivity/index.html +++ b/wiki/improving-productivity/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/improving-productivity/journey/index.html b/wiki/improving-productivity/journey/index.html index 78fdce47..5c803109 100644 --- a/wiki/improving-productivity/journey/index.html +++ b/wiki/improving-productivity/journey/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/index.html b/wiki/index.html index 19c2f145..ab11760a 100644 --- a/wiki/index.html +++ b/wiki/index.html @@ -61,7 +61,7 @@ } - + @@ -77,6 +77,10 @@

Recent wiki documents

+
  • + Duck typing +
  • +
  • 객체 지향 디자인
  • diff --git a/wiki/mastodon/index.html b/wiki/mastodon/index.html index cfa25703..3e802635 100644 --- a/wiki/mastodon/index.html +++ b/wiki/mastodon/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/mastodon/recommendations/index.html b/wiki/mastodon/recommendations/index.html index 854822a6..14aeba25 100644 --- a/wiki/mastodon/recommendations/index.html +++ b/wiki/mastodon/recommendations/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/mermaid/index.html b/wiki/mermaid/index.html index 61276ee6..efc4d012 100644 --- a/wiki/mermaid/index.html +++ b/wiki/mermaid/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/metacognition/index.html b/wiki/metacognition/index.html index 5d922f18..ba87f5ca 100644 --- a/wiki/metacognition/index.html +++ b/wiki/metacognition/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/neovim/index.html b/wiki/neovim/index.html index 0efb0b61..0231cfca 100644 --- a/wiki/neovim/index.html +++ b/wiki/neovim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/object-oriented-design/index.html b/wiki/object-oriented-design/index.html index 2f3932a5..6ae46bca 100644 --- a/wiki/object-oriented-design/index.html +++ b/wiki/object-oriented-design/index.html @@ -82,7 +82,7 @@ } - + @@ -115,12 +115,14 @@

    객체 지향 디자인

    관련 용어

    +
      +
    • [[duck-typing]]{오리 타입(Duck typing)}
    • +
    +

    Reference

    Practical Object Oriented Design in Ruby - Sandi Metz

    -


    -
    Note diff --git a/wiki/productivity/index.html b/wiki/productivity/index.html index a8d70e49..3cfb572d 100644 --- a/wiki/productivity/index.html +++ b/wiki/productivity/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/projects/neural-bridge/index.html b/wiki/projects/neural-bridge/index.html index d9d0dea3..a48daa3c 100644 --- a/wiki/projects/neural-bridge/index.html +++ b/wiki/projects/neural-bridge/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/prompt-engineering/index.html b/wiki/prompt-engineering/index.html index 2aa862bd..a6d1f23f 100644 --- a/wiki/prompt-engineering/index.html +++ b/wiki/prompt-engineering/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/quarterly/2023-Q1/index.html b/wiki/quarterly/2023-Q1/index.html index 989ba53f..2455f99e 100644 --- a/wiki/quarterly/2023-Q1/index.html +++ b/wiki/quarterly/2023-Q1/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/quarterly/2023-Q2/index.html b/wiki/quarterly/2023-Q2/index.html index 16cdf0b5..8c35e874 100644 --- a/wiki/quarterly/2023-Q2/index.html +++ b/wiki/quarterly/2023-Q2/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/quarterly/2023-Q3/index.html b/wiki/quarterly/2023-Q3/index.html index 456926fd..e56337cf 100644 --- a/wiki/quarterly/2023-Q3/index.html +++ b/wiki/quarterly/2023-Q3/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/quarterly/2023-Q4/index.html b/wiki/quarterly/2023-Q4/index.html index ce7c2b75..6a84d894 100644 --- a/wiki/quarterly/2023-Q4/index.html +++ b/wiki/quarterly/2023-Q4/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/quarterly/2024-Q1/index.html b/wiki/quarterly/2024-Q1/index.html index d6117b22..90fa5e24 100644 --- a/wiki/quarterly/2024-Q1/index.html +++ b/wiki/quarterly/2024-Q1/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/references/devex/index.html b/wiki/references/devex/index.html index defb8f10..0b8c1165 100644 --- a/wiki/references/devex/index.html +++ b/wiki/references/devex/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/references/flutter/index.html b/wiki/references/flutter/index.html index 21a408a7..fc99b687 100644 --- a/wiki/references/flutter/index.html +++ b/wiki/references/flutter/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/references/index.html b/wiki/references/index.html index c66dfeda..db028fac 100644 --- a/wiki/references/index.html +++ b/wiki/references/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/references/personal/index.html b/wiki/references/personal/index.html index 6641c123..cde40110 100644 --- a/wiki/references/personal/index.html +++ b/wiki/references/personal/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/rfc/2616/index.html b/wiki/rfc/2616/index.html index a43349d2..fc1b4098 100644 --- a/wiki/rfc/2616/index.html +++ b/wiki/rfc/2616/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/rfc/index.html b/wiki/rfc/index.html index 4041e1dc..ba5df417 100644 --- a/wiki/rfc/index.html +++ b/wiki/rfc/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/rfc/visualization/index.html b/wiki/rfc/visualization/index.html index ceb2795b..8d109af0 100644 --- a/wiki/rfc/visualization/index.html +++ b/wiki/rfc/visualization/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/symbol/index.html b/wiki/symbol/index.html index 7920a4fa..ad3e1211 100644 --- a/wiki/symbol/index.html +++ b/wiki/symbol/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/templates/daily/index.html b/wiki/templates/daily/index.html index 95fab98b..01b75560 100644 --- a/wiki/templates/daily/index.html +++ b/wiki/templates/daily/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/templates/new_note/index.html b/wiki/templates/new_note/index.html index 843e7f3a..3db97c13 100644 --- a/wiki/templates/new_note/index.html +++ b/wiki/templates/new_note/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/tmuxinator/index.html b/wiki/tmuxinator/index.html index ead41614..32c1ea27 100644 --- a/wiki/tmuxinator/index.html +++ b/wiki/tmuxinator/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim-plugin/flutter-tools.nvim/index.html b/wiki/vim-plugin/flutter-tools.nvim/index.html index c6caa87c..c4d5cea6 100644 --- a/wiki/vim-plugin/flutter-tools.nvim/index.html +++ b/wiki/vim-plugin/flutter-tools.nvim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim-plugin/index.html b/wiki/vim-plugin/index.html index 6f8a3f2f..bb732a41 100644 --- a/wiki/vim-plugin/index.html +++ b/wiki/vim-plugin/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim-plugin/mind.nvim/index.html b/wiki/vim-plugin/mind.nvim/index.html index 443b7fcf..f2313ede 100644 --- a/wiki/vim-plugin/mind.nvim/index.html +++ b/wiki/vim-plugin/mind.nvim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim-plugin/telekasten.nvim/index.html b/wiki/vim-plugin/telekasten.nvim/index.html index 5ca61dee..f736cd1b 100644 --- a/wiki/vim-plugin/telekasten.nvim/index.html +++ b/wiki/vim-plugin/telekasten.nvim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim/builtins/index.html b/wiki/vim/builtins/index.html index dbea5cc3..76321cd3 100644 --- a/wiki/vim/builtins/index.html +++ b/wiki/vim/builtins/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim/index.html b/wiki/vim/index.html index e34b53a4..c44c3998 100644 --- a/wiki/vim/index.html +++ b/wiki/vim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/vim/versus-neovim/index.html b/wiki/vim/versus-neovim/index.html index 7417b0d5..c4a028cb 100644 --- a/wiki/vim/versus-neovim/index.html +++ b/wiki/vim/versus-neovim/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/wezterm/index.html b/wiki/wezterm/index.html index 4dbbaaf4..d3eebd11 100644 --- a/wiki/wezterm/index.html +++ b/wiki/wezterm/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/workbench/cheatsheet/index.html b/wiki/workbench/cheatsheet/index.html index b871a370..714149f0 100644 --- a/wiki/workbench/cheatsheet/index.html +++ b/wiki/workbench/cheatsheet/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/workbench/dotfiles/index.html b/wiki/workbench/dotfiles/index.html index 4837a864..77af0b24 100644 --- a/wiki/workbench/dotfiles/index.html +++ b/wiki/workbench/dotfiles/index.html @@ -82,7 +82,7 @@ } - + diff --git a/wiki/workbench/index.html b/wiki/workbench/index.html index d55b9126..94b16d10 100644 --- a/wiki/workbench/index.html +++ b/wiki/workbench/index.html @@ -82,7 +82,7 @@ } - +