BLOCK8 전체 소스 전달용 압축 파일 생성
This commit is contained in:
1 parent
89065abe4f
commit
f8ecd4f5c0
3 files changed
+54
No files matched your search
Binary file not shown.
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
"""프로젝트 소스와 검토 자료를 전달용 ZIP으로 묶는다."""
|
||||
|
||||
from pathlib import Path
|
||||
from zipfile import ZIP_DEFLATED, ZipFile
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
OUTPUT = ROOT / "public/BLOCK8_소스코드_전달자료.zip"
|
||||
ARCHIVE_ROOT = "광터지하차도_BLOCK8_전달자료"
|
||||
EXCLUDED = {"BLOCK8_소스코드_전달자료.zip"}
|
||||
|
||||
GUIDE = """# 광터지하차도 BLOCK8 전달 자료 안내
|
||||
|
||||
이 압축 파일에는 웹 3D 모델의 전체 작성 코드와 결과물, 근거 자료가 들어 있습니다.
|
||||
|
||||
## 실행 방법
|
||||
|
||||
1. Node.js를 설치합니다.
|
||||
2. 이 폴더에서 `npm install`을 실행합니다.
|
||||
3. `npm run dev`를 실행하고 터미널에 나온 주소를 브라우저에서 엽니다.
|
||||
|
||||
## 주요 폴더
|
||||
|
||||
- `src/`: React 화면, 뷰어, 모델 JSON
|
||||
- `scripts/`: DXF 모델 추출, SVG 미리보기 생성, 단독 HTML 생성, 전달 ZIP 생성 코드
|
||||
- `public/`: 원본 DXF, 분석·작업·커밋 기록, 단독 HTML 결과물
|
||||
- `docs/`: 상세 분석과 모델 미리보기
|
||||
|
||||
## 포함하지 않은 항목
|
||||
|
||||
`node_modules/`, `dist/`, `.git/`은 포함하지 않았습니다. 의존성은 `npm install`로 설치하고, 빌드 결과는 `npm run build`로 다시 만들 수 있습니다. Git 커밋 목록은 `public/BLOCK8_커밋기록.md`에서 확인하세요.
|
||||
|
||||
현재 기준 커밋: `89065ab` (단독 HTML file 실행 호환성 개선)
|
||||
"""
|
||||
|
||||
|
||||
def main():
|
||||
files = [ROOT / "AGENTS.md", ROOT / "README.md", ROOT / "index.html", ROOT / "package.json", ROOT / "package-lock.json", ROOT / "vite.config.js"]
|
||||
for folder in ("src", "scripts", "docs", "public"):
|
||||
files.extend(path for path in (ROOT / folder).rglob("*") if path.is_file() and path.name not in EXCLUDED)
|
||||
files = sorted(set(files))
|
||||
|
||||
OUTPUT.parent.mkdir(parents=True, exist_ok=True)
|
||||
with ZipFile(OUTPUT, "w", compression=ZIP_DEFLATED, compresslevel=9) as archive:
|
||||
archive.writestr(f"{ARCHIVE_ROOT}/전달자료_안내.md", GUIDE)
|
||||
for path in files:
|
||||
archive.write(path, f"{ARCHIVE_ROOT}/{path.relative_to(ROOT).as_posix()}")
|
||||
|
||||
print(f"{OUTPUT.relative_to(ROOT)} 생성 완료: {len(files) + 1}개 파일, {OUTPUT.stat().st_size:,} bytes")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -59,6 +59,7 @@ export default function App() {
|
||||
<a href="/BLOCK8_작업인수인계.md" target="_blank" rel="noreferrer">인수인계 파일 ↗</a>
|
||||
<a href="/BLOCK8_커밋기록.md" target="_blank" rel="noreferrer">커밋 기록 ↗</a>
|
||||
<a href="/BLOCK8_모델웹페이지.html" target="_blank" rel="noreferrer">단독 HTML ↗</a>
|
||||
<a href="/BLOCK8_소스코드_전달자료.zip" download>전체 소스 ZIP ↓</a>
|
||||
<a href="/작업기록.txt" target="_blank" rel="noreferrer">작업 로그 ↗</a>
|
||||
<a href="/drawings/광터지하차도_BLOCK8.dxf" download>원본 DXF ↓</a>
|
||||
</nav>
|
||||
|
||||
Reference in new issue
Block a user