diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..41def0f --- /dev/null +++ b/.env.example @@ -0,0 +1,62 @@ +# designpaca 배포 환경 +# +# 이 파일은 커밋된다. 실제 값은 `.env` 에 넣어라 (.gitignore 에 있다). +# cp .env.example .env +# +# 채워진 값은 실측으로 확인한 것이고, 빈 값은 사람이 발급해야 하는 것이다. + +# ── NAS ────────────────────────────────────────────────────── +# Synology DS420+ · Linux 4.4.302+ · Tailscale 로 접근한다. +# SSH 키(id_ed25519)로 이미 붙는다. 비밀번호가 필요 없다. +NAS_HOST=100.116.83.60 +NAS_HOST_LAN=192.168.0.39 +NAS_USER=yunchan + +# ── Forgejo ────────────────────────────────────────────────── +# 컨테이너 kd-forgejo (codeberg.org/forgejo/forgejo:11) + postgres:16-alpine +# 웹 3000 → Cloudflare 프록시로 https://git.chanpaca.net +# git SSH 2222 → 컨테이너 내부 22 +# +# 주의: git.chanpaca.net 은 Cloudflare 뒤라 22/2222 가 막혀 있다. +# git push 는 도메인이 아니라 Tailscale 주소로 해야 한다. +FORGEJO_URL=https://git.chanpaca.net +FORGEJO_SSH_HOST=100.116.83.60 +FORGEJO_SSH_PORT=2222 +FORGEJO_CONTAINER=kd-forgejo + +# 등록된 SSH 키 이름: encep-win (yunchan 계정) +FORGEJO_OWNER=yunchan +FORGEJO_REPO=designpaca + +# 완성되는 remote URL: +# ssh://git@100.116.83.60:2222/yunchan/designpaca.git + +# ── 사람이 발급해야 하는 것 ────────────────────────────────── +# 아래는 전부 비워둔다. 값을 아는 사람만 채울 수 있다. + +# Forgejo API 토큰. 저장소 생성·시크릿 등록에 쓴다. +# git.chanpaca.net → 설정 → 애플리케이션 → 토큰 생성 +# 권한: repository(write), user(read) +FORGEJO_TOKEN= + +# npmjs 배포 토큰 (Automation 타입). +# npmjs.com → Access Tokens → Generate → Automation +NPM_TOKEN= + +# Forgejo 사설 npm 레지스트리 미러용 토큰. +# FORGEJO_TOKEN 과 같은 값을 써도 되지만, 권한을 나누려면 따로 발급한다. +FORGEJO_NPM_TOKEN= + +# Forgejo 릴리스 생성용 토큰. 워크플로가 draft 릴리스를 만든다. +RELEASE_TOKEN= + +# Cloudflare Pages 배포. +# dash.cloudflare.com → My Profile → API Tokens +# 권한: Account / Cloudflare Pages / Edit +CF_API_TOKEN= +CF_ACCOUNT_ID= + +# Cloudflare Pages 프로젝트 이름 (아직 만들지 않았다) +CF_PAGES_PROJECT= +# 연결할 도메인 +SITE_DOMAIN=designpaca.chanpaca.net diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..20b5441 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# 배포되는 텍스트는 어느 OS 에서 체크아웃하든 LF 다. +# SKILL.md 의 YAML 프론트매터가 CRLF 에서 파서에 따라 깨진다. +* text=auto eol=lf +*.png binary +*.webp binary +*.ico binary diff --git a/apps/site/src/components/Install.astro b/apps/site/src/components/Install.astro index 4ec0b1d..9b19919 100644 --- a/apps/site/src/components/Install.astro +++ b/apps/site/src/components/Install.astro @@ -41,10 +41,25 @@ const { c, ui } = Astro.props; + + {/* 푸터를 없앴으므로 출처와 라이선스는 여기 한 줄로 남는다. + 링크 하나 없이 배포하면 사용자가 소스를 찾을 방법이 사라진다. */} +

+ {c.colophon.repo} + {c.colophon.license} + {c.colophon.made} +

diff --git a/apps/site/src/i18n/content.ts b/apps/site/src/i18n/content.ts index fc9293a..385d425 100644 --- a/apps/site/src/i18n/content.ts +++ b/apps/site/src/i18n/content.ts @@ -86,8 +86,8 @@ export interface Content { command: string; targets: { name: string; path: string }[]; commands: { cmd: string; what: string }[]; + colophon: { made: string; repo: string; license: string }; }; - footer: { made: string; repo: string; license: string }; nav: { items: { label: string; href: string }[]; menu: string }; ui: { copy: string; copied: string }; } @@ -377,11 +377,11 @@ export const ko: Content = { { cmd: "npx designpaca doctor", what: "설치 상태와 드리프트 진단" }, { cmd: "npx designpaca uninstall", what: "매니페스트 기반 정확한 제거" }, ], - }, - footer: { - made: "이 페이지는 designpaca 로 만들어졌다.", - repo: "git.chanpaca.net/yunchan/designpaca", - license: "MIT", + colophon: { + made: "designpaca 로 만들었다", + repo: "git.chanpaca.net/yunchan/designpaca", + license: "MIT", + }, }, nav: { items: [ @@ -612,11 +612,11 @@ export const en: Content = { { cmd: "npx designpaca doctor", what: "Diagnose install state and drift" }, { cmd: "npx designpaca uninstall", what: "Exact removal, driven by the manifest" }, ], - }, - footer: { - made: "This page was built with designpaca.", - repo: "git.chanpaca.net/yunchan/designpaca", - license: "MIT", + colophon: { + made: "Built with designpaca", + repo: "git.chanpaca.net/yunchan/designpaca", + license: "MIT", + }, }, nav: { items: [ diff --git a/apps/site/src/layouts/Base.astro b/apps/site/src/layouts/Base.astro index 5176b0c..200a643 100644 --- a/apps/site/src/layouts/Base.astro +++ b/apps/site/src/layouts/Base.astro @@ -133,9 +133,6 @@ const FAVICON = -