From b06ea49af5d47bdfd79d29462e74faf63d1716d6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 2 Nov 2025 16:48:00 +0000 Subject: [PATCH 1/5] Initial plan From 6f4ff8740fa61fe88b8ec57a4c5ff8f38aed43a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 2 Nov 2025 16:57:25 +0000 Subject: [PATCH 2/5] Optimize Category.getAllPosts() and sitemap generation - Parallel processing of child categories in getAllPosts() - Replace filesystem scanning with Category/Post system in sitemap - Batch metadata loading for better performance Co-authored-by: XIYO <27078637+XIYO@users.noreply.github.com> --- CHANGELOG.md | 29 +- e2e/dlog.spec.js | 8 +- src/app.css | 12 +- src/lib/Header.svelte | 5 +- src/lib/components/HeroSection.svelte | 24 +- src/lib/components/Nav.svelte | 21 +- src/lib/components/Post.svelte | 2 +- src/lib/components/Posts.svelte | 48 +-- src/lib/components/Sidebar.svelte | 151 +++++--- src/lib/components/dlog/DlogItem.svelte | 5 +- src/lib/post/Category.js | 11 +- src/lib/post/Post.js | 4 +- src/lib/styles/bunny.css | 406 +++++++++++----------- src/lib/styles/markdown.css | 12 +- src/routes/(main)/+page.svelte | 2 +- src/routes/(main)/glove/+page.server.js | 1 - src/routes/(main)/glove/+page.svelte | 1 - src/routes/sitemap.xml/+server.js | 177 ++++------ svelte.config.js | 11 +- tests/category-post-comprehensive.test.js | 4 +- tests/category.test.js | 4 +- 21 files changed, 471 insertions(+), 467 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4bbcb26..93fb1c16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,49 +1,42 @@ # [3.1.0](https://github.com/XIYO/xiyo.github.io/compare/v3.0.0...v3.1.0) (2025-10-20) - ### Features -* 최근 변경 이력 dlog 작성 및 footer 스타일 간소화 ([c7dc1eb](https://github.com/XIYO/xiyo.github.io/commit/c7dc1ebf1fbe178de6b9f03b10fcf3c853f1343c)) +- 최근 변경 이력 dlog 작성 및 footer 스타일 간소화 ([c7dc1eb](https://github.com/XIYO/xiyo.github.io/commit/c7dc1ebf1fbe178de6b9f03b10fcf3c853f1343c)) # [3.0.0](https://github.com/XIYO/xiyo.github.io/compare/v2.8.1...v3.0.0) (2025-10-18) - ### Bug Fixes -* increase test timeout and fix authors test assertion ([41ff9a0](https://github.com/XIYO/xiyo.github.io/commit/41ff9a06ec2252b0679c0db779bbcc6548744499)) -* increase test timeout to 20s for CI environment ([a54ad45](https://github.com/XIYO/xiyo.github.io/commit/a54ad45a6c7a2bd83e5dd067f8517bd5cf29dcfe)) -* update semantic-release config for pnpm ([702790e](https://github.com/XIYO/xiyo.github.io/commit/702790eb02883e32fba0568c3499212793acda1d)) -* use createdAt consistently across all dlog components and tests ([d4d8da8](https://github.com/XIYO/xiyo.github.io/commit/d4d8da8c4171f5052ac179830b85ca322ca6075d)) - +- increase test timeout and fix authors test assertion ([41ff9a0](https://github.com/XIYO/xiyo.github.io/commit/41ff9a06ec2252b0679c0db779bbcc6548744499)) +- increase test timeout to 20s for CI environment ([a54ad45](https://github.com/XIYO/xiyo.github.io/commit/a54ad45a6c7a2bd83e5dd067f8517bd5cf29dcfe)) +- update semantic-release config for pnpm ([702790e](https://github.com/XIYO/xiyo.github.io/commit/702790eb02883e32fba0568c3499212793acda1d)) +- use createdAt consistently across all dlog components and tests ([d4d8da8](https://github.com/XIYO/xiyo.github.io/commit/d4d8da8c4171f5052ac179830b85ca322ca6075d)) ### Code Refactoring -* standardize time field names to createdAt/modifiedAt ([71e1336](https://github.com/XIYO/xiyo.github.io/commit/71e1336cd03114e76f4a66cdada2341cf824b6d7)) - +- standardize time field names to createdAt/modifiedAt ([71e1336](https://github.com/XIYO/xiyo.github.io/commit/71e1336cd03114e76f4a66cdada2341cf824b6d7)) ### Features -* add first dlog entry and fix date display ([b8bc27c](https://github.com/XIYO/xiyo.github.io/commit/b8bc27cd67d9087208d82e023be7dcd17686d1cc)) - +- add first dlog entry and fix date display ([b8bc27c](https://github.com/XIYO/xiyo.github.io/commit/b8bc27cd67d9087208d82e023be7dcd17686d1cc)) ### BREAKING CHANGES -* Field names in frontmatter have changed from published/lastModified to createdAt/modifiedAt +- Field names in frontmatter have changed from published/lastModified to createdAt/modifiedAt ## [2.8.1](https://github.com/XIYO/xiyo.github.io/compare/v2.8.0...v2.8.1) (2025-10-18) - ### Bug Fixes -* add PUBLIC_SITE_URL environment variable to GitHub Actions build steps ([aa5f269](https://github.com/XIYO/xiyo.github.io/commit/aa5f269308538972304538f72841a1d8c88669e2)) -* add UTF-8 encoding support for markdown files and remove submodule references ([6f94802](https://github.com/XIYO/xiyo.github.io/commit/6f948029e7621925e4d15ca6391d00549f30a611)) +- add PUBLIC_SITE_URL environment variable to GitHub Actions build steps ([aa5f269](https://github.com/XIYO/xiyo.github.io/commit/aa5f269308538972304538f72841a1d8c88669e2)) +- add UTF-8 encoding support for markdown files and remove submodule references ([6f94802](https://github.com/XIYO/xiyo.github.io/commit/6f948029e7621925e4d15ca6391d00549f30a611)) # [2.8.0](https://github.com/XIYO/xiyo.github.io/compare/v2.7.0...v2.8.0) (2025-10-08) - ### Features -* hoverable sidebar locale switcher ([bf79cfc](https://github.com/XIYO/xiyo.github.io/commit/bf79cfca1b53530e742194e85a1a511eeec3cbab)) +- hoverable sidebar locale switcher ([bf79cfc](https://github.com/XIYO/xiyo.github.io/commit/bf79cfca1b53530e742194e85a1a511eeec3cbab)) # [2.7.0](https://github.com/XIYO/xiyo.github.io/compare/v2.6.0...v2.7.0) (2025-08-16) diff --git a/e2e/dlog.spec.js b/e2e/dlog.spec.js index dfa223f3..92972234 100644 --- a/e2e/dlog.spec.js +++ b/e2e/dlog.spec.js @@ -44,7 +44,7 @@ test.describe('Dlog Feature - E2E Tests', () => { await page.goto('/'); const timeElements = page.locator('.dlog-list time'); - if (await timeElements.count() > 0) { + if ((await timeElements.count()) > 0) { const datetimeAttr = await timeElements.first().getAttribute('datetime'); expect(datetimeAttr).toBeTruthy(); } @@ -133,7 +133,9 @@ test.describe('Dlog Feature - E2E Tests', () => { test('should have hr separator after dlog section', async ({ page }) => { await page.goto('/'); - const dlogSection = page.locator('section.markdown', { has: page.locator('h2:has-text("최근 작업")') }); + const dlogSection = page.locator('section.markdown', { + has: page.locator('h2:has-text("최근 작업")') + }); const hrInSection = dlogSection.locator('hr'); expect(await hrInSection.count()).toBeGreaterThanOrEqual(0); @@ -143,7 +145,7 @@ test.describe('Dlog Feature - E2E Tests', () => { await page.goto('/'); const dlogItems = page.locator('.dlog-list li'); - if (await dlogItems.count() > 0) { + if ((await dlogItems.count()) > 0) { const spans = dlogItems.first().locator('span'); const spanCount = await spans.count(); expect(spanCount).toBeGreaterThanOrEqual(0); diff --git a/src/app.css b/src/app.css index a5792ee4..bb0bb207 100644 --- a/src/app.css +++ b/src/app.css @@ -14,13 +14,13 @@ } @layer base { - html { - @apply overscroll-none; - } + html { + @apply overscroll-none; + } - body > div:first-child { - @apply contents; - } + body > div:first-child { + @apply contents; + } } @theme { diff --git a/src/lib/Header.svelte b/src/lib/Header.svelte index 7d3a49f4..ed164f0c 100644 --- a/src/lib/Header.svelte +++ b/src/lib/Header.svelte @@ -5,7 +5,10 @@ const title = $derived(m.title()); -
+

{title}

diff --git a/src/lib/components/HeroSection.svelte b/src/lib/components/HeroSection.svelte index eb802923..742afb30 100644 --- a/src/lib/components/HeroSection.svelte +++ b/src/lib/components/HeroSection.svelte @@ -4,16 +4,16 @@
-

{m.introduction()}

+

{m.introduction()}

-
- -
{m.terminalCaption()}
-
-
\ No newline at end of file +
+ +
{m.terminalCaption()}
+
+ diff --git a/src/lib/components/Nav.svelte b/src/lib/components/Nav.svelte index caf8a786..c8125683 100644 --- a/src/lib/components/Nav.svelte +++ b/src/lib/components/Nav.svelte @@ -1,3 +1,13 @@ + + + - - -