2.0 KiB
PaulW.XYZ
Paul's personal website.
Third-Party Licenses
Any trademarks listed on this site are the property of their respective owners. This site neither endorses nor is affiliated with any of the owners. Any source code available on any of the pages is without warranty of any kind. Use it at your own risk.
Direct dependency notices are documented in the license page.
Development
The source for this site is hosted at https://git.paulw.xyz/paul/www.
bun install
bun run dev
Run bun run test for focused content and output tests, bun run check to
validate generated pages, and bun run build to create the production site in
dist/.
Project layout
site.config.jsdefines the site URL, content directories, standalone pages, and files watched by the development server.content.jsdiscovers Markdown pages and handles local drafts. A file named.example.mdinnotes/orposts/is a local draft;bun run devincludes drafts, while builds exclude them.generator.jsrenders static pages.feed.jsrenders the RSS feed and sitemap.output.jsstages the generated site before replacing.generated/, so a failed generation leaves the previous output available.src/contains browser behavior, styles, and bundled fonts.vite.config.jsbuilds the generated pages and regenerates them after content changes during development.check.jsvalidates the generated output before each production build.
Edit content in notes/ and posts/. Keep generated files in .generated/
and dist/ out of version control.
The bundled Iosevka file is a subset of the Fontsource package. After updating
@fontsource/iosevka, regenerate it with sh scripts/subset-iosevka.sh (requires
uv); normal installs and builds do not require uv.
mirror/ contains local copies of API references (docs.gl, Microsoft SDK
API, and Win32). It is about 906 MB, is not used by the generator or build,
and is ignored by Git. Keep it locally for reference or move it outside the
project when no longer needed.