A personal website, matthewjmoran.com, built using SvelteKit with Static Site Generation (SSG).
This project uses Docker to create a consistent local development environment that runs identically everywhere—eliminating the notorious “But it runs on my machine” problem.
Start the Docker development server container with hot reloading. For more details, read about docker compose watch
on Docker’s blog.
docker compose watch
When you’re done, stop the Docker development server container:
docker compose down
Build and run the preview version of the site with the following commands:
docker build --target preview -t mjm-preview .
docker run -it --rm --name mjm-preview -p 4173:4173 mjm-preview
Releases are automated with the Release Please GitHub Action. This tool automates CHANGELOG generation, GitHub release creation, and Semantic Versioning bumps.
It works by parsing the project's Git history for Conventional Commit messages and automatically generating release pull requests (PRs).
These release PRs are continuously updated as new changes are pushed to the trunk
branch until the PR is merged for release.
Every push to trunk
deploys the build to the preview Cloudflare Pages environment, and when a release PR is merged, the site is deployed to the production Cloudflare Pages environment.
This entire process is automated with Github Actions. See deploy.yaml
for more details.
The following documents provide additional details about various aspects of the project:
docs/credits.md
- Acknowledgements and credits for contributions and resources that have supported the project.docs/dependencies.md
- A detailed list of project dependencies, including tools, libraries, and frameworks used throughout the website.docs/mindmap.md
- A mindmap to help brainstorm creative ideas for this project.docs/resources.md
- A collection of external resources, software, tools, guides, articles, tutorials, videos, and more relevant to the project's development and maintenance.
The code in this repository is licensed under the Apache License 2.0. You can freely use, modify, and distribute the code under the terms of this license. See the LICENSE_CODE
file for full details.
All non-code content, including artwork, images, writing, media files, and other creative materials, is © Matthew J. Moran, 2025. It is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0). See the LICENSE_CONTENT
file for full details.
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- NonCommercial — You may not use the material for commercial purposes.
- NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.
For uses beyond these terms, please contact [email protected].