{"id":51135184,"url":"https://github.com/hayanmind/repub","last_synced_at":"2026-06-25T17:01:49.914Z","repository":{"id":339769563,"uuid":"1160003765","full_name":"hayanmind/repub","owner":"hayanmind","description":"RePub — ePub 리마스터링 자동화 툴체인 (검수·KPI·카드뉴스/영상/내레이션 파이프라인)","archived":false,"fork":false,"pushed_at":"2026-05-11T13:23:12.000Z","size":26169,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-11T15:27:10.387Z","etag":null,"topics":["accessibility","ai","epub","epub3","korean","nextjs","open-source","publishing","remastering","typescript"],"latest_commit_sha":null,"homepage":"https://gov-epub-2026-three.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hayanmind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-17T12:32:31.000Z","updated_at":"2026-05-11T13:25:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d11d3d9-9218-4b08-ba41-5b5d9417d230","html_url":"https://github.com/hayanmind/repub","commit_stats":null,"previous_names":["hayanmind/epub-remastering-tool","hayanmind/repub"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hayanmind/repub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hayanmind%2Frepub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hayanmind%2Frepub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hayanmind%2Frepub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hayanmind%2Frepub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hayanmind","download_url":"https://codeload.github.com/hayanmind/repub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hayanmind%2Frepub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34784113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","ai","epub","epub3","korean","nextjs","open-source","publishing","remastering","typescript"],"created_at":"2026-06-25T17:01:49.032Z","updated_at":"2026-06-25T17:01:49.907Z","avatar_url":"https://github.com/hayanmind.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RePub — AI 기반 ePub 2.0 → 3.0 리마스터링 라이브러리\n\n[![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)\n[![pnpm](https://img.shields.io/badge/pnpm-%3E%3D9-orange)](https://pnpm.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![CI](https://github.com/hayanmind/repub/actions/workflows/ci.yml/badge.svg)](https://github.com/hayanmind/repub/actions/workflows/ci.yml)\n\n\u003e **Re-imagined ePub. AI가 다시 짓는 전자책.**\n\u003e\n\u003e 구형 ePub 2.0 전자책을 최신 국제표준 **ePub 3.0 인터랙티브 콘텐츠**로 자동 변환하는 오픈소스 라이브러리입니다. 라이브러리(`@gov-epub/core`)와 Sigil 편집기 플러그인(`ePubRemaster`)으로 구성됩니다.\n\n## 📦 구성\n\n```\nrepub/\n├── packages/\n│   ├── core/              # ePub 2.0 → 3.0 변환 엔진 + CLI (epub-remaster)\n│   └── sigil-plugin/      # Sigil 편집기 Python 플러그인 (ePubRemaster)\n├── fixtures/              # 테스트용 ePub 샘플 (3종 자체 + 4종 공개 도메인)\n├── docs/                  # 기술 문서\n│   ├── README.md          # 라이브러리 사용 가이드\n│   ├── API.md             # 프로그래매틱 API 명세\n│   ├── ARCHITECTURE.md    # 아키텍처 설계 문서\n│   ├── FAQ.md             # 자주 묻는 질문\n│   └── SIGIL-INTEGRATION.md # Sigil 플러그인 연동 분석\n├── CLAUDE.md              # 개발 가이드라인\n├── CONTRIBUTING.md        # 기여 가이드\n└── LICENSE                # MIT\n```\n\n## ✨ 주요 기능\n\n| 기능 | 설명 |\n|------|------|\n| **ePub 2.0 자동 파싱** | OPF/NCX/XHTML 구조 분석, 메타데이터 추출, 인코딩 자동 복구, 10종 핵심 오류 패턴 자동 검출 |\n| **AI 콘텐츠 재구성** | 시맨틱 태그(h1~h6, figcaption, blockquote 등) 자동 부여, 스타일 매핑, 불필요 태그 정리 |\n| **인터랙티브 요소** | 퀴즈 자동 생성, TTS 음성 변환, SMIL 미디어 오버레이 자동 싱크, 용어 팝업, AI 이미지 추천, AI 튜터 |\n| **ePub 3.0 변환** | HTML5/CSS3/JS 기반 자동 패키징, ePubCheck 자동 검증 |\n| **접근성 자동 적용** | KWCAG 2.1 AA, EPUB Accessibility 1.1, 이미지 alt 텍스트 자동 생성, 읽기 순서 최적화 |\n| **Sigil 플러그인** | 출판사 편집자가 기존 워크플로우 유지하며 변환 가능 (API/Local 듀얼 모드) |\n\n## 🚀 빠른 시작\n\n### 요구사항\n\n- **Node.js** 20 이상\n- **pnpm** 9 이상 (`npm install -g pnpm`)\n\n### 설치 및 빌드\n\n```bash\ngit clone https://github.com/hayanmind/repub.git\ncd repub\npnpm install\npnpm build\n```\n\n### CLI 사용\n\n```bash\n# 변환\nnpx @gov-epub/core convert input.epub -o output.epub\n\n# 검증만\nnpx @gov-epub/core validate input.epub\n\n# 메타데이터만 출력\nnpx @gov-epub/core info input.epub --format json\n```\n\n### 라이브러리로 사용\n\n```typescript\nimport { processEpub } from '@gov-epub/core';\n\nconst result = await processEpub('./input.epub', {\n  output: './output.epub',\n  enableQuiz: true,\n  enableTTS: true,\n  enableAccessibility: true,\n});\n\nconsole.log(`변환 성공: ${result.success}`);\nconsole.log(`ePubCheck 통과: ${result.report.epubcheck.passed}`);\n```\n\n## 🧪 Mock 모드\n\nAPI 키 없이도 전체 기능을 테스트할 수 있습니다. 환경 변수에 API 키가 없으면 자동으로 Mock 모드로 동작하여 데모용 결과를 생성합니다.\n\nAPI 키를 설정하려면 `.env` 파일에 추가:\n- `GEMINI_API_KEY` (메인 LLM, 권장)\n- `OPENAI_API_KEY`, `ANTHROPIC_API_KEY` (선택 LLM)\n- `ELEVENLABS_API_KEY` (TTS, 선택)\n- `STABILITY_API_KEY` (이미지 생성, 선택)\n\n## 🧰 Sigil 플러그인 사용\n\n`packages/sigil-plugin/` 디렉토리의 `ePubRemaster_v1.0.0.zip`을 Sigil 편집기에 import하면 됩니다. 자세한 설치 가이드는 `packages/sigil-plugin/README.md` 참조.\n\n## 🛠 개발\n\n```bash\npnpm install            # 의존성 설치\npnpm build              # 모든 패키지 빌드\npnpm test               # 단위·통합 테스트 (60+ 케이스)\npnpm lint               # 린트\npnpm clean              # 빌드 산출물 삭제\n```\n\n## 📚 문서\n\n- [`docs/README.md`](docs/README.md) — 사용 가이드\n- [`docs/API.md`](docs/API.md) — 프로그래매틱 API 명세\n- [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — 아키텍처 설계 문서\n- [`docs/FAQ.md`](docs/FAQ.md) — 자주 묻는 질문\n- [`docs/SIGIL-INTEGRATION.md`](docs/SIGIL-INTEGRATION.md) — Sigil 플러그인 연동\n- [`CONTRIBUTING.md`](CONTRIBUTING.md) — 기여 가이드\n\n## 🌐 라이브 데모 / 서비스\n\n본 라이브러리를 활용한 SaaS 서비스 (별도 운영):\n- **RePub SaaS**: https://repub.hayanmind.com\n- 서비스 코드는 별도 비공개 리포 (`hayanmind/repub-app`) 에서 관리됩니다.\n\n## 🏛 사업 배경\n\n본 프로젝트는 **2025년 한국출판문화산업진흥원 출판콘텐츠 기술개발 지원 사업**의 결과물로, **(주)하얀마인드**가 단독 주관 개발하였습니다. 사업 종료 후 핵심 모듈을 MIT 오픈소스로 공개합니다.\n\n- 사업 문서·외주 산출물·정부 평가 자료: [`hayanmind/gov-epub-2026`](https://github.com/hayanmind/gov-epub-2026) (비공개)\n\n## 📜 라이선스\n\n[MIT License](LICENSE) © 2025-2026 ㈜하얀마인드 (Hayanmind Inc.)\n\n## 🤝 기여\n\n[CONTRIBUTING.md](CONTRIBUTING.md)를 참조하세요. 이슈와 PR을 환영합니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhayanmind%2Frepub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhayanmind%2Frepub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhayanmind%2Frepub/lists"}