initial commit

based on blog-v2
@06c7bff54eb6efc2cd3cc03183e5ab5818bf9d5e
This commit is contained in:
tmakin committed 2026-05-21 22:23:15 -05:00
commit e56b07249f
121 files changed
+1855

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
node_modules
Dockerfile*
docker-compose*
.dockerignore
.git
.gitignore
README.md
LICENSE
.vscode
Makefile
helm-charts
.env
.editorconfig
.idea
coverage*
+34
View File
@@ -0,0 +1,34 @@
# dependencies (bun install)
node_modules
# output
out
dist
*.tgz
# code coverage
coverage
*.lcov
# logs
logs
_.log
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# caches
.eslintcache
.cache
*.tsbuildinfo
# IntelliJ based IDEs
.idea
# Finder (MacOS) folder config
.DS_Store
+36
View File
@@ -0,0 +1,36 @@
# use the official Bun image
# see all versions at https://hub.docker.com/r/oven/bun/tags
FROM oven/bun:1 AS base
WORKDIR /usr/src/app
# install dependencies into temp directory
# this will cache them and speed up future builds
FROM base AS install
RUN mkdir -p /temp/dev
COPY package.json bun.lock /temp/dev/
RUN cd /temp/dev && bun install --frozen-lockfile
# install with --production (exclude devDependencies)
RUN mkdir -p /temp/prod
COPY package.json bun.lock /temp/prod/
RUN cd /temp/prod && bun install --frozen-lockfile --production
# copy node_modules from temp directory
# then copy all (non-ignored) project files into the image
FROM base AS prerelease
COPY --from=install /temp/dev/node_modules node_modules
COPY . .
# [optional] tests & build
ENV NODE_ENV=production
RUN bun run build
# copy production dependencies and source code into final image
FROM base AS release
COPY --from=install /temp/prod/node_modules node_modules
COPY --from=prerelease /usr/src/app/ .
USER bun
# overridden by compose
EXPOSE 3000/tcp
ENTRYPOINT [ "bun", "start" ]
+7
View File
@@ -0,0 +1,7 @@
Copyright 2026 Thomas Makin
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+27
View File
@@ -0,0 +1,27 @@
# Wedding Site
Personal site for wedding, copy paste of my blog.
## Running
To install dependencies:
```bash
bun install
```
To start a development server:
```bash
bun dev
```
To run for production:
```bash
bun start
```
## License
See [License.md]
MIT License, Copyright (c) Thomas Makin 2026
+160
View File
@@ -0,0 +1,160 @@
#!/usr/bin/env bun
import plugin from "bun-plugin-tailwind";
import { existsSync } from "fs";
import { rm } from "fs/promises";
import path from "path";
if (process.argv.includes("--help") || process.argv.includes("-h")) {
console.log(`
🏗️ Bun Build Script
Usage: bun run build.ts [options]
Common Options:
--outdir <path> Output directory (default: "dist")
--minify Enable minification (or --minify.whitespace, --minify.syntax, etc)
--sourcemap <type> Sourcemap type: none|linked|inline|external
--target <target> Build target: browser|bun|node
--format <format> Output format: esm|cjs|iife
--splitting Enable code splitting
--packages <type> Package handling: bundle|external
--public-path <path> Public path for assets
--env <mode> Environment handling: inline|disable|prefix*
--conditions <list> Package.json export conditions (comma separated)
--external <list> External packages (comma separated)
--banner <text> Add banner text to output
--footer <text> Add footer text to output
--define <obj> Define global constants (e.g. --define.VERSION=1.0.0)
--help, -h Show this help message
Example:
bun run build.ts --outdir=dist --minify --sourcemap=linked --external=react,react-dom
`);
process.exit(0);
}
const toCamelCase = (str: string): string => str.replace(/-([a-z])/g, (_, letter: string) => letter.toUpperCase());
const parseValue = (value: string): any => {
if (value === "true") return true;
if (value === "false") return false;
if (/^\d+$/.test(value)) return parseInt(value, 10);
if (/^\d*\.\d+$/.test(value)) return parseFloat(value);
if (value.includes(",")) return value.split(",").map(v => v.trim());
return value;
};
function parseArgs(): Partial<Bun.BuildConfig> {
const config: Record<string, unknown> = {};
const args = process.argv.slice(2);
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (arg === undefined) continue;
if (!arg.startsWith("--")) continue;
if (arg.startsWith("--no-")) {
const key = toCamelCase(arg.slice(5));
config[key] = false;
continue;
}
if (!arg.includes("=") && (i === args.length - 1 || args[i + 1]?.startsWith("--"))) {
const key = toCamelCase(arg.slice(2));
config[key] = true;
continue;
}
let key: string;
let value: string;
if (arg.includes("=")) {
[key, value] = arg.slice(2).split("=", 2) as [string, string];
} else {
key = arg.slice(2);
value = args[++i] ?? "";
}
key = toCamelCase(key);
if (key.includes(".")) {
const parts = key.split(".");
if (parts.length > 2) {
console.warn(
`Warning: Deeply nested option "${key}" is not supported. Only single-level nesting (e.g., --minify.whitespace) is allowed.`,
);
continue;
}
const parentKey = parts[0]!;
const childKey = parts[1]!;
const existing = config[parentKey];
if (typeof existing !== "object" || existing === null || Array.isArray(existing)) {
config[parentKey] = {};
}
(config[parentKey] as Record<string, unknown>)[childKey] = parseValue(value);
} else {
config[key] = parseValue(value);
}
}
return config as Partial<Bun.BuildConfig>;
}
const formatFileSize = (bytes: number): string => {
const units = ["B", "KB", "MB", "GB"];
let size = bytes;
let unitIndex = 0;
while (size >= 1024 && unitIndex < units.length - 1) {
size /= 1024;
unitIndex++;
}
return `${size.toFixed(2)} ${units[unitIndex]}`;
};
console.log("\n🚀 Starting build process...\n");
const cliConfig = parseArgs();
const outdir = cliConfig.outdir || path.join(process.cwd(), "dist");
if (existsSync(outdir)) {
console.log(`🗑️ Cleaning previous build at ${outdir}`);
await rm(outdir, { recursive: true, force: true });
}
const start = performance.now();
const entrypoints = [...new Bun.Glob("**.html").scanSync("src")]
.map(a => path.resolve("src", a))
.filter(dir => !dir.includes("node_modules"));
console.log(`📄 Found ${entrypoints.length} HTML ${entrypoints.length === 1 ? "file" : "files"} to process\n`);
const result = await Bun.build({
entrypoints,
outdir,
plugins: [plugin],
minify: true,
target: "browser",
sourcemap: "linked",
define: {
"process.env.NODE_ENV": JSON.stringify("production"),
},
...cliConfig,
});
const end = performance.now();
const outputTable = result.outputs.map(output => ({
File: path.relative(process.cwd(), output.path),
Type: output.kind,
Size: formatFileSize(output.size),
}));
console.table(outputTable);
const buildTime = (end - start).toFixed(2);
console.log(`\n✅ Build completed in ${buildTime}ms\n`);
+17
View File
@@ -0,0 +1,17 @@
// Generated by `bun init`
declare module "*.svg" {
/**
* A path to the SVG file
*/
const path: `${string}.svg`;
export = path;
}
declare module "*.module.css" {
/**
* A record of class names to their corresponding CSS module classes
*/
const classes: { readonly [key: string]: string };
export = classes;
}
+103
View File
@@ -0,0 +1,103 @@
{
"lockfileVersion": 1,
"configVersion": 1,
"workspaces": {
"": {
"name": "bun-react-template",
"dependencies": {
"@types/prismjs": "^1.26.5",
"bun-plugin-tailwind": "^0.1.2",
"gray-matter": "^4.0.3",
"prismjs": "^1.30.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-router": "^7.13.0",
"tailwindcss": "^4.1.18",
},
"devDependencies": {
"@types/bun": "latest",
"@types/react": "^19.2.13",
"@types/react-dom": "^19.2.3",
},
},
},
"packages": {
"@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.3.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-hPERz4IgXCM6Y6GdEEsJAFceyJMt29f3HlFzsvE/k+TQjChRhar6S+JggL35b9VmFfsdxyCOOTPqgnSrdV0etA=="],
"@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.3.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-SaWIxsRQYiT/eA60bqA4l8iNO7cJ6YD8ie82RerRp9voceBxPIZiwX4y20cTKy5qNaSGr9LxfYq7vDywTipiog=="],
"@oven/bun-darwin-x64-baseline": ["@oven/bun-darwin-x64-baseline@1.3.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-ArHVWpCRZI3vGLoN2/8ud8Kzqlgn1Gv+fNw+pMB9x18IzgAEhKxFxsWffnoaH21amam4tAOhpeewRIgdNtB0Cw=="],
"@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.3.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-rq0nNckobtS+ONoB95/Frfqr8jCtmSjjjEZlN4oyUx0KEBV11Vj4v3cDVaWzuI34ryL8FCog3HaqjfKn8R82Tw=="],
"@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.3.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-HvJmhrfipL7GtuqFz6xNpmf27NGcCOMwCalPjNR6fvkLpe8A7Z1+QbxKKjOglelmlmZc3Vi2TgDUtxSqfqOToQ=="],
"@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-YDgqVx1MI8E0oDbCEUSkAMBKKGnUKfaRtMdLh9Bjhu7JQacQ/ZCpxwi4HPf5Q0O1TbWRrdxGw2tA2Ytxkn7s1Q=="],
"@oven/bun-linux-x64-baseline": ["@oven/bun-linux-x64-baseline@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-3IkS3TuVOzMqPW6Gg9/8FEoKF/rpKZ9DZUfNy9GQ54+k4PGcXpptU3+dy8D4iDFCt4qe6bvoiAOdM44OOsZ+Wg=="],
"@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-o7Jm5zL4aw9UBs3BcZLVbgGm2V4F10MzAQAV+ziKzoEfYmYtvDqRVxgKEq7BzUOVy4LgfrfwzEXw5gAQGRrhQQ=="],
"@oven/bun-linux-x64-musl-baseline": ["@oven/bun-linux-x64-musl-baseline@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-5g8XJwHhcTh8SGoKO7pR54ILYDbuFkGo+68DOMTiVB5eLxuLET+Or/camHgk4QWp3nUS5kNjip4G8BE8i0rHVQ=="],
"@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.3.8", "", { "os": "win32", "cpu": "x64" }, "sha512-UDI3rowMm/tI6DIynpE4XqrOhr+1Ztk1NG707Wxv2nygup+anTswgCwjfjgmIe78LdoRNFrux2GpeolhQGW6vQ=="],
"@oven/bun-windows-x64-baseline": ["@oven/bun-windows-x64-baseline@1.3.8", "", { "os": "win32", "cpu": "x64" }, "sha512-K6qBUKAZLXsjAwFxGTG87dsWlDjyDl2fqjJr7+x7lmv2m+aSEzmLOK+Z5pSvGkpjBp3LXV35UUgj8G0UTd0pPg=="],
"@types/bun": ["@types/bun@1.3.8", "", { "dependencies": { "bun-types": "1.3.8" } }, "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA=="],
"@types/node": ["@types/node@25.1.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA=="],
"@types/prismjs": ["@types/prismjs@1.26.5", "", {}, "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ=="],
"@types/react": ["@types/react@19.2.13", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ=="],
"@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="],
"argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="],
"bun": ["bun@1.3.8", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.3.8", "@oven/bun-darwin-x64": "1.3.8", "@oven/bun-darwin-x64-baseline": "1.3.8", "@oven/bun-linux-aarch64": "1.3.8", "@oven/bun-linux-aarch64-musl": "1.3.8", "@oven/bun-linux-x64": "1.3.8", "@oven/bun-linux-x64-baseline": "1.3.8", "@oven/bun-linux-x64-musl": "1.3.8", "@oven/bun-linux-x64-musl-baseline": "1.3.8", "@oven/bun-windows-x64": "1.3.8", "@oven/bun-windows-x64-baseline": "1.3.8" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-TmmtMGQSXY3o0enSMMkvR5g7Dw/2n2oylAUprLVdqA8pDPBoKbzgOmmgHOtvnfRznFppl+Gu2cid3vgAjcNoSg=="],
"bun-plugin-tailwind": ["bun-plugin-tailwind@0.1.2", "", { "peerDependencies": { "bun": ">=1.0.0" } }, "sha512-41jNC1tZRSK3s1o7pTNrLuQG8kL/0vR/JgiTmZAJ1eHwe0w5j6HFPKeqEk0WAD13jfrUC7+ULuewFBBCoADPpg=="],
"bun-types": ["bun-types@1.3.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q=="],
"cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="],
"csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
"esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
"extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="],
"gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="],
"is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="],
"js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="],
"kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="],
"prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="],
"react": ["react@19.2.4", "", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="],
"react-dom": ["react-dom@19.2.4", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.4" } }, "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ=="],
"react-router": ["react-router@7.13.0", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw=="],
"scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="],
"section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="],
"set-cookie-parser": ["set-cookie-parser@2.7.2", "", {}, "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw=="],
"sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="],
"strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="],
"tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="],
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
}
}
+6
View File
@@ -0,0 +1,6 @@
telemetry = false
[serve.static]
plugins = ["bun-plugin-tailwind"]
env = "BUN_PUBLIC_*"
+27
View File
@@ -0,0 +1,27 @@
services:
blog:
container_name: blog
hostname: 'thomasmak.in'
build:
context: .
dockerfile: ./Dockerfile
restart: unless-stopped
volumes:
- ./_posts:/usr/src/app/_posts
labels:
- 'traefik.enable=true'
- 'traefik.docker.network=traefik'
- 'traefik.port=80'
- 'traefik.http.routers.blog.entrypoints=https'
- 'traefik.http.routers.blog.rule=Host(`wedding.thomasmak.in`)'
- 'traefik.http.routers.blog.tls=true'
- 'traefik.http.routers.blog.tls.certresolver=letsEncrypt'
- 'traefik.http.routers.blog.middlewares=default@file'
- 'traefik.http.services.blog.loadbalancer.server.port=3000'
networks:
- traefik
command: [ "bun", "start" ]
networks:
traefik:
driver: bridge
external: true
+312
View File
@@ -0,0 +1,312 @@
{
"name": "wedding-site",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bun-react-template",
"version": "0.1.0",
"dependencies": {
"bun-plugin-tailwind": "^0.1.2",
"gray-matter": "^4.0.3",
"react": "^19",
"react-dom": "^19",
"react-router": "^7.13.0",
"tailwindcss": "^4.1.11"
},
"devDependencies": {
"@types/bun": "latest",
"@types/react": "^19",
"@types/react-dom": "^19"
}
},
"node_modules/@oven/bun-linux-x64": {
"version": "1.3.8",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true
},
"node_modules/@oven/bun-linux-x64-baseline": {
"version": "1.3.8",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true
},
"node_modules/@oven/bun-linux-x64-musl": {
"version": "1.3.8",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true
},
"node_modules/@oven/bun-linux-x64-musl-baseline": {
"version": "1.3.8",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"peer": true
},
"node_modules/@types/bun": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.8.tgz",
"integrity": "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA==",
"dev": true,
"license": "MIT",
"dependencies": {
"bun-types": "1.3.8"
}
},
"node_modules/@types/node": {
"version": "25.1.0",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
}
},
"node_modules/@types/react": {
"version": "19.2.10",
"dev": true,
"license": "MIT",
"dependencies": {
"csstype": "^3.2.2"
}
},
"node_modules/@types/react-dom": {
"version": "19.2.3",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@types/react": "^19.2.0"
}
},
"node_modules/argparse": {
"version": "1.0.10",
"license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
},
"node_modules/bun": {
"version": "1.3.8",
"cpu": [
"arm64",
"x64"
],
"hasInstallScript": true,
"license": "MIT",
"os": [
"darwin",
"linux",
"win32"
],
"peer": true,
"bin": {
"bun": "bin/bun.exe",
"bunx": "bin/bunx.exe"
},
"optionalDependencies": {
"@oven/bun-darwin-aarch64": "1.3.8",
"@oven/bun-darwin-x64": "1.3.8",
"@oven/bun-darwin-x64-baseline": "1.3.8",
"@oven/bun-linux-aarch64": "1.3.8",
"@oven/bun-linux-aarch64-musl": "1.3.8",
"@oven/bun-linux-x64": "1.3.8",
"@oven/bun-linux-x64-baseline": "1.3.8",
"@oven/bun-linux-x64-musl": "1.3.8",
"@oven/bun-linux-x64-musl-baseline": "1.3.8",
"@oven/bun-windows-x64": "1.3.8",
"@oven/bun-windows-x64-baseline": "1.3.8"
}
},
"node_modules/bun-plugin-tailwind": {
"version": "0.1.2",
"license": "MIT",
"peerDependencies": {
"bun": ">=1.0.0"
}
},
"node_modules/bun-types": {
"version": "1.3.8",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/cookie": {
"version": "1.1.1",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/csstype": {
"version": "3.2.3",
"dev": true,
"license": "MIT"
},
"node_modules/esprima": {
"version": "4.0.1",
"license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/extend-shallow": {
"version": "2.0.1",
"license": "MIT",
"dependencies": {
"is-extendable": "^0.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/gray-matter": {
"version": "4.0.3",
"license": "MIT",
"dependencies": {
"js-yaml": "^3.13.1",
"kind-of": "^6.0.2",
"section-matter": "^1.0.0",
"strip-bom-string": "^1.0.0"
},
"engines": {
"node": ">=6.0"
}
},
"node_modules/is-extendable": {
"version": "0.1.1",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/js-yaml": {
"version": "3.14.2",
"license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/kind-of": {
"version": "6.0.3",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react": {
"version": "19.2.4",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
"version": "19.2.4",
"license": "MIT",
"dependencies": {
"scheduler": "^0.27.0"
},
"peerDependencies": {
"react": "^19.2.4"
}
},
"node_modules/react-router": {
"version": "7.13.0",
"license": "MIT",
"dependencies": {
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0"
},
"engines": {
"node": ">=20.0.0"
},
"peerDependencies": {
"react": ">=18",
"react-dom": ">=18"
},
"peerDependenciesMeta": {
"react-dom": {
"optional": true
}
}
},
"node_modules/scheduler": {
"version": "0.27.0",
"license": "MIT"
},
"node_modules/section-matter": {
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"extend-shallow": "^2.0.1",
"kind-of": "^6.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/set-cookie-parser": {
"version": "2.7.2",
"license": "MIT"
},
"node_modules/sprintf-js": {
"version": "1.0.3",
"license": "BSD-3-Clause"
},
"node_modules/strip-bom-string": {
"version": "1.0.0",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tailwindcss": {
"version": "4.1.18",
"license": "MIT"
},
"node_modules/undici-types": {
"version": "7.16.0",
"dev": true,
"license": "MIT"
}
}
}
+26
View File
@@ -0,0 +1,26 @@
{
"name": "wedding-site",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "bun --hot src/index.ts",
"start": "NODE_ENV=production bun src/index.ts",
"build": "bun run build.ts"
},
"dependencies": {
"@types/prismjs": "^1.26.5",
"bun-plugin-tailwind": "^0.1.2",
"gray-matter": "^4.0.3",
"prismjs": "^1.30.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-router": "^7.13.0",
"tailwindcss": "^4.1.18"
},
"devDependencies": {
"@types/bun": "latest",
"@types/react": "^19.2.13",
"@types/react-dom": "^19.2.3"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 MiB

Binary file not shown.
+38
View File
@@ -0,0 +1,38 @@
<svg width="3420" height="746" viewBox="0 0 3420 746" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_865_17)">
<path d="M1466.64 381.672H1370.47L1369.77 250.422H1403.98L1466.64 381.672Z" fill="#CAE8FF"/>
<path d="M2010.78 512.922H1501.8C1429.3 512.922 1370.55 454.172 1370.55 381.672H1937.42C2010.39 381.672 2051.8 422.062 2051.8 471.828C2051.8 494.484 2033.44 512.922 2010.78 512.922Z" fill="#DAE5FF"/>
<path d="M1407.19 472.297C1431.09 497.141 1464.61 512.609 1501.88 512.609H2010.78C2033.2 512.609 2051.41 494.641 2051.8 472.297H1407.19Z" fill="#FFACC2"/>
<path d="M1916.64 404.328H1941.64V437.141H1916.64V404.328Z" fill="white"/>
<path d="M1941.64 442.609H1916.64C1913.2 442.609 1910.39 440.188 1910.39 437.141V404.328C1910.39 401.281 1913.2 398.859 1916.64 398.859H1941.64C1945.08 398.859 1947.89 401.281 1947.89 404.328V437.141C1947.89 440.109 1945.16 442.609 1941.64 442.609ZM1922.89 431.672H1935.39V409.797H1922.89V431.672Z" fill="#9A2D2F"/>
<path d="M1477.58 437.141H1461.95C1459.38 437.141 1457.27 435.031 1457.27 432.453V409.016C1457.27 406.438 1459.38 404.328 1461.95 404.328H1477.58C1480.16 404.328 1482.27 406.438 1482.27 409.016V432.453C1482.27 435.031 1480.23 437.141 1477.58 437.141Z" fill="white"/>
<path d="M1477.58 442.609H1461.95C1455.94 442.609 1451.02 438.313 1451.02 433.078V408.469C1451.02 403.156 1455.94 398.938 1461.95 398.938H1477.58C1483.59 398.938 1488.52 403.234 1488.52 408.469V433.078C1488.52 438.313 1483.67 442.609 1477.58 442.609ZM1463.52 431.672H1476.02V409.797H1463.52V431.672ZM1881.48 410.578H1878.36C1875.78 410.578 1873.67 412.688 1873.67 415.266V421.516C1873.67 424.094 1875.78 426.203 1878.36 426.203H1881.48C1884.06 426.203 1886.17 424.094 1886.17 421.516V415.266C1886.17 412.688 1884.14 410.578 1881.48 410.578ZM1857.27 410.578H1854.14C1851.56 410.578 1849.45 412.297 1849.45 414.484V422.297C1849.45 424.484 1851.56 426.203 1854.14 426.203H1857.27C1859.84 426.203 1861.95 424.484 1861.95 422.297V414.484C1861.95 412.297 1859.92 410.578 1857.27 410.578ZM1833.05 410.578H1829.92C1827.34 410.578 1825.23 412.297 1825.23 414.484V422.297C1825.23 424.484 1827.34 426.203 1829.92 426.203H1833.05C1835.62 426.203 1837.73 424.484 1837.73 422.297V414.484C1837.73 412.297 1835.7 410.578 1833.05 410.578ZM1808.83 410.578H1805.7C1803.13 410.578 1801.02 412.297 1801.02 414.484V422.297C1801.02 424.484 1803.13 426.203 1805.7 426.203H1808.83C1811.41 426.203 1813.52 424.484 1813.52 422.297V414.484C1813.52 412.297 1811.48 410.578 1808.83 410.578ZM1784.61 410.578H1781.48C1778.91 410.578 1776.8 412.297 1776.8 414.484V422.297C1776.8 424.484 1778.91 426.203 1781.48 426.203H1784.61C1787.19 426.203 1789.3 424.484 1789.3 422.297V414.484C1789.3 412.297 1787.27 410.578 1784.61 410.578ZM1761.17 410.578H1758.05C1755.47 410.578 1753.36 412.297 1753.36 414.484V422.297C1753.36 424.484 1755.47 426.203 1758.05 426.203H1761.17C1763.75 426.203 1765.86 424.484 1765.86 422.297V414.484C1765.86 412.297 1763.83 410.578 1761.17 410.578ZM1736.95 410.578H1733.83C1731.25 410.578 1729.14 412.297 1729.14 414.484V422.297C1729.14 424.484 1731.25 426.203 1733.83 426.203H1736.95C1739.53 426.203 1741.64 424.484 1741.64 422.297V414.484C1741.64 412.297 1739.61 410.578 1736.95 410.578ZM1712.73 410.578H1709.61C1707.03 410.578 1704.92 412.297 1704.92 414.484V422.297C1704.92 424.484 1707.03 426.203 1709.61 426.203H1712.73C1715.31 426.203 1717.42 424.484 1717.42 422.297V414.484C1717.42 412.297 1715.39 410.578 1712.73 410.578ZM1543.2 410.578H1540.08C1537.5 410.578 1535.39 412.297 1535.39 414.484V422.297C1535.39 424.484 1537.5 426.203 1540.08 426.203H1543.2C1545.78 426.203 1547.89 424.484 1547.89 422.297V414.484C1547.89 412.297 1545.86 410.578 1543.2 410.578ZM1518.98 410.578H1515.86C1513.28 410.578 1511.17 412.688 1511.17 415.266V421.516C1511.17 424.094 1513.28 426.203 1515.86 426.203H1518.98C1521.56 426.203 1523.67 424.094 1523.67 421.516V415.266C1523.67 412.688 1521.64 410.578 1518.98 410.578Z" fill="#9A2D2F"/>
<path d="M2052.58 644.953C2041.8 644.953 2036.41 637.297 2032.5 631.672C2028.52 625.969 2026.48 623.703 2022.58 623.703C2018.67 623.703 2016.72 626.047 2012.66 631.672C2008.67 637.297 2003.28 644.953 1992.58 644.953C1981.8 644.953 1976.41 637.297 1972.5 631.672C1968.52 625.969 1966.48 623.703 1962.58 623.703C1958.67 623.703 1956.72 626.047 1952.66 631.672C1948.67 637.297 1943.28 644.953 1932.58 644.953C1921.8 644.953 1916.41 637.297 1912.5 631.672C1908.52 625.969 1906.48 623.703 1902.58 623.703C1899.14 623.703 1896.33 620.891 1896.33 617.453C1896.33 614.016 1899.14 611.203 1902.58 611.203C1913.36 611.203 1918.75 618.859 1922.66 624.484C1926.64 630.187 1928.67 632.453 1932.58 632.453C1936.48 632.453 1938.44 630.109 1942.5 624.484C1946.48 618.859 1951.87 611.203 1962.58 611.203C1973.28 611.203 1978.75 618.859 1982.66 624.484C1986.64 630.187 1988.67 632.453 1992.58 632.453C1996.48 632.453 1998.44 630.109 2002.5 624.484C2006.48 618.859 2011.87 611.203 2022.58 611.203C2033.28 611.203 2038.75 618.859 2042.66 624.484C2046.64 630.187 2048.67 632.453 2052.58 632.453C2056.02 632.453 2058.83 635.266 2058.83 638.703C2058.83 642.141 2056.09 644.953 2052.58 644.953ZM2052.58 605.891C2041.8 605.891 2036.41 598.234 2032.5 592.609C2028.52 586.906 2026.48 584.641 2022.58 584.641C2018.67 584.641 2016.72 586.984 2012.66 592.609C2008.67 598.234 2003.28 605.891 1992.58 605.891C1981.8 605.891 1976.41 598.234 1972.5 592.609C1968.52 586.906 1966.48 584.641 1962.58 584.641C1958.67 584.641 1956.72 586.984 1952.66 592.609C1948.67 598.234 1943.28 605.891 1932.58 605.891C1921.8 605.891 1916.41 598.234 1912.5 592.609C1908.52 586.906 1906.48 584.641 1902.58 584.641C1899.14 584.641 1896.33 581.828 1896.33 578.391C1896.33 574.953 1899.14 572.141 1902.58 572.141C1913.36 572.141 1918.75 579.797 1922.66 585.422C1926.64 591.125 1928.67 593.391 1932.58 593.391C1936.48 593.391 1938.44 591.047 1942.5 585.422C1946.48 579.797 1951.87 572.141 1962.58 572.141C1973.28 572.141 1978.75 579.797 1982.66 585.422C1986.64 591.125 1988.67 593.391 1992.58 593.391C1996.48 593.391 1998.44 591.047 2002.5 585.422C2006.48 579.797 2011.87 572.141 2022.58 572.141C2033.28 572.141 2038.75 579.797 2042.66 585.422C2046.64 591.125 2048.67 593.391 2052.58 593.391C2056.02 593.391 2058.83 596.203 2058.83 599.641C2058.83 603.078 2056.09 605.891 2052.58 605.891ZM1498.75 205.813C1488.67 205.813 1483.75 197.922 1480.16 192.219C1476.8 186.828 1475.08 184.484 1472.19 184.484C1469.3 184.484 1467.58 186.828 1464.22 192.219C1460.62 197.922 1455.7 205.813 1445.63 205.813C1435.55 205.813 1430.63 197.922 1427.03 192.219C1423.67 186.828 1421.95 184.484 1419.06 184.484C1416.17 184.484 1414.45 186.828 1411.09 192.219C1407.5 197.922 1402.58 205.813 1392.5 205.813C1382.42 205.813 1377.5 197.922 1373.91 192.219C1370.55 186.828 1368.83 184.484 1365.94 184.484C1362.5 184.484 1359.69 181.672 1359.69 178.234C1359.69 174.797 1362.5 171.984 1365.94 171.984C1376.02 171.984 1380.94 179.875 1384.53 185.578C1387.89 190.969 1389.61 193.313 1392.5 193.313C1395.39 193.313 1397.11 190.969 1400.47 185.578C1404.06 179.875 1408.98 171.984 1419.06 171.984C1429.14 171.984 1434.06 179.875 1437.66 185.578C1441.02 190.969 1442.73 193.313 1445.63 193.313C1448.52 193.313 1450.23 190.969 1453.59 185.578C1457.19 179.875 1462.11 171.984 1472.19 171.984C1482.27 171.984 1487.19 179.875 1490.78 185.578C1494.14 190.969 1495.86 193.313 1498.75 193.313C1502.19 193.313 1505 196.125 1505 199.563C1505 203 1502.19 205.813 1498.75 205.813ZM1515.86 166.75C1505.08 166.75 1499.69 159.094 1495.78 153.469C1491.8 147.766 1489.77 145.5 1485.86 145.5C1481.95 145.5 1480 147.844 1475.94 153.469C1471.95 159.094 1466.56 166.75 1455.86 166.75C1445.08 166.75 1439.69 159.094 1435.78 153.469C1431.8 147.766 1429.77 145.5 1425.86 145.5C1421.95 145.5 1420 147.844 1415.94 153.469C1411.95 159.094 1406.56 166.75 1395.86 166.75C1385.08 166.75 1379.69 159.094 1375.78 153.469C1371.8 147.766 1369.77 145.5 1365.86 145.5C1362.42 145.5 1359.61 142.688 1359.61 139.25C1359.61 135.812 1362.42 133 1365.86 133C1376.64 133 1382.03 140.656 1385.94 146.281C1389.92 151.984 1391.95 154.25 1395.86 154.25C1399.77 154.25 1401.72 151.906 1405.78 146.281C1409.77 140.656 1415.16 133 1425.86 133C1436.56 133 1442.03 140.656 1445.94 146.281C1449.92 151.984 1451.95 154.25 1455.86 154.25C1459.77 154.25 1461.72 151.906 1465.78 146.281C1469.77 140.656 1475.16 133 1485.86 133C1496.56 133 1502.03 140.656 1505.94 146.281C1509.92 151.984 1511.95 154.25 1515.86 154.25C1519.3 154.25 1522.11 157.063 1522.11 160.5C1522.11 163.938 1519.38 166.75 1515.86 166.75Z" fill="#FB64BF"/>
<path d="M1492.03 387.922C1495.16 395.5 1507.66 404.641 1529.14 402.922C1580.31 398.859 1632.19 392.297 1688.52 395.734C1795.16 402.141 1869.06 396.906 1901.48 394.172C1913.83 393.156 1939.3 391.437 1950.62 388.391C1946.33 388.078 1941.95 387.922 1937.42 387.922H1492.03Z" fill="white"/>
<path d="M1822.73 512.531H1666.56L1514.92 353.938H1558.91L1822.73 512.531Z" fill="#FFACC2"/>
<path d="M1857.89 537.922H1803.2C1796.33 537.922 1790.7 532.297 1790.7 525.422V503.547C1790.7 496.672 1796.33 491.047 1803.2 491.047H1857.89C1864.77 491.047 1870.39 496.672 1870.39 503.547V525.422C1870.39 532.297 1864.77 537.922 1857.89 537.922Z" fill="#CAE8FF"/>
<path d="M2026.02 403.313C2004.22 385.109 1973.59 375.422 1937.42 375.422H1606.8L1562.19 348.547C1561.25 348 1560.08 347.688 1558.98 347.688H1515C1512.5 347.688 1510.23 349.172 1509.22 351.516C1508.2 353.781 1508.75 356.516 1510.47 358.312L1526.88 375.5H1470.47L1409.53 247.531C1408.44 245.5 1406.33 244.25 1404.06 244.25H1369.77C1368.13 244.25 1366.48 244.875 1365.31 246.125C1364.14 247.297 1363.52 248.938 1363.52 250.578L1364.22 381.828C1364.22 382.141 1364.22 382.453 1364.3 382.766C1364.84 458.156 1426.33 519.328 1501.8 519.328H1784.45V525.578C1784.45 535.891 1792.89 544.328 1803.2 544.328H1857.89C1868.2 544.328 1876.64 535.891 1876.64 525.578V519.328H2010.78C2036.88 519.328 2058.12 498.078 2058.12 471.984C2058.05 444.953 2046.72 420.578 2026.02 403.313ZM1937.42 387.922C1970.62 387.922 1998.52 396.516 2017.97 412.844C2034.3 426.516 2043.83 445.188 2045.31 466.047H1757.5L1690.55 425.813C1692.11 425.188 1693.2 423.859 1693.2 422.297V414.484C1693.2 412.297 1691.09 410.578 1688.52 410.578H1685.39C1682.81 410.578 1680.7 412.297 1680.7 414.484V419.875L1627.58 387.922H1937.42ZM1376.09 256.672H1400.31L1456.25 375.422H1376.72L1376.09 256.672ZM1376.95 387.922H1538.75L1561.33 411.516C1560.31 412.219 1559.69 413.313 1559.69 414.484V422.297C1559.69 424.484 1561.8 426.203 1564.38 426.203H1567.5C1569.92 426.203 1571.87 424.719 1572.11 422.766L1613.52 466.047H1409.69C1390.62 445.188 1378.44 417.922 1376.95 387.922ZM1550.86 506.359H1501.8C1472.73 506.359 1445.31 496.594 1423.13 478.547H1625.31L1652.03 506.438L1550.86 506.359ZM1784.45 503.547V506.281H1669.22L1529.53 360.188H1557.19L1785.47 497.453C1784.84 499.328 1784.45 501.359 1784.45 503.547ZM1864.14 525.422C1864.14 528.859 1861.33 531.672 1857.89 531.672H1803.2C1799.77 531.672 1796.95 528.859 1796.95 525.422V503.547C1796.95 500.109 1799.77 497.297 1803.2 497.297H1857.89C1861.33 497.297 1864.14 500.109 1864.14 503.547V525.422ZM2010.78 506.359L1876.64 506.672V503.547C1876.64 493.234 1868.2 484.797 1857.89 484.797H1803.2C1799.61 484.797 1796.25 485.813 1793.36 487.609L1778.28 478.547H2044.77C2041.56 494.328 2027.42 506.359 2010.78 506.359Z" fill="#FB64BF"/>
<path d="M2826.25 211.063C2822.34 211.063 2820.39 208.719 2816.33 203.094C2812.34 197.469 2806.95 189.812 2796.25 189.812C2785.55 189.812 2780.08 197.469 2776.17 203.094C2772.19 208.797 2770.16 211.063 2766.25 211.063C2762.34 211.063 2760.39 208.719 2756.33 203.094C2752.34 197.469 2746.95 189.812 2736.25 189.812C2725.55 189.812 2720.08 197.469 2716.17 203.094C2712.19 208.797 2710.16 211.063 2706.25 211.063C2702.34 211.063 2700.39 208.719 2696.33 203.094C2692.34 197.469 2686.95 189.812 2676.25 189.812C2672.81 189.812 2670 192.625 2670 196.062C2670 199.5 2672.81 202.312 2676.25 202.312C2680.16 202.312 2682.11 204.656 2686.17 210.281C2690.16 215.906 2695.55 223.563 2706.25 223.563C2716.95 223.563 2722.42 215.906 2726.33 210.281C2730.31 204.578 2732.34 202.312 2736.25 202.312C2740.16 202.312 2742.11 204.656 2746.17 210.281C2750.16 215.906 2755.55 223.563 2766.25 223.563C2777.03 223.563 2782.42 215.906 2786.33 210.281C2790.31 204.578 2792.34 202.312 2796.25 202.312C2800.16 202.312 2802.11 204.656 2806.17 210.281C2810.16 215.906 2815.55 223.563 2826.25 223.563C2829.69 223.563 2832.5 220.75 2832.5 217.313C2832.5 213.875 2829.69 211.063 2826.25 211.063ZM2676.25 163.25C2680.16 163.25 2682.11 165.594 2686.17 171.219C2690.16 176.844 2695.55 184.5 2706.25 184.5C2716.95 184.5 2722.42 176.844 2726.33 171.219C2730.31 165.516 2732.34 163.25 2736.25 163.25C2740.16 163.25 2742.11 165.594 2746.17 171.219C2750.16 176.844 2755.55 184.5 2766.25 184.5C2777.03 184.5 2782.42 176.844 2786.33 171.219C2790.31 165.516 2792.34 163.25 2796.25 163.25C2800.16 163.25 2802.11 165.594 2806.17 171.219C2810.16 176.844 2815.55 184.5 2826.25 184.5C2829.69 184.5 2832.5 181.688 2832.5 178.25C2832.5 174.813 2829.69 172 2826.25 172C2822.34 172 2820.39 169.656 2816.33 164.031C2812.34 158.406 2806.95 150.75 2796.25 150.75C2785.55 150.75 2780.08 158.406 2776.17 164.031C2772.19 169.734 2770.16 172 2766.25 172C2762.34 172 2760.39 169.656 2756.33 164.031C2752.34 158.406 2746.95 150.75 2736.25 150.75C2725.55 150.75 2720.08 158.406 2716.17 164.031C2712.19 169.734 2710.16 172 2706.25 172C2702.34 172 2700.39 169.656 2696.33 164.031C2692.34 158.406 2686.95 150.75 2676.25 150.75C2672.81 150.75 2670 153.562 2670 157C2670 160.438 2672.81 163.25 2676.25 163.25Z" fill="#FB64BF"/>
<path d="M3329.38 744.969H2712.19L3028.36 65.2812L3329.38 744.969Z" fill="#E895AF"/>
<path d="M3243.44 744.969H2712.19L3028.36 65.2812L3243.44 744.969Z" fill="#FFACC2"/>
<path d="M3081.56 234.031L3028.13 65.2812L2949.69 234.031L3012.27 212.938L3027.66 234.031H3081.56Z" fill="white"/>
<path d="M3363.75 539.187C3359.84 539.187 3357.89 536.844 3353.83 531.219C3349.84 525.594 3344.45 517.938 3333.75 517.938C3323.05 517.938 3317.58 525.594 3313.67 531.219C3309.69 536.922 3307.66 539.187 3303.75 539.187C3299.84 539.187 3297.89 536.844 3293.83 531.219C3289.84 525.594 3284.45 517.938 3273.75 517.938C3263.05 517.938 3257.58 525.594 3253.67 531.219C3250.16 536.219 3248.12 538.641 3245.08 539.109L3231.41 508.25C3234.53 510.75 3238.52 512.625 3243.75 512.625C3254.53 512.625 3259.92 504.969 3263.83 499.344C3267.81 493.641 3269.84 491.375 3273.75 491.375C3277.66 491.375 3279.61 493.719 3283.67 499.344C3287.66 504.969 3293.05 512.625 3303.75 512.625C3314.53 512.625 3319.92 504.969 3323.83 499.344C3327.81 493.641 3329.84 491.375 3333.75 491.375C3337.66 491.375 3339.61 493.719 3343.67 499.344C3347.66 504.969 3353.05 512.625 3363.75 512.625C3367.19 512.625 3370 509.812 3370 506.375C3370 502.937 3367.19 500.125 3363.75 500.125C3359.84 500.125 3357.89 497.781 3353.83 492.156C3349.84 486.531 3344.45 478.875 3333.75 478.875C3323.05 478.875 3317.58 486.531 3313.67 492.156C3309.69 497.859 3307.66 500.125 3303.75 500.125C3299.84 500.125 3297.89 497.781 3293.83 492.156C3289.84 486.531 3284.45 478.875 3273.75 478.875C3263.05 478.875 3257.58 486.531 3253.67 492.156C3249.69 497.859 3247.66 500.125 3243.75 500.125C3239.84 500.125 3237.89 497.781 3233.83 492.156C3230.55 487.469 3226.17 481.297 3218.59 479.422L3034.06 62.7813C3034.06 62.7031 3033.98 62.7031 3033.98 62.625C3033.98 62.5469 3033.91 62.4688 3033.83 62.3906C3033.75 62.2344 3033.59 62 3033.52 61.8438C3033.44 61.7656 3033.44 61.6875 3033.36 61.6094C3033.2 61.4531 3033.12 61.2969 3032.97 61.1406L3032.73 60.9063C3032.58 60.75 3032.42 60.5938 3032.27 60.5156C3032.19 60.4375 3032.11 60.3594 3032.03 60.3594C3031.88 60.2812 3031.72 60.125 3031.56 60.0469C3031.48 59.9688 3031.33 59.9688 3031.25 59.8906L3030.78 59.6563C3030.7 59.5781 3030.55 59.5781 3030.47 59.5C3030.31 59.4219 3030.16 59.4219 3029.92 59.3438C3029.77 59.3438 3029.69 59.2656 3029.53 59.2656C3029.38 59.2656 3029.14 59.1875 3028.98 59.1875H3028.44H3027.58C3027.42 59.1875 3027.27 59.2656 3027.11 59.2656C3027.03 59.2656 3026.88 59.2656 3026.8 59.3438C3024.92 59.7344 3023.28 60.9844 3022.42 62.7813L2944.06 231.375C2943.91 231.766 2943.75 232.156 2943.67 232.547L2708.2 738.719H2699.69C2696.25 738.719 2693.44 741.531 2693.44 744.969C2693.44 748.406 2696.25 751.219 2699.69 751.219H3343.44C3346.88 751.219 3349.69 748.406 3349.69 744.969C3349.69 741.531 3346.88 738.719 3343.44 738.719H3333.44L3250.16 550.672C3256.8 548.406 3260.78 542.781 3263.83 538.406C3267.81 532.703 3269.84 530.438 3273.75 530.438C3277.66 530.438 3279.61 532.781 3283.67 538.406C3287.66 544.031 3293.05 551.687 3303.75 551.687C3314.53 551.687 3319.92 544.031 3323.83 538.406C3327.81 532.703 3329.84 530.438 3333.75 530.438C3337.66 530.438 3339.61 532.781 3343.67 538.406C3347.66 544.031 3353.05 551.687 3363.75 551.687C3367.19 551.687 3370 548.875 3370 545.437C3370 542 3367.19 539.187 3363.75 539.187ZM3027.11 82.7031L3073.05 227.781H3030.86L3017.34 209.266C3015.7 207.078 3012.89 206.141 3010.31 207L2961.72 223.406L3027.11 82.7031ZM2722.03 738.719L2954.45 239.031L3010 220.359L3022.66 237.703C3023.83 239.344 3025.7 240.281 3027.73 240.281H3077.19L3234.92 738.719H2722.03ZM3248.05 738.719L3068.36 171.141L3319.77 738.719H3248.05Z" fill="#FB64BF"/>
<path d="M3145 744.578H2712.19L2933.91 268.797L3145 744.578Z" fill="#DAE5FF"/>
<path d="M3084.06 744.578H2712.19L2933.52 268.797L3084.06 744.578Z" fill="#CAE8FF"/>
<path d="M2970.78 386.766L2933.44 268.797L2878.59 386.766L2922.34 372L2933.12 386.766H2970.78Z" fill="white"/>
<path d="M3150.7 742.078L2939.61 266.297C2938.59 264.031 2936.41 262.625 2933.98 262.547H2933.75H2932.89C2930.7 262.703 2928.67 264.109 2927.73 266.141L2872.89 384.109C2872.89 384.188 2872.89 384.187 2872.81 384.266L2706.56 741.922C2706.02 743.094 2705.86 744.422 2706.09 745.75C2706.09 745.906 2706.17 746.141 2706.25 746.297C2706.25 746.375 2706.25 746.453 2706.33 746.531C2706.33 746.609 2706.41 746.687 2706.41 746.766C2706.56 747.156 2706.72 747.547 2706.95 747.937C2707.81 749.266 2709.14 750.203 2710.63 750.594C2710.7 750.594 2710.78 750.594 2710.94 750.672C2711.33 750.75 2711.8 750.828 2712.19 750.828H3145C3147.11 750.828 3149.06 749.734 3150.23 748.016C3151.41 746.219 3151.56 743.953 3150.7 742.078ZM2932.5 286.531L2962.27 380.516H2936.33L2927.42 368.328C2925.78 366.141 2922.97 365.203 2920.39 366.062L2890.86 376.062L2932.5 286.531ZM2722.03 738.328L2883.52 391.687L2920 379.422L2928.05 390.438C2929.22 392.078 2931.09 393.016 2933.12 393.016H2966.25L3075.55 738.328H2722.03ZM3088.67 738.328L2972.34 370.906L3135.39 738.328H3088.67Z" fill="#FB64BF"/>
<path d="M2820.47 497.391L2706.33 682.078C2719.38 673.641 2731.56 668.406 2742.73 664.266L2820.47 497.391ZM2801.64 629.344C2817.27 600.203 2808.28 538.719 2848.91 512.547C2878.59 493.406 2886.41 463.719 2886.41 443.406C2886.41 428.641 2880.94 415.672 2875.55 408.797L2759.14 658.641C2777.73 652.312 2792.34 646.687 2801.64 629.344Z" fill="white"/>
<path d="M631.016 744.969H280.234V152L502.969 69.9688L631.016 152V744.969Z" fill="#F7D4FF"/>
<path d="M502.891 744.969H280.234V152L502.891 69.9688V744.969Z" fill="#B5FFD5"/>
<path d="M409.141 745.359H163.828V330.516L319.297 272.703L409.141 330.516V745.359Z" fill="#DAE5FF"/>
<path d="M319.062 745.359H163.828V330.437L319.297 272.703L319.062 745.359Z" fill="#CAE8FF"/>
<path d="M743.516 538.406C739.609 538.406 737.656 536.063 733.594 530.438C729.609 524.813 724.219 517.156 713.516 517.156C702.812 517.156 697.344 524.813 693.438 530.438C689.453 536.141 687.422 538.406 683.516 538.406C679.609 538.406 677.656 536.063 673.594 530.438C669.609 524.813 664.219 517.156 653.516 517.156C645.859 517.156 640.937 521.063 637.266 525.359V506.375C639.922 503.953 641.875 501.062 643.672 498.641C647.656 492.938 649.688 490.672 653.594 490.672C657.5 490.672 659.453 493.016 663.516 498.641C667.5 504.266 672.891 511.922 683.594 511.922C694.297 511.922 699.766 504.266 703.672 498.641C707.656 492.938 709.688 490.672 713.594 490.672C717.5 490.672 719.453 493.016 723.516 498.641C727.5 504.266 732.891 511.922 743.594 511.922C747.031 511.922 749.844 509.109 749.844 505.672C749.844 502.234 747.031 499.422 743.594 499.422C739.688 499.422 737.734 497.078 733.672 491.453C729.688 485.828 724.297 478.172 713.594 478.172C702.891 478.172 697.422 485.828 693.516 491.453C689.531 497.156 687.5 499.422 683.594 499.422C679.688 499.422 677.734 497.078 673.672 491.453C669.688 485.828 669.703 477 659 477C651.344 477 641.016 482.078 637.344 486.375V152C637.344 149.891 636.25 147.859 634.453 146.766L506.328 64.6562C505.312 64.0312 504.141 63.6406 502.969 63.6406H502.891C502.188 63.6406 501.406 63.7969 500.703 64.0312L278.047 146.141C275.625 147.078 273.984 149.422 273.984 152V282.859L161.641 324.578C159.219 325.516 157.578 327.859 157.578 330.438V738.719H78.6719C75.2344 738.719 72.4219 741.531 72.4219 744.969C72.4219 748.406 75.2344 751.219 78.6719 751.219H161.641C162.344 751.453 163.047 751.609 163.828 751.609H409.141C409.922 751.609 410.625 751.453 411.328 751.219H722.422C725.859 751.219 728.672 748.406 728.672 744.969C728.672 741.531 725.859 738.719 722.422 738.719H637.266V545.359C639.922 542.938 641.875 540.047 643.594 537.625C647.578 531.922 649.609 529.656 653.516 529.656C657.422 529.656 659.375 532 663.438 537.625C667.422 543.25 672.812 550.906 683.516 550.906C694.297 550.906 699.688 543.25 703.594 537.625C707.578 531.922 709.609 529.656 713.516 529.656C717.422 529.656 719.375 532 723.438 537.625C727.422 543.25 732.812 550.906 743.516 550.906C746.953 550.906 749.766 548.094 749.766 544.656C749.766 541.219 746.953 538.406 743.516 538.406ZM286.484 156.375L496.641 78.9531V738.719H415.391V330.516C415.391 328.406 414.297 326.375 412.5 325.281L322.656 267.469C322.578 267.391 322.5 267.391 322.344 267.312C322.266 267.234 322.187 267.234 322.109 267.156C321.953 267.078 321.875 267 321.719 267C321.641 267 321.562 266.922 321.484 266.922C321.328 266.844 321.172 266.844 321.094 266.766C321.016 266.766 320.938 266.687 320.781 266.687C320.625 266.687 320.469 266.609 320.391 266.609C320.313 266.609 320.156 266.609 320.078 266.531H318.672C318.516 266.531 318.438 266.609 318.281 266.609C318.203 266.609 318.047 266.609 317.969 266.687C317.891 266.687 317.734 266.766 317.656 266.766C317.5 266.766 317.422 266.844 317.266 266.844L286.641 278.25V156.375H286.484ZM325.469 284.188L402.812 333.953V738.719H325.234L325.469 284.188ZM170.078 334.891L273.984 296.219L286.484 291.531L313.047 281.688L312.812 738.719H170.078V334.891ZM624.688 738.719H509.062V81.2969L624.688 155.437V738.719Z" fill="#FB64BF"/>
<path d="M273.906 296.219L170 334.891V443.719C186.094 420.438 191.719 385.906 193.438 374.656C197.734 346.922 221.172 354.344 255.547 336.375C279.844 323.719 289.531 305.359 291.797 289.578L286.406 291.609L273.906 296.219ZM286.484 278.25L296.484 274.578C305.312 260.047 308.906 240.516 343.125 228.641C380.625 215.594 355.234 177.234 369.297 151.688C383.359 126.141 420.312 144.031 451.562 115.906C462.266 106.297 467.109 97.1563 468.828 89.2656L286.484 156.453V278.25Z" fill="white"/>
<path d="M3338.39 751H82.6095C65.2243 751 51 748.189 51 744.753C51 741.318 65.2243 738.507 82.6095 738.507H3338.39C3355.78 738.507 3370 741.318 3370 744.753C3370 748.189 3356.17 751 3338.39 751Z" fill="#FB64B6"/>
</g>
<defs>
<clipPath id="clip0_865_17">
<rect width="3420" height="746" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Loaded 100 of 121 files, more files were not shown because too many files have changed in this diff. Show more