From 21897b8fd314430a9a24a190257f7255a4b47104 Mon Sep 17 00:00:00 2001 From: zenn Date: Tue, 14 Apr 2026 10:59:43 +0900 Subject: [PATCH] =?UTF-8?q?v0.1.24=20=EB=A9=94=EC=9D=B8=20=ED=94=BC?= =?UTF-8?q?=EB=93=9C=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/built/screen.css | 154 +++++++++++++++++++++++++-------- assets/built/tailwind.css | 2 +- docs/history.md | 3 + docs/map.md | 6 +- docs/spec.md | 4 +- docs/update.md | 7 ++ package.json | 2 +- partials/home/hero.hbs | 24 ++--- partials/home/tabbed-feed.hbs | 20 ++--- partials/lists/post-items.hbs | 12 ++- partials/site/sidebar-left.hbs | 8 +- 11 files changed, 170 insertions(+), 72 deletions(-) diff --git a/assets/built/screen.css b/assets/built/screen.css index 3585b74..01ae5c9 100644 --- a/assets/built/screen.css +++ b/assets/built/screen.css @@ -296,10 +296,7 @@ body.left-sidebar-collapsed .sidebar--left { .menu-link__marker { position: relative; flex: 0 0 auto; - width: 6px; - height: 18px; - border-radius: 999px; - background: color-mix(in srgb, var(--border) 92%, #ffffff 8%); + background: color-mix(in srgb, var(--border) 88%, #ffffff 12%); transform-origin: center; transition: width 0.22s ease, height 0.22s ease, border-radius 0.22s ease, background-color 0.22s ease, transform 0.22s ease; } @@ -319,8 +316,8 @@ body.left-sidebar-collapsed .sidebar--left { .menu-group__trigger:hover .menu-link__marker, .menu-group__trigger[aria-expanded="true"] .menu-link__marker, .menu-group__link:hover .menu-link__marker { - width: 10px; - height: 10px; + width: 8px; + height: 8px; border-radius: 999px; background: #cfc7be; transform: translateX(1px); @@ -776,21 +773,30 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { } .hero { - display: grid; - justify-items: center; - gap: 16px; - padding: 42px 20px 28px; + padding: 28px 0 18px; text-align: center; border-bottom: 1px solid var(--border); } +.home-hero__inner { + max-width: 720px; + margin: 0 auto; +} + +.home-hero__content { + display: grid; + justify-items: center; + gap: 14px; + padding: 20px 18px 10px; +} + .hero__title { - max-width: 680px; + max-width: 760px; margin: 0; - font-size: clamp(2rem, 3vw, 3.1rem); - line-height: 1.08; - letter-spacing: -0.04em; - font-weight: 800; + font-size: clamp(1.85rem, 2.4vw, 2.55rem); + line-height: 1.12; + letter-spacing: -0.035em; + font-weight: 760; } .hero__title em { @@ -800,11 +806,11 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .hero__description, .section-description { - max-width: 620px; + max-width: 520px; margin: 0; color: var(--text-soft); font-size: 15px; - line-height: 1.62; + line-height: 1.55; } .subscribe-form, @@ -831,10 +837,26 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .subscribe-form--hero { justify-content: center; + width: min(100%, 420px); +} + +.subscribe-form--hero .gh-subscribe-form { + justify-content: center; +} + +.subscribe-form--hero .gh-subscribe-input { + min-height: 44px; + border-radius: 12px; + background: var(--surface); +} + +.subscribe-form--hero button { + min-height: 44px; + border-radius: 12px; } .stack-section { - padding: 18px 0; + padding: 18px 0 0; } .section-header { @@ -864,30 +886,36 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { align-items: flex-end; justify-content: space-between; gap: 14px; - padding-bottom: 14px; + padding-bottom: 10px; border-bottom: 1px solid var(--border); } .tab-row { display: flex; flex-wrap: wrap; - gap: 22px; + gap: 6px; } .tab-row__button { - padding: 10px 0; + padding: 9px 14px; border: 0; - border-bottom: 2px solid transparent; - background: none; + border-radius: 14px; + background: transparent; color: var(--text-soft); font-size: 14px; font-weight: 700; cursor: pointer; + transition: background-color 0.22s ease, color 0.22s ease; +} + +.tab-row__button:hover { + background: var(--surface-muted); + color: var(--text); } .tab-row__button.is-active { color: var(--text); - border-color: var(--accent); + background: var(--surface-muted); } .view-toggle { @@ -952,18 +980,19 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .post-card { display: grid; - grid-template-columns: 96px minmax(0, 1fr); - gap: 16px; - padding: 16px 0; + grid-template-columns: 112px minmax(0, 1fr); + gap: 18px; + padding: 18px 0; border-bottom: 1px solid var(--border); + align-items: start; } .post-card__media img, .post-card__media-fallback { - width: 96px; - height: 72px; + width: 112px; + height: 112px; object-fit: cover; - border-radius: 10px; + border-radius: 14px; background: var(--surface-muted); } @@ -979,8 +1008,8 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .post-card__content h2 { margin: 0 0 6px; font-size: 15px; - line-height: 1.28; - letter-spacing: -0.01em; + line-height: 1.32; + letter-spacing: -0.015em; } .post-card__content h2 a { @@ -999,7 +1028,7 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .post-card__content p { margin: 0 0 8px; color: var(--text-soft); - font-size: 14px; + font-size: 13px; line-height: 1.45; } @@ -1015,8 +1044,8 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .meta-pill { display: inline-flex; align-items: center; - padding: 3px 8px; - border-radius: 999px; + padding: 2px 8px; + border-radius: 6px; background: color-mix(in srgb, var(--tag-accent, var(--surface-muted)) 12%, var(--surface)); color: var(--text); font-size: 11px; @@ -1045,16 +1074,33 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { color: var(--text-dim); } +.meta-item--access { + font-weight: 600; +} + .category-overview { display: grid; } .category-overview__row { display: grid; - grid-template-columns: minmax(0, 220px) minmax(0, 1fr); + grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--border); + position: relative; + padding-left: 16px; +} + +.category-overview__row::before { + content: ""; + position: absolute; + left: 0; + top: 20px; + bottom: 20px; + width: 3px; + border-radius: 999px; + background: var(--tag-accent, var(--accent)); } .category-overview__row h2 { @@ -1069,9 +1115,36 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .category-overview__row ol { margin: 0; - padding-left: 18px; + padding-left: 0; display: grid; - gap: 10px; + gap: 12px; +} + +.category-overview__link { + display: inline-flex; + align-items: center; + gap: 6px; + color: var(--text-soft); + font-size: 13px; + font-weight: 700; +} + +.category-overview__posts a { + display: block; + font-size: 14px; + line-height: 1.45; + color: var(--text-soft); +} + +.category-overview__posts a::before { + content: attr(data-number); + color: var(--text); + font-weight: 700; +} + +.category-overview__posts a:hover, +.category-overview__link:hover { + color: var(--text); } .site-icon, @@ -1590,6 +1663,7 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { .tab-row-wrap { align-items: center; + flex-wrap: wrap; } } @@ -1673,6 +1747,10 @@ body:not(.left-sidebar-collapsed) .topbar__sidebar-toggle-icon--close { gap: 10px; } + .tab-row { + width: 100%; + } + .view-toggle { padding: 8px; } diff --git a/assets/built/tailwind.css b/assets/built/tailwind.css index 70c160d..5e9e3fd 100644 --- a/assets/built/tailwind.css +++ b/assets/built/tailwind.css @@ -1 +1 @@ -.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.left-0{left:0}.-mb-1\.5{margin-bottom:-.375rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-4{height:1rem}.min-h-\[128px\]{min-height:128px}.w-1{width:.25rem}.w-11{width:2.75rem}.w-4{width:1rem}.w-\[3px\]{width:3px}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.text-ellipsis{text-overflow:ellipsis}.rounded-\[14px\]{border-radius:14px}.rounded-\[15px\]{border-radius:15px}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.125rem}.rounded-l-\[14px\]{border-top-left-radius:14px;border-bottom-left-radius:14px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[var\(--border\)\],.border-brd{border-color:var(--border)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-\[var\(--tag-accent\2c var\(--accent\)\)\]{background-color:var(--tag-accent,var(--accent))}.bg-accent{background-color:var(--color-accent)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-0{padding-left:0}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[0\.8rem\]{font-size:.8rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-tight{line-height:1.25}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.text-\[var\(--text-soft\)\],.text-typ-tone{color:var(--text-soft)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[padding\2c background-color\2c color\]{transition-property:padding,background-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[x-cloak]{display:none!important}.rounded-theme{border-radius:18px}.border-brd{border-color:var(--border)}.text-typ-tone{color:var(--text-soft)}.bg-accent{background:var(--color-accent)}.line-clamp-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover\:bg-\[var\(--surface-muted\)\]:hover,.hover\:bg-bgr-tone:hover{background-color:var(--surface-muted)}.hover\:px-3:hover{padding-left:.75rem;padding-right:.75rem}.hover\:px-4:hover{padding-left:1rem;padding-right:1rem}.hover\:text-typ:hover{color:var(--text)}.hover\:opacity-75:hover{opacity:.75}.hover\:bg-bgr-tone:hover{background-color:var(--surface-muted)}.hover\:text-typ:hover{color:var(--text)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:size-2{width:.5rem;height:.5rem}.group:hover .group-hover\:rounded-full{border-radius:9999px}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:pr-3{padding-right:.75rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:pl-0{padding-left:0}} \ No newline at end of file +.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.left-0{left:0}.-mb-1\.5{margin-bottom:-.375rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-4{height:1rem}.min-h-\[128px\]{min-height:128px}.w-1{width:.25rem}.w-11{width:2.75rem}.w-4{width:1rem}.w-\[3px\]{width:3px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.125rem}.rounded-l-\[14px\]{border-top-left-radius:14px;border-bottom-left-radius:14px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[var\(--border\)\],.border-brd{border-color:var(--border)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-\[var\(--tag-accent\2c var\(--accent\)\)\]{background-color:var(--tag-accent,var(--accent))}.bg-accent{background-color:var(--color-accent)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-0{padding-left:0}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[0\.8rem\]{font-size:.8rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-tight{line-height:1.25}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.text-\[var\(--text-soft\)\]{color:var(--text-soft)}.text-typ{color:var(--text)}.text-typ-tone{color:var(--text-soft)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[height\2c opacity\]{transition-property:height,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-\[cubic-bezier\(0\.22\2c 1\2c 0\.36\2c 1\)\]{transition-timing-function:cubic-bezier(.22,1,.36,1)}[x-cloak]{display:none!important}.rounded-theme{border-radius:18px}.border-brd{border-color:var(--border)}.text-typ{color:var(--text)}.text-typ-tone{color:var(--text-soft)}.bg-accent{background:var(--color-accent)}.gap-0\.75{gap:.1875rem}.line-clamp-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover\:bg-\[var\(--surface-muted\)\]:hover,.hover\:bg-bgr-tone:hover{background-color:var(--surface-muted)}.hover\:px-3:hover{padding-left:.75rem;padding-right:.75rem}.hover\:text-typ:hover{color:var(--text)}.hover\:opacity-75:hover{opacity:.75}.hover\:bg-bgr-tone:hover{background-color:var(--surface-muted)}.hover\:text-typ:hover{color:var(--text)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:size-2{width:.5rem;height:.5rem}.group:hover .group-hover\:rounded-full{border-radius:9999px}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pr-3{padding-right:.75rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:pl-0{padding-left:0}} \ No newline at end of file diff --git a/docs/history.md b/docs/history.md index 6713d67..db9694b 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,5 +1,8 @@ # 의사결정 이력 +## 2026-04-14 v0.1.24 +홈 메인 영역은 기존 단순 카드 레이아웃에서 벗어나 원본의 정보 밀도와 간격을 더 직접적으로 따르기로 했다. 다만 좌측 네비게이션과 마찬가지로 즉시 전환보다 현재 선호하는 부드러운 동작과 기존 Ghost 헬퍼 호환성을 유지해야 했기 때문에, 전체 구조를 새로 갈아엎기보다 `hero`, `tabbed-feed`, `post-items` partial 단위로 시각 표현만 단계적으로 끌어올리는 방향을 선택했다. + ## 2026-04-14 v0.1.23 좌측 네비게이션은 원본의 Tailwind/Alpine 구조를 더 직접적으로 따르되, 기존 구현에서 선호한 열고 닫히는 애니메이션은 유지하기로 했다. 또한 `/tags/`, `/authors/`는 Ghost 기본 라우트가 아니므로, 페이지 슬러그 방식뿐 아니라 `routes.yaml` 커스텀 라우트 방식도 함께 지원할 수 있도록 별도 인덱스 템플릿과 예시 라우트 파일을 추가했다. diff --git a/docs/map.md b/docs/map.md index 835d6ba..505c4de 100644 --- a/docs/map.md +++ b/docs/map.md @@ -1,7 +1,7 @@ # 파일-화면 매핑 가이드 ## 현재 버전 -- `v0.1.23` +- `v0.1.24` ## 공통 레이아웃 - [default.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/default.hbs): 전체 3열 셸과 공통 자산 로드 @@ -17,8 +17,8 @@ - [home.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/home.hbs): 메인 홈 - [index.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/index.hbs): 기본 목록 진입 - [partials/home/hero.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/home/hero.hbs): 홈 히어로 영역 -- [partials/home/tabbed-feed.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/home/tabbed-feed.hbs): Latest/Featured/Updated/Categories 탭 -- [partials/lists/post-items.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/post-items.hbs): 리스트형 포스트 카드 +- [partials/home/tabbed-feed.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/home/tabbed-feed.hbs): Latest/Featured/Updated/Categories 탭과 카테고리 개요 행 +- [partials/lists/post-items.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/post-items.hbs): 리스트형 포스트 카드, 메타 정보, 멤버 전용 표시 ## 상세 및 아카이브 - [post.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/post.hbs): 포스트 상세 diff --git a/docs/spec.md b/docs/spec.md index 69bbf5b..3cc36f9 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -1,7 +1,7 @@ # 기술 명세 ## 현재 버전 -- `v0.1.23` +- `v0.1.24` ## 테마 개요 - Ghost `v5` 대응 커스텀 테마 @@ -16,11 +16,13 @@ - Tailwind CSS 빌드 결과물(`assets/built/tailwind.css`)을 기존 `screen.css`와 함께 로드 - Alpine.js 로컬 자산(`assets/built/alpine.js`)을 전역 로드 - 좌측 카테고리 영역은 Alpine.js로 제어되며 `1024px` 이상에서 기본 열림, 미만에서 기본 닫힘 +- 좌측 네비게이션 마커와 카테고리 마커는 동일한 세로 바 → 원형 hover 패턴 사용 - 전역 `ol`, `ul`, `menu` 기본 패딩과 리스트 스타일 리셋 적용 - `author.hbs`는 페이지 컨텍스트의 작성자 데이터를 직접 사용 - `page-tags.hbs`, `page-authors.hbs`는 각각 `slug=tags`, `slug=authors` 페이지에 연결 가능 - 태그/작성자 디렉터리 목록은 현재 `limit="100"` 기준 - `tags-index.hbs`, `authors-index.hbs`는 `routes.yaml` 커스텀 라우트로 `/tags/`, `/authors/`에 연결 가능 +- 홈 메인 피드는 히어로, 탭형 목록, 카테고리 개요를 원본 비주얼 밀도에 가깝게 재구성 ## 주요 스타일 방향 - 밝은 크림톤 배경 + 오렌지 포인트 diff --git a/docs/update.md b/docs/update.md index 49f9d1c..9573225 100644 --- a/docs/update.md +++ b/docs/update.md @@ -1,5 +1,12 @@ # 업데이트 로그 +## v0.1.24 - 2026-04-14 +- 좌측 네비게이션 마커 hover 형태를 카테고리 마커와 동일하게 수정. +- 홈 히어로 문구 강조 및 구독 폼 레이아웃 재정리. +- 홈 피드 탭 버튼 스타일을 원본 기준으로 재정리. +- 리스트형 포스트 카드 썸네일 비율, 메타 배지, 간격 수정. +- 카테고리 탭 목록 행 스타일 및 순번 링크 표현 수정. + ## v0.1.23 - 2026-04-14 - 좌측 네비게이션 Tailwind/Alpine 구조로 재정리. - 네비게이션 아코디언 슬라이드 애니메이션 유지. diff --git a/package.json b/package.json index c2af638..5bf7a77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghost-theme-thred-clone", - "version": "0.1.23", + "version": "0.1.24", "private": true, "description": "A Ghost theme inspired by the Thred reference layout.", "keywords": [ diff --git a/partials/home/hero.hbs b/partials/home/hero.hbs index ad251cb..c476f0c 100644 --- a/partials/home/hero.hbs +++ b/partials/home/hero.hbs @@ -1,11 +1,15 @@ -
-

Ideas published for meaningful conversation, discussed and shaped by the community

- {{#if @site.description}} -

{{@site.description}}

- {{/if}} - {{subscribe_form - placeholder="Your email" - button_class="button button--light" - form_class="subscribe-form subscribe-form--hero" - }} +
+
+
+

Ideas published for meaningful conversation, discussed and shaped by the community

+ {{#if @site.description}} +

{{@site.description}}

+ {{/if}} + {{subscribe_form + placeholder="Your email" + button_class="button button--light button--subscribe" + form_class="subscribe-form subscribe-form--hero" + }} +
+
diff --git a/partials/home/tabbed-feed.hbs b/partials/home/tabbed-feed.hbs index 6479cb1..27f08e5 100644 --- a/partials/home/tabbed-feed.hbs +++ b/partials/home/tabbed-feed.hbs @@ -1,12 +1,12 @@ -
-
-
+
+
+
- @@ -30,22 +30,22 @@
- {{#get "tags" limit="4" include="count.posts"}} + {{#get "tags" limit="8" include="count.posts" order="count.posts desc"}} {{#foreach tags}} -
-
+
+

{{name}}

{{#if description}}

{{description}}

{{else}}

{{plural count.posts empty="No posts yet" singular="% post in this category" plural="% posts in this category"}}

{{/if}} - View all ↗ + View all ↗
-
    +
      {{#get "posts" filter=(concat "tag:" slug) limit="5"}} {{#foreach posts}} -
    1. {{title}}
    2. +
    3. {{title}}
    4. {{/foreach}} {{/get}}
    diff --git a/partials/lists/post-items.hbs b/partials/lists/post-items.hbs index 2378ff3..a5f27ae 100644 --- a/partials/lists/post-items.hbs +++ b/partials/lists/post-items.hbs @@ -1,6 +1,6 @@ -
    +
    {{#foreach posts}} -
    +
    {{#if feature_image}} {{title}} @@ -9,7 +9,7 @@ {{/if}}
    -

    +

    {{#if featured}} @@ -17,7 +17,7 @@ {{title}}

    - {{#if excerpt}}

    {{excerpt words="22"}}

    {{/if}} + {{#if excerpt}}

    {{excerpt words="24"}}

    {{/if}}
    {{#primary_author}} @@ -28,6 +28,10 @@ / {{name}} {{/primary_tag}} + {{#unless access}} + / + Members + {{/unless}} / diff --git a/partials/site/sidebar-left.hbs b/partials/site/sidebar-left.hbs index 233f1ad..bc6d455 100644 --- a/partials/site/sidebar-left.hbs +++ b/partials/site/sidebar-left.hbs @@ -4,7 +4,7 @@