테마: 작성자 이미지 경로 보정
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -10,7 +10,7 @@
|
|||||||
<div class="meta-pill">{{plural count.posts empty="No posts" singular="% post" plural="% posts"}}</div>
|
<div class="meta-pill">{{plural count.posts empty="No posts" singular="% post" plural="% posts"}}</div>
|
||||||
|
|
||||||
{{#if profile_image}}
|
{{#if profile_image}}
|
||||||
<img class="h-16 w-16 shrink-0 self-start rounded-theme object-cover sm:h-20 sm:w-20" src="{{img_url profile_image size="s"}}" alt="{{name}}">
|
<img class="h-16 w-16 shrink-0 self-start rounded-theme object-cover sm:h-20 sm:w-20" src="{{img_url profile_image size="s" absolute="true"}}" alt="{{name}}">
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="flex h-16 w-16 shrink-0 self-start items-center justify-center rounded-theme bg-bgr-tone text-sm font-semibold text-typ-tone sm:h-20 sm:w-20">{{name}}</div>
|
<div class="flex h-16 w-16 shrink-0 self-start items-center justify-center rounded-theme bg-bgr-tone text-sm font-semibold text-typ-tone sm:h-20 sm:w-20">{{name}}</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 배포 가이드
|
# 배포 가이드
|
||||||
|
|
||||||
## 현재 버전
|
## 현재 버전
|
||||||
- `v1.0.0`
|
- `v1.0.1`
|
||||||
|
|
||||||
## Git 기본 설정
|
## Git 기본 설정
|
||||||
- 저장소 작성자 정보는 아래 값으로 통일한다.
|
- 저장소 작성자 정보는 아래 값으로 통일한다.
|
||||||
@@ -77,7 +77,7 @@ npm run zip:version
|
|||||||
|
|
||||||
## `/tags/` 연결 방법
|
## `/tags/` 연결 방법
|
||||||
- 가장 쉬운 방법은 Ghost Admin에서 페이지를 만들고 슬러그를 `tags`로 지정한 뒤 템플릿을 연결하는 방식이다.
|
- 가장 쉬운 방법은 Ghost Admin에서 페이지를 만들고 슬러그를 `tags`로 지정한 뒤 템플릿을 연결하는 방식이다.
|
||||||
- 페이지 방식 대신 커스텀 라우트를 쓰려면 [routes.yaml.example](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/routes.yaml.example)를 기준으로 Ghost의 `routes.yaml`에 `/tags/`를 연결한다.
|
- 페이지 방식 대신 커스텀 라우트를 쓰려면 [routes.yaml.example](../routes.yaml.example)를 기준으로 Ghost의 `routes.yaml`에 `/tags/`를 연결한다.
|
||||||
|
|
||||||
## 로컬 빌드 검증
|
## 로컬 빌드 검증
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# 의사결정 이력
|
# 의사결정 이력
|
||||||
|
|
||||||
|
## 2026-04-27 v1.0.1
|
||||||
|
작성자 프로필 이미지는 홈과 포스트 상세처럼 현재 URL 깊이가 다른 화면에서 동일하게 보여야 한다. Ghost의 `img_url`이 루트 기준 경로를 만들 수 있지만, 테마가 프록시나 캐시 계층을 거치는 운영 환경에서는 절대 URL이 더 명확하므로 작성자 이미지 렌더링 지점을 `absolute="true"`로 통일했다. 우측 사이드바 작성자 카드는 시각적으로 외부 이동 아이콘을 이미 갖고 있으므로 실제 작성자 URL도 함께 연결했다.
|
||||||
|
|
||||||
## 2026-04-17 v1.0.0
|
## 2026-04-17 v1.0.0
|
||||||
실사용 전환 단계에서 기존 패키지명(`ghost-theme-thred-clone`)은 레퍼런스 성격이 강해 운영 식별성과 배포 파일 관리에 불리했다. 그래서 테마 공식 명칭을 `Zenless Column Flow`로 확정하고 slug를 `zenless-column-flow`로 통일했다. Ghost 호환성을 위해 `package.json`의 `version`은 순수 semver(`1.0.0`)를 유지하고, 사람이 보는 릴리스/압축 파일 표기는 `ZCF-v1.x.x` 규칙으로 분리했다.
|
실사용 전환 단계에서 기존 패키지명(`ghost-theme-thred-clone`)은 레퍼런스 성격이 강해 운영 식별성과 배포 파일 관리에 불리했다. 그래서 테마 공식 명칭을 `Zenless Column Flow`로 확정하고 slug를 `zenless-column-flow`로 통일했다. Ghost 호환성을 위해 `package.json`의 `version`은 순수 semver(`1.0.0`)를 유지하고, 사람이 보는 릴리스/압축 파일 표기는 `ZCF-v1.x.x` 규칙으로 분리했다.
|
||||||
|
|
||||||
|
|||||||
60
docs/map.md
60
docs/map.md
@@ -1,41 +1,41 @@
|
|||||||
# 파일-화면 매핑 가이드
|
# 파일-화면 매핑 가이드
|
||||||
|
|
||||||
## 현재 버전
|
## 현재 버전
|
||||||
- `v1.0.0`
|
- `v1.0.1`
|
||||||
|
|
||||||
## 공통 레이아웃
|
## 공통 레이아웃
|
||||||
- [default.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/default.hbs): 전체 3열 셸, 1296px 공통 폭 계산, 공통 자산 로드, 전역 공유 모달(`share-modal`) 마크업 포함
|
- [default.hbs](../default.hbs): 전체 3열 셸, 1296px 공통 폭 계산, 공통 자산 로드, 전역 공유 모달(`share-modal`) 마크업 포함
|
||||||
- [partials/site/sidebar-left.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/site/sidebar-left.hbs): 좌측 탐색(Primary `{{navigation}}`, Secondary `{{navigation type="secondary"}}`·`@site.secondary_navigation` 있을 때만)/Tags/카테고리 아코디언/푸터
|
- [partials/site/sidebar-left.hbs](../partials/site/sidebar-left.hbs): 좌측 탐색(Primary `{{navigation}}`, Secondary `{{navigation type="secondary"}}`·`@site.secondary_navigation` 있을 때만)/Tags/카테고리 아코디언/푸터
|
||||||
- [page-tags.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/page-tags.hbs): `slug=tags` 페이지용 태그 디렉터리
|
- [page-tags.hbs](../page-tags.hbs): `slug=tags` 페이지용 태그 디렉터리
|
||||||
- [tags-index.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/tags-index.hbs): `/tags/` 커스텀 라우트용 태그 디렉터리
|
- [tags-index.hbs](../tags-index.hbs): `/tags/` 커스텀 라우트용 태그 디렉터리
|
||||||
- [partials/site/topbar.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/site/topbar.hbs): 상단 3열 헤더, 중앙 검색(최소 폭·라벨 말줄임), 좌측 사이드바 토글
|
- [partials/site/topbar.hbs](../partials/site/topbar.hbs): 상단 3열 헤더, 중앙 검색(최소 폭·라벨 말줄임), 좌측 사이드바 토글
|
||||||
- [partials/site/sidebar-right.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/site/sidebar-right.hbs): 우측 287px 사이드바, Ghost Recommendations 기반 추천 링크/구독/푸터 구성
|
- [partials/site/sidebar-right.hbs](../partials/site/sidebar-right.hbs): 우측 287px 사이드바, 포스트 상세 작성자 카드, Ghost Recommendations 기반 추천 링크/구독/푸터 구성
|
||||||
|
|
||||||
## 홈 및 목록
|
## 홈 및 목록
|
||||||
- [home.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/home.hbs): 메인 홈
|
- [home.hbs](../home.hbs): 메인 홈
|
||||||
- [index.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/index.hbs): 기본 목록 진입
|
- [index.hbs](../index.hbs): 기본 목록 진입
|
||||||
- [partials/home/hero.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/home/hero.hbs): 홈 히어로 영역
|
- [partials/home/hero.hbs](../partials/home/hero.hbs): 홈 히어로 영역
|
||||||
- [partials/lists/post-feed.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/post-feed.hbs): 홈 Featured 슬라이드, Latest 리스트, Categories(태그별 상위 5글) 묶음
|
- [partials/lists/post-feed.hbs](../partials/lists/post-feed.hbs): 홈 Featured 슬라이드, Latest 리스트, Categories(태그별 상위 5글) 묶음
|
||||||
- [partials/lists/home-categories.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/home-categories.hbs): 홈 Latest 하단 태그별 최신 글 5개(텍스트 링크·우선순위 목록과 동일 정렬)
|
- [partials/lists/home-categories.hbs](../partials/lists/home-categories.hbs): 홈 Latest 하단 태그별 최신 글 5개(텍스트 링크·우선순위 목록과 동일 정렬)
|
||||||
- [partials/lists/post-feed-archive.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/post-feed-archive.hbs): 태그·작성자 아카이브용 글 목록 + Load More(페이지네이션)
|
- [partials/lists/post-feed-archive.hbs](../partials/lists/post-feed-archive.hbs): 태그·작성자 아카이브용 글 목록 + Load More(페이지네이션)
|
||||||
- [partials/lists/post-items.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/lists/post-items.hbs): Tailwind 기반 리스트형 포스트 카드(요약·메타·`post-card-content` 세로 정렬), 댓글 아이콘, 우측 공유 액션(`data-share-*` 메타데이터 전달), 태그 accent 배지
|
- [partials/lists/post-items.hbs](../partials/lists/post-items.hbs): Tailwind 기반 리스트형 포스트 카드(요약·메타·`post-card-content` 세로 정렬), 댓글 아이콘, 우측 공유 액션(`data-share-*` 메타데이터 전달), 태그 accent 배지
|
||||||
|
|
||||||
## 상세 및 아카이브
|
## 상세 및 아카이브
|
||||||
- [post.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/post.hbs): 포스트 상세
|
- [post.hbs](../post.hbs): 포스트 상세
|
||||||
- [page.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/page.hbs): 일반 페이지
|
- [page.hbs](../page.hbs): 일반 페이지
|
||||||
- [tag.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/tag.hbs): 태그 아카이브
|
- [tag.hbs](../tag.hbs): 태그 아카이브
|
||||||
- [author.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/author.hbs): 작성자 아카이브
|
- [author.hbs](../author.hbs): 작성자 아카이브
|
||||||
- [partials/post/post-navigation.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/post/post-navigation.hbs): 이전/다음 글 이동
|
- [partials/post/post-navigation.hbs](../partials/post/post-navigation.hbs): 이전/다음 글 이동
|
||||||
|
|
||||||
## 자산
|
## 자산
|
||||||
- [assets/built/screen.css](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/assets/built/screen.css): 전체 스타일
|
- [assets/built/screen.css](../assets/built/screen.css): 전체 스타일
|
||||||
- [assets/built/tailwind.css](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/assets/built/tailwind.css): Tailwind 빌드 결과물
|
- [assets/built/tailwind.css](../assets/built/tailwind.css): Tailwind 빌드 결과물
|
||||||
- [assets/built/alpine.js](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/assets/built/alpine.js): Alpine.js 로컬 배포 파일
|
- [assets/built/alpine.js](../assets/built/alpine.js): Alpine.js 로컬 배포 파일
|
||||||
- [assets/built/theme.js](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/assets/built/theme.js): 인터랙션 스크립트
|
- [assets/built/theme.js](../assets/built/theme.js): 인터랙션 스크립트
|
||||||
- [partials/pagination.hbs](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/partials/pagination.hbs): 다음 페이지가 있을 때만 표시되는 `Load More` 버튼
|
- [partials/pagination.hbs](../partials/pagination.hbs): 다음 페이지가 있을 때만 표시되는 `Load More` 버튼
|
||||||
- [assets/styles/tailwind.css](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/assets/styles/tailwind.css): Tailwind 입력 파일, `prose` 타이포그래피 규칙, accent/구분선 보조 유틸리티
|
- [assets/styles/tailwind.css](../assets/styles/tailwind.css): Tailwind 입력 파일, `prose` 타이포그래피 규칙, accent/구분선 보조 유틸리티
|
||||||
- [tailwind.config.js](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/tailwind.config.js): Tailwind 스캔 경로, 테마 설정, preflight 초기화 설정
|
- [tailwind.config.js](../tailwind.config.js): Tailwind 스캔 경로, 테마 설정, preflight 초기화 설정
|
||||||
- [scripts/dev-watch.js](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/scripts/dev-watch.js): 로컬 파일 변경 감지 후 `dev:sync`와 Tailwind watch를 함께 실행하는 개발용 watcher
|
- [scripts/dev-watch.js](../scripts/dev-watch.js): 로컬 파일 변경 감지 후 `dev:sync`와 Tailwind watch를 함께 실행하는 개발용 watcher
|
||||||
- [routes.yaml.example](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/routes.yaml.example): Ghost 커스텀 라우트 예시
|
- [routes.yaml.example](../routes.yaml.example): Ghost 커스텀 라우트 예시
|
||||||
- [package.json](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/package.json): Ghost 테마 메타데이터
|
- [package.json](../package.json): Ghost 테마 메타데이터
|
||||||
- [package.json](/Users/bicute/Desktop/UGREEN/GHOST%20THEME/package.json): Ghost 테마 메타데이터, `zip:version` 압축 스크립트
|
- [package.json](../package.json): Ghost 테마 메타데이터, `zip:version` 압축 스크립트
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 기술 명세
|
# 기술 명세
|
||||||
|
|
||||||
## 현재 버전
|
## 현재 버전
|
||||||
- `v1.0.0`
|
- `v1.0.1`
|
||||||
|
|
||||||
## 테마 개요
|
## 테마 개요
|
||||||
- 테마명: `Zenless Column Flow` (slug: `zenless-column-flow`)
|
- 테마명: `Zenless Column Flow` (slug: `zenless-column-flow`)
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
- 검색 오버레이, 탭 전환, 다크모드 토글용 프런트 스크립트
|
- 검색 오버레이, 탭 전환, 다크모드 토글용 프런트 스크립트
|
||||||
- Ghost `navigation`, `get`, `subscribe_form`, `comments`, `pagination` 헬퍼 사용
|
- Ghost `navigation`, `get`, `subscribe_form`, `comments`, `pagination` 헬퍼 사용
|
||||||
- `@site.accent_color`가 설정된 경우 `default.hbs`의 body 인라인 변수로 전역 `--accent`/`--accent-strong`를 덮어써 테마 포인트 색상을 동기화함
|
- `@site.accent_color`가 설정된 경우 `default.hbs`의 body 인라인 변수로 전역 `--accent`/`--accent-strong`를 덮어써 테마 포인트 색상을 동기화함
|
||||||
- `topbar` 브랜드는 `@site.logo`를 우선 렌더링하고, 로고 미설정 시 `@site.title` 텍스트를 fallback으로 사용함
|
- `topbar` 브랜드는 모바일 화면에서만 노출하며, `@site.logo`를 우선 렌더링하고 로고 미설정 시 `@site.title` 텍스트를 fallback으로 사용함
|
||||||
- 데스크톱 `topbar__inner`는 `var(--sidebar-left) minmax(0, var(--content-column)) var(--sidebar-right)` 3열 그리드이며, `1024px` 이상에서만 검색 셀(`.topbar__search`)에 `min-width: min(--topbar-search-min, 100%)`를 적용해 중앙 검색 최소 폭을 완만히 보장함. 검색 트리거는 라벨(`.search-trigger__label`) 말줄임·단축키 `flex-shrink: 0` 유지. 브랜드 텍스트는 말줄임, 로고 이미지는 `max-width: 100%`로 축소
|
- 데스크톱 `topbar__inner`는 `var(--sidebar-left) minmax(0, var(--content-column)) var(--sidebar-right)` 3열 그리드이며, `1024px` 이상에서만 검색 셀(`.topbar__search`)에 `min-width: min(--topbar-search-min, 100%)`를 적용해 중앙 검색 최소 폭을 완만히 보장함. 검색 트리거는 라벨(`.search-trigger__label`) 말줄임·단축키 `flex-shrink: 0` 유지. 브랜드 텍스트는 말줄임, 로고 이미지는 `max-width: 100%`로 축소
|
||||||
- `1023px` 이하에서는 `topbar__inner`를 `minmax(0, 1fr) auto` 2열로 바꾸고 검색 열을 숨긴 뒤, 브랜드·액션을 각각 1·2열에 배치함(헤더가 3열 정의만 남는 문제 방지)
|
- `1023px` 이하에서는 `topbar__inner`를 `minmax(0, 1fr) auto` 2열로 바꾸고 검색 열을 숨긴 뒤, 브랜드·액션을 각각 1·2열에 배치함(헤더가 3열 정의만 남는 문제 방지)
|
||||||
- `home` Hero는 `@site.cover_image`가 있을 때 배경 이미지로 적용하며 오버레이와 텍스트 대비를 함께 조정함
|
- `home` Hero는 `@site.cover_image`가 있을 때 배경 이미지로 적용하며 오버레이와 텍스트 대비를 함께 조정함
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
- 검색 모달 입력의 브라우저 기본 우측 cancel 버튼은 숨김 처리하고, `search-result__excerpt`는 한 줄 말줄임으로 고정함
|
- 검색 모달 입력의 브라우저 기본 우측 cancel 버튼은 숨김 처리하고, `search-result__excerpt`는 한 줄 말줄임으로 고정함
|
||||||
- 전역 `ol`, `ul`, `menu` 기본 패딩과 리스트 스타일 리셋 적용
|
- 전역 `ol`, `ul`, `menu` 기본 패딩과 리스트 스타일 리셋 적용
|
||||||
- `author.hbs`는 페이지 컨텍스트의 작성자 데이터를 직접 사용
|
- `author.hbs`는 페이지 컨텍스트의 작성자 데이터를 직접 사용
|
||||||
|
- 작성자 프로필 이미지는 우측 사이드바, 좌측 작성자 목록, 작성자 아카이브, 검색 데이터 소스에서 `img_url ... absolute="true"` 기준으로 렌더링해 포스트 상세처럼 경로가 깊은 URL에서도 동일한 이미지 주소를 사용함
|
||||||
- `page-tags.hbs`는 `slug=tags` 페이지에 연결 가능
|
- `page-tags.hbs`는 `slug=tags` 페이지에 연결 가능
|
||||||
- 태그/작성자 디렉터리 목록은 현재 `limit="100"` 기준
|
- 태그/작성자 디렉터리 목록은 현재 `limit="100"` 기준
|
||||||
- `tags-index.hbs`는 Ghost `routes.yaml` 커스텀 라우트로 `/tags/`에 연결됨
|
- `tags-index.hbs`는 Ghost `routes.yaml` 커스텀 라우트로 `/tags/`에 연결됨
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# 업데이트 로그
|
# 업데이트 로그
|
||||||
|
|
||||||
|
## v1.0.1 - 2026-04-27
|
||||||
|
- `package.json` 버전을 `1.0.1`로 증가.
|
||||||
|
- `partials/site/sidebar-right.hbs`: 포스트 상세 우측 작성자 프로필 이미지 URL을 절대 경로로 렌더링하도록 수정하고 작성자 링크를 연결.
|
||||||
|
- `author.hbs`, `partials/site/sidebar-left.hbs`, `partials/site/topbar.hbs`: 작성자 프로필 이미지 URL을 절대 경로 기준으로 통일.
|
||||||
|
- `partials/site/topbar.hbs`: 상단 브랜드 링크를 모바일 화면에서만 노출하도록 수정.
|
||||||
|
- `docs/map.md`, `docs/deploy.md`: 기존 로컬 절대 경로 링크를 상대 경로로 정리.
|
||||||
|
- `docs/spec.md`, `docs/map.md`, `docs/deploy.md`, `docs/history.md`, `docs/convention.md` 현재 버전을 `v1.0.1`로 동기화.
|
||||||
|
|
||||||
## v1.0.0 - 2026-04-17
|
## v1.0.0 - 2026-04-17
|
||||||
- `package.json`: 테마 패키지명을 `zenless-column-flow`로 변경하고 버전을 `1.0.0`으로 상향.
|
- `package.json`: 테마 패키지명을 `zenless-column-flow`로 변경하고 버전을 `1.0.0`으로 상향.
|
||||||
- `package.json`: 설명을 `Zenless Column Flow` 기준으로 갱신하고 zip 파일명 규칙을 `ZCF-v$npm_package_version.zip`으로 변경.
|
- `package.json`: 설명을 `Zenless Column Flow` 기준으로 갱신하고 zip 파일명 규칙을 `ZCF-v$npm_package_version.zip`으로 변경.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "zenless-column-flow",
|
"name": "zenless-column-flow",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Zenless Column Flow Ghost theme for editorial three-column blogs.",
|
"description": "Zenless Column Flow Ghost theme for editorial three-column blogs.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|||||||
@@ -116,7 +116,7 @@
|
|||||||
<a href="{{url}}" class="group relative flex items-center gap-1.5 leading-tight pl-0 pr-3 py-1 rounded-theme hover:text-typ hover:bg-[#f5f5f5] transition-[padding] min-h-8 md:min-h-10 hover:pl-7" aria-label="{{name}}">
|
<a href="{{url}}" class="group relative flex items-center gap-1.5 leading-tight pl-0 pr-3 py-1 rounded-theme hover:text-typ hover:bg-[#f5f5f5] transition-[padding] min-h-8 md:min-h-10 hover:pl-7" aria-label="{{name}}">
|
||||||
{{#if profile_image}}
|
{{#if profile_image}}
|
||||||
<figure class="size-6 md:size-7 rounded-full overflow-hidden transition-all group-hover:size-0">
|
<figure class="size-6 md:size-7 rounded-full overflow-hidden transition-all group-hover:size-0">
|
||||||
<img class="w-full h-full object-cover rounded-full" src="{{img_url profile_image size="s"}}" alt="">
|
<img class="w-full h-full object-cover rounded-full" src="{{img_url profile_image size="s" absolute="true"}}" alt="">
|
||||||
</figure>
|
</figure>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="size-6 md:size-7 rounded-full bg-bgr-tone flex items-center justify-center text-[11px] transition-all group-hover:size-0">A</span>
|
<span class="size-6 md:size-7 rounded-full bg-bgr-tone flex items-center justify-center text-[11px] transition-all group-hover:size-0">A</span>
|
||||||
|
|||||||
@@ -1,10 +1,26 @@
|
|||||||
<aside class="sidebar sidebar--right h-full flex flex-col">
|
<aside class="sidebar sidebar--right h-full flex flex-col">
|
||||||
|
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-col gap-3 border-b border-brd ">
|
||||||
|
<div class="flex items-center gap-2.5">
|
||||||
|
{{#if @site.icon}}
|
||||||
|
<img class="w-12 min-h-12 rounded-md h-full relative" src="{{@site.icon}}" alt="{{@site.title}}">
|
||||||
|
{{else}}
|
||||||
|
<div class="w-12 min-h-12 rounded-md h-full relative site-icon--fallback">T</div>
|
||||||
|
{{/if}}
|
||||||
|
<div class="flex flex-col gap-0.5">
|
||||||
|
<h2 class="text-sm md:text-base font-extrabold leading-tight">{{@site.title}}</h2>
|
||||||
|
{{#if @site.description}}
|
||||||
|
<p class="text-sm text-typ-tone leading-tight">{{@site.description}}</p>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
{{#is "post"}}
|
{{#is "post"}}
|
||||||
{{#post}}
|
{{#post}}
|
||||||
{{#primary_author}}
|
{{#primary_author}}
|
||||||
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-col gap-1.5 border-b border-brd">
|
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-col gap-1.5 border-b border-brd">
|
||||||
<a class="flex gap-2 hover:opacity-80">{{#if profile_image}}
|
<a class="flex gap-2 hover:opacity-80" href="{{url}}">{{#if profile_image}}
|
||||||
<img class="object-cover size-10 sm:size-12 aspect-square" src="{{img_url profile_image size="s"}}" alt="{{name}}">
|
<img class="object-cover size-10 sm:size-12 aspect-square" src="{{img_url profile_image size="s" absolute="true"}}" alt="{{name}}">
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="object-cover size-10 sm:size-12 aspect-square avatar--fallback">A</div>
|
<div class="object-cover size-10 sm:size-12 aspect-square avatar--fallback">A</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -19,29 +35,11 @@
|
|||||||
{{/post}}
|
{{/post}}
|
||||||
{{/is}}
|
{{/is}}
|
||||||
|
|
||||||
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-col gap-3 border-b border-brd ">
|
|
||||||
<div class="flex items-center gap-2.5">
|
|
||||||
{{#if @site.icon}}
|
|
||||||
<img class="w-12 min-h-12 rounded-md h-full relative" src="{{@site.icon}}" alt="{{@site.title}}">
|
|
||||||
{{else}}
|
|
||||||
<div class="w-12 min-h-12 rounded-md h-full relative site-icon--fallback">T</div>
|
|
||||||
{{/if}}
|
|
||||||
<div class="flex flex-col gap-0.5">
|
|
||||||
<h2 class="text-sm md:text-base font-medium leading-tight">{{@site.title}}</h2>
|
|
||||||
{{#if @site.description}}
|
|
||||||
<p class="text-sm text-typ-tone leading-tight">{{@site.description}}</p>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{{subscribe_form
|
{{subscribe_form
|
||||||
placeholder="Your email"
|
placeholder="Your email"
|
||||||
button_class="button button--subscribe"
|
button_class="button button--subscribe"
|
||||||
form_class="subscribe-form"
|
form_class="subscribe-form"
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-wrap items-center justify-between gap-1.5 border-b border-brd">
|
<section class="px-4 sm:px-5 py-4 sm:py-5 xl:pr-1 flex flex-wrap items-center justify-between gap-1.5 border-b border-brd">
|
||||||
<h2 class="uppercase font-medium text-xs text-typ-tone">Follow</h2>
|
<h2 class="uppercase font-medium text-xs text-typ-tone">Follow</h2>
|
||||||
@@ -57,7 +55,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</i><span class="hidden">Twitter</span></a>
|
</i><span class="hidden">Twitter</span></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<a href="{{@site.url}}/rss/" class="hover:w-5 h-5 opacity-75 p-0.5" aria-label="RSS">
|
<a href="{{@site.url}}/rss/" class="hover:w-5 h-5 opacity-75 p-0.5" aria-label="RSS">
|
||||||
<i class="icon icon-rss size-4 stroke-2" role="presentation">
|
<i class="icon icon-rss size-4 stroke-2" role="presentation">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rss" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rss" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</i>
|
</i>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<a class="brand brand--topbar inline-flex min-w-0 max-w-full items-center gap-2.5" href="{{@site.url}}">
|
<a class="brand brand--topbar inline-flex min-w-0 max-w-full items-center gap-2.5 lg:hidden" href="{{@site.url}}">
|
||||||
{{#if @site.logo}}
|
{{#if @site.logo}}
|
||||||
<img class="max-h-8 w-auto object-contain" src="{{@site.logo}}" alt="{{@site.title}}">
|
<img class="max-h-8 w-auto object-contain" src="{{@site.logo}}" alt="{{@site.title}}">
|
||||||
{{else}}
|
{{else}}
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
<div hidden data-search-source>
|
<div hidden data-search-source>
|
||||||
{{#get "authors" limit="100"}}
|
{{#get "authors" limit="100"}}
|
||||||
{{#foreach authors}}
|
{{#foreach authors}}
|
||||||
<span data-search-item data-search-type="author" data-search-title="{{name}}" data-search-url="{{url}}" data-search-image="{{#if profile_image}}{{img_url profile_image size='s'}}{{/if}}"></span>
|
<span data-search-item data-search-type="author" data-search-title="{{name}}" data-search-url="{{url}}" data-search-image="{{#if profile_image}}{{img_url profile_image size='s' absolute='true'}}{{/if}}"></span>
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{/get}}
|
{{/get}}
|
||||||
{{#get "tags" limit="100"}}
|
{{#get "tags" limit="100"}}
|
||||||
|
|||||||
Reference in New Issue
Block a user