From a66153ad4eccd58130b2ec61f0b18b1821c65cd4 Mon Sep 17 00:00:00 2001 From: oriverk Date: Mon, 15 Apr 2024 22:44:43 +0900 Subject: [PATCH 1/2] refactor: change from svelet to astro --- .../{ActivityDay.svelte => ActivityDay.astro} | 13 +-- ...ActivityWeek.svelte => ActivityWeek.astro} | 25 ++--- .../{ColorLegend.svelte => ColorLegend.astro} | 17 ++- .../{MonthLegend.svelte => MonthLegend.astro} | 19 ++-- .../{index.svelte => index.astro} | 45 +++----- .../{FeedCard.svelte => FeedCard.astro} | 15 ++- .../{FeedList.svelte => FeedList.astro} | 15 ++- src/components/{Hero.svelte => Hero.astro} | 36 +----- src/components/LinkCard.astro | 2 +- .../{PostCard.svelte => PostCard.astro} | 62 +++++------ ...Pagination.svelte => PostPagination.astro} | 54 ++++----- src/components/PostTag.astro | 29 +++++ src/components/PostTag.svelte | 26 ----- ...sitoryCard.svelte => RepositoryCard.astro} | 104 ++++++++---------- ...sitoryList.svelte => RepositoryList.astro} | 15 ++- src/components/SearchButton.astro | 2 +- .../{Search => SvelteSearch}/BlogHit.svelte | 0 src/components/SvelteSearch/SearchIcon.svelte | 68 ++++++++++++ .../SvelteSearch/SearchIconButton.svelte | 50 +++++++++ .../SearchInput.svelte | 4 +- .../{Search => SvelteSearch}/index.svelte | 23 +++- src/components/ui/{Card.svelte => Card.astro} | 13 ++- ...entWrapper.svelte => ContentWrapper.astro} | 13 ++- .../ui/{Details.svelte => Details.astro} | 19 ++-- src/components/ui/{Icon.svelte => Icon.astro} | 9 +- .../ui/{Markdown.svelte => Markdown.astro} | 8 +- src/components/ui/Toc/TocList.astro | 27 +++++ src/components/ui/Toc/TocList.svelte | 23 ---- .../ui/Toc/{index.svelte => index.astro} | 20 ++-- src/layouts/Header.astro | 2 +- src/layouts/Layout.astro | 2 +- src/layouts/MarkdownLayout.astro | 4 +- src/pages/404.astro | 2 +- src/pages/[...slug].astro | 4 +- src/pages/blog/[...page].astro | 6 +- src/pages/blog/[...slug].astro | 10 +- src/pages/blog/tags/[tag]/[...page].astro | 6 +- src/pages/index.astro | 15 ++- 38 files changed, 447 insertions(+), 360 deletions(-) rename src/components/ActivityCalendar/{ActivityDay.svelte => ActivityDay.astro} (55%) rename src/components/ActivityCalendar/{ActivityWeek.svelte => ActivityWeek.astro} (68%) rename src/components/ActivityCalendar/{ColorLegend.svelte => ColorLegend.astro} (65%) rename src/components/ActivityCalendar/{MonthLegend.svelte => MonthLegend.astro} (52%) rename src/components/ActivityCalendar/{index.svelte => index.astro} (76%) rename src/components/{FeedCard.svelte => FeedCard.astro} (84%) rename src/components/{FeedList.svelte => FeedList.astro} (65%) rename src/components/{Hero.svelte => Hero.astro} (73%) rename src/components/{PostCard.svelte => PostCard.astro} (53%) rename src/components/{PostPagination.svelte => PostPagination.astro} (62%) create mode 100644 src/components/PostTag.astro delete mode 100644 src/components/PostTag.svelte rename src/components/{RepositoryCard.svelte => RepositoryCard.astro} (55%) rename src/components/{RepositoryList.svelte => RepositoryList.astro} (68%) rename src/components/{Search => SvelteSearch}/BlogHit.svelte (100%) create mode 100644 src/components/SvelteSearch/SearchIcon.svelte create mode 100644 src/components/SvelteSearch/SearchIconButton.svelte rename src/components/{Search => SvelteSearch}/SearchInput.svelte (93%) rename src/components/{Search => SvelteSearch}/index.svelte (84%) rename src/components/ui/{Card.svelte => Card.astro} (76%) rename src/components/ui/{ContentWrapper.svelte => ContentWrapper.astro} (66%) rename src/components/ui/{Details.svelte => Details.astro} (66%) rename src/components/ui/{Icon.svelte => Icon.astro} (93%) rename src/components/ui/{Markdown.svelte => Markdown.astro} (97%) create mode 100644 src/components/ui/Toc/TocList.astro delete mode 100644 src/components/ui/Toc/TocList.svelte rename src/components/ui/Toc/{index.svelte => index.astro} (57%) diff --git a/src/components/ActivityCalendar/ActivityDay.svelte b/src/components/ActivityCalendar/ActivityDay.astro similarity index 55% rename from src/components/ActivityCalendar/ActivityDay.svelte rename to src/components/ActivityCalendar/ActivityDay.astro index 2e7f6e7..8b82c49 100644 --- a/src/components/ActivityCalendar/ActivityDay.svelte +++ b/src/components/ActivityCalendar/ActivityDay.astro @@ -1,17 +1,16 @@ - +--- {label} diff --git a/src/components/ActivityCalendar/ActivityWeek.svelte b/src/components/ActivityCalendar/ActivityWeek.astro similarity index 68% rename from src/components/ActivityCalendar/ActivityWeek.svelte rename to src/components/ActivityCalendar/ActivityWeek.astro index c27de8e..c91d857 100644 --- a/src/components/ActivityCalendar/ActivityWeek.svelte +++ b/src/components/ActivityCalendar/ActivityWeek.astro @@ -1,8 +1,8 @@ - +} = Astro.props; +--- - {#each week as { date, level, count }, weekday} + {week.map(({ date, level, count }, weekday) => ( - {/each} + ))} diff --git a/src/components/ActivityCalendar/ColorLegend.svelte b/src/components/ActivityCalendar/ColorLegend.astro similarity index 65% rename from src/components/ActivityCalendar/ColorLegend.svelte rename to src/components/ActivityCalendar/ColorLegend.astro index 9c7a2b2..217e8db 100644 --- a/src/components/ActivityCalendar/ColorLegend.svelte +++ b/src/components/ActivityCalendar/ColorLegend.astro @@ -1,20 +1,19 @@ - +--- - {#each colors as color, i} + {colors.map((color, i) => ( - {/each} + ))} diff --git a/src/components/PostPagination.svelte b/src/components/PostPagination.astro similarity index 62% rename from src/components/PostPagination.svelte rename to src/components/PostPagination.astro index 4a8d950..51c5f01 100644 --- a/src/components/PostPagination.svelte +++ b/src/components/PostPagination.astro @@ -1,43 +1,45 @@ - +---
    - {#if prev} -
  1. - << -
  2. -
  3. - < -
  4. - {/if} - {#if size < total} + {!!prev && ( + <> +
  5. + << +
  6. +
  7. + < +
  8. + + )} + {size < total && (
  9. 1
  10. - {/if} - {#each [...Array(maxPage - 1)] as _, index} + )} + {[...Array(maxPage - 1)].map((_, index) => (
  11. {index+2}
  12. - {/each} - {#if next} -
  13. - > -
  14. -
  15. - >> -
  16. - {/if} + ))} + {!!next && ( +
      +
    1. + > +
    2. +
    3. + >> +
    4. +
    + )}
diff --git a/src/components/PostTag.svelte b/src/components/PostTag.svelte deleted file mode 100644 index 3bf5cd5..0000000 --- a/src/components/PostTag.svelte +++ /dev/null @@ -1,26 +0,0 @@ - - -{#if href} - #{tag} -{:else} - #{tag} -{/if} - - diff --git a/src/components/RepositoryCard.svelte b/src/components/RepositoryCard.astro similarity index 55% rename from src/components/RepositoryCard.svelte rename to src/components/RepositoryCard.astro index 72b6d69..4aefeb4 100644 --- a/src/components/RepositoryCard.svelte +++ b/src/components/RepositoryCard.astro @@ -1,85 +1,82 @@ - +const { name, description, url, stargazerCount, isArchived, primaryLanguage } = Astro.props; +--- - +
{name} - {#if isArchived} + {isArchived ? ( Public archive - {:else} + ): ( Public - {/if} + )}

{description ?? ''}

- {#if !!primaryLanguage.name} + {!!primaryLanguage.name && (
{primaryLanguage.name}
- {/if} - {#if !!stargazerCount} + )} + {!!stargazerCount && ( {stargazerCount} - {/if} + )}
diff --git a/src/components/SvelteSearch/SearchIconButton.svelte b/src/components/SvelteSearch/SearchIconButton.svelte new file mode 100644 index 0000000..3e868e3 --- /dev/null +++ b/src/components/SvelteSearch/SearchIconButton.svelte @@ -0,0 +1,50 @@ + + + + + + + + diff --git a/src/components/Search/SearchInput.svelte b/src/components/SvelteSearch/SearchInput.svelte similarity index 93% rename from src/components/Search/SearchInput.svelte rename to src/components/SvelteSearch/SearchInput.svelte index 793e8d0..2cb884e 100644 --- a/src/components/Search/SearchInput.svelte +++ b/src/components/SvelteSearch/SearchInput.svelte @@ -1,7 +1,7 @@ + +interface Props { + className?: string; + disabled?: boolean; +} + +const { className, disabled = false } = Astro.props; +---
diff --git a/src/components/ui/ContentWrapper.svelte b/src/components/ui/ContentWrapper.astro similarity index 66% rename from src/components/ui/ContentWrapper.svelte rename to src/components/ui/ContentWrapper.astro index fd8dc29..113a8d2 100644 --- a/src/components/ui/ContentWrapper.svelte +++ b/src/components/ui/ContentWrapper.astro @@ -1,8 +1,13 @@ - + +interface Props { + classNane?: string; + style?: string; +} + +const { className, style } = Astro.props; +---
diff --git a/src/components/ui/Details.svelte b/src/components/ui/Details.astro similarity index 66% rename from src/components/ui/Details.svelte rename to src/components/ui/Details.astro index 0ac4481..00a9170 100644 --- a/src/components/ui/Details.svelte +++ b/src/components/ui/Details.astro @@ -1,23 +1,20 @@ - +const { summary, className, ...restProps } = Astro.props; +--- -
- {#if summary} +
+ {!!summary && ( {summary} - {/if} + )}
diff --git a/src/components/ui/Icon.svelte b/src/components/ui/Icon.astro similarity index 93% rename from src/components/ui/Icon.svelte rename to src/components/ui/Icon.astro index 2357365..bde762d 100644 --- a/src/components/ui/Icon.svelte +++ b/src/components/ui/Icon.astro @@ -1,7 +1,7 @@ - +const { type, size, color, style } = Astro.props; +--- diff --git a/src/components/ui/Markdown.svelte b/src/components/ui/Markdown.astro similarity index 97% rename from src/components/ui/Markdown.svelte rename to src/components/ui/Markdown.astro index 647bd90..f069796 100644 --- a/src/components/ui/Markdown.svelte +++ b/src/components/ui/Markdown.astro @@ -1,16 +1,16 @@ - +---
- diff --git a/src/components/ui/Toc/TocList.svelte b/src/components/ui/Toc/TocList.svelte deleted file mode 100644 index 30c491b..0000000 --- a/src/components/ui/Toc/TocList.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - -
  • - {text} - {#if subHeadings.length} -
      - {#each subHeadings as heading} - - {/each} -
    - {/if} -
  • - - diff --git a/src/components/ui/Toc/index.svelte b/src/components/ui/Toc/index.astro similarity index 57% rename from src/components/ui/Toc/index.svelte rename to src/components/ui/Toc/index.astro index ac57c4b..ed01e00 100644 --- a/src/components/ui/Toc/index.svelte +++ b/src/components/ui/Toc/index.astro @@ -1,19 +1,23 @@ - +interface Props { + toc: Hierarchy[]; +} -{#if toc.length} +const { toc } = Astro.props; +--- + +{!!toc.length && ( -{/if} +)} diff --git a/src/components/SvelteSearch/SearchIconButton.svelte b/src/components/SvelteSearch/SearchIconButton.svelte deleted file mode 100644 index 3e868e3..0000000 --- a/src/components/SvelteSearch/SearchIconButton.svelte +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - diff --git a/src/layouts/Header.astro b/src/layouts/Header.astro index 84291d5..b373052 100644 --- a/src/layouts/Header.astro +++ b/src/layouts/Header.astro @@ -1,6 +1,9 @@ --- import Icon from "@/components/ui/Icon.astro"; -const isCurrent = (path: string) => path === Astro.url.pathname; +import HeaderSearch from "@/components/SvelteSearch/SearchButton.svelte" +const { pathname } = Astro.url; +const subpath = pathname.match(/[^\/]+/g); +const isActive = (href: string) => href === pathname || href === `/${subpath?.[0]}`; ---