How this site is made
The tools, stack, and decisions behind matthewtrask.com.
Generator
A static site generator built on Laravel's Blade templating engine. Lets me write PHP logic in templates, use collections, and generate static HTML — no runtime server required.
Styling
Utility-first CSS. Dark mode via the class strategy. The @tailwindcss/typography plugin handles prose content.
Syne · Source Serif 4 · JetBrains Mono
Syne for headings and brand — geometric, distinctive. Source Serif 4 for long-form body text — readable at any weight. JetBrains Mono for code, metadata, and labels — ligatures on. All loaded from Google Fonts.
Assets
Laravel Mix (Webpack)
Compiles and versions CSS and JavaScript. PostCSS handles Tailwind, nesting, and imports. Source maps in development, minified in production.
Client-side syntax highlighting. Using the GitHub Dark Dimmed theme. Languages registered: PHP, JavaScript, CSS, Bash, JSON, YAML, Markdown, SCSS, HTML.
Deployment
GitHub Actions
Pushing to develop triggers a build. The workflow installs dependencies, compiles assets with npm run prod, runs Jigsaw's build, then uses git subtree split to publish only the build_production/ directory to the main branch.
GitHub Pages
Serves the static build from the main branch. Zero server maintenance, free, fast.
Features
Source available on GitHub.