--- public: "true" slug: "my-personal-website" title: "My Personal Website" prev: false next: false ---

My Personal Website

422 words, ~2 minute read.


Referenced by:The Small Web
A [Personal Websites](/garden/the-small-web/index.md) for myself, available at https://thepaperpilot.org ## Tech Stack I use [Logseq](/garden/logseq/index.md) to journal and collect my thoughts on various topics that interest me - Seafile syncs my logseq files between my devices - Git syncs my logseq files to a private repo on [Incremental Social](/garden/incremental-social/index.md) for purposes of version control and using as a submodule - The seafile files and all repos on [Incremental Social](/garden/incremental-social/index.md) are independently backed up daily to backblaze My logseq files are synced to a private git repo which is added as a submodule to [my website repo](https://code.incremental.social/thepaperpilot/pages) A [Node.js script](https://code.incremental.social/thepaperpilot/pages/src/branch/master/build_garden.js) pre-processes my logseq files into markdown files in the `/garden` path of the website - Converts all links and block references - Adds lists of tags and references to pages - Adds `

` titles, word counts, update commits, etc. to each page - Moves the /now page to [/now](https://thepaperpilot.org/now) instead of /garden/now - Copies some of the [Guide to Incrementals](/garden/guide-to-incrementals/index.md) pages to [/guide-to-incrementals](https://thepaperpilot.org/guide-to-incrementals/) so as to not break links made before the current site iteration - Generates [/changelog](https://www.thepaperpilot.org/changelog/) and its RSS, Atom, and JSON feeds - The outputs of the generation are NOT .gitignore'd, as I use the git log to determine which pages updated when - Commit information about when a file was last updated is added via a [data loader](https://vitepress.dev/guide/data-loading) because if it was added to the file directly, rebuilding the site would count as having updated every page, by updating each commit to the changes introduced last build [Vitepress](/garden/vitepress/index.md) builds a static site from the markdown files - Includes a custom theme that makes the whole site paper-themed - Includes some pages like the [homepage](https://thepaperpilot.org) and the [about me page](https://thepaperpilot.org/about) that require markup, thus don't make sense to maintain inside logseq - The sidebar is generated from my favorited pages within Logseq - Includes various static files, like copies of several of my games and a [robots.txt](https://www.thepaperpilot.org/robots.txt) (borrowed from [Tracy Durnell](https://tracydurnell.com/)'s [robots.txt](https://tracydurnell.com/robots.txt)) that blocks several crawlers specifically used for training AI models Three.js is used to create the effect in the background - Simplex noise gets used to adjust the opacity of a repeating SVG pattern - Initially tried to use just SVG, which supports creating noise and using it as a mask, but it only does 2d noise and I need 2d slices of 3d noise Microformats are used to markup the site for [The IndieWeb](/garden/the-small-web/index.md) - The footer contains a minimal [h-card](https://microformats.org/wiki/h-card) with a link to my full profile - Each garden page is an [h-entry](https://indieweb.org/h-entry), and the changelog an [h-feed](https://indieweb.org/h-feed) - All my socials are added as [rel-me](https://indieweb.org/rel-me) links, and the profiles then link back to me (as rel-me links, if allowed by the platform) - Together this can verify the owner of this website and those socials are the same person