docs: add GitHub Pages repository README
Publish GitHub Pages output / publish (push) Successful in 47s

This commit is contained in:
2026-08-31 14:12:12 +09:00
parent bcd47d93e7
commit c01a3e534b
4 changed files with 48 additions and 3 deletions
+32
View File
@@ -0,0 +1,32 @@
# 홀로도리 계산기
홀로도리의 라이브 편성·점수 분석과 카드, 보드, 악곡 정보를 확인할 수 있는 비공식 웹 도구입니다.
## 서비스
[홀로도리 계산기 열기](https://doricalc-holo.live/)
## 주요 기능
- 라이브 편성 및 점수 분석
- 카드와 보드 정보 확인
- 악곡 및 채보 데이터 조회
- 편성 조합 최적화와 이벤트 효율 비교
## 의견 보내기
- [버그 제보](https://docs.google.com/forms/d/1z9c0c1crbCO6avXaYwrHZjhw2ib3zgAmW4ijJDTo4DM)
- [기능 건의](https://docs.google.com/forms/d/16NcTst7Rpa9XzqYIfPa4t9JF2X0CMfYzEbZrT8PLqco)
- [데이터 오류 제보](https://docs.google.com/forms/d/1bShzsxNN-iTk0uU3RfMfmLkYXYmUTmIWMmCtQmfl_Ik)
## 데이터와 개인정보
서비스는 정적 GitHub Pages로 제공되며, 계산과 사용자 데이터 저장은 브라우저에서 처리됩니다. 공개 가능 시각과 승인 데이터 버전 검증을 통과한 데이터만 배포합니다.
## 저장소 안내
이 저장소에는 GitHub Pages 배포용으로 자동 생성된 파일만 있습니다. 원본 코드와 개발 데이터는 별도의 비공개 저장소에서 관리하며, 이 저장소의 파일은 자동 배포 과정에서 갱신될 수 있습니다.
## 비공식 서비스
이 서비스는 게임 공식 운영 주체와 관련 없는 비공식 팬 도구입니다.
+3 -1
View File
@@ -6,6 +6,7 @@ $ErrorActionPreference = 'Stop'
$projectRoot = Split-Path -Parent $PSScriptRoot
$siteSource = Join-Path $projectRoot 'pages-dist'
$readmeSource = Join-Path $projectRoot 'pages/README.md'
$workflowSource = Join-Path $projectRoot 'pages/deploy.yml'
$temporaryRoot = Join-Path ([System.IO.Path]::GetTempPath()) ("holodori-pages-{0}" -f [guid]::NewGuid().ToString('N'))
$checkout = Join-Path $temporaryRoot 'repository'
@@ -28,13 +29,14 @@ try {
if (Test-Path -LiteralPath $oldSiteTarget) {
Remove-Item -LiteralPath $oldSiteTarget -Recurse -Force
}
foreach ($generatedPath in @('assets', 'icons', 'index.html', 'README.txt', 'VERSION.txt', '.nojekyll')) {
foreach ($generatedPath in @('assets', 'icons', 'index.html', 'README.md', 'README.txt', 'VERSION.txt', '.nojekyll')) {
$target = Join-Path $resolvedCheckout $generatedPath
if (Test-Path -LiteralPath $target) {
Remove-Item -LiteralPath $target -Recurse -Force
}
}
Copy-Item -Path (Join-Path $siteSource '*') -Destination $resolvedCheckout -Recurse -Force
Copy-Item -LiteralPath $readmeSource -Destination (Join-Path $resolvedCheckout 'README.md') -Force
New-Item -ItemType File -Path (Join-Path $resolvedCheckout '.nojekyll') -Force | Out-Null
$workflowTarget = Join-Path $resolvedCheckout '.github/workflows'
+10 -1
View File
@@ -6,6 +6,7 @@ const htmlPath = path.join(output, 'index.html');
const scriptPath = path.join(output, 'assets', 'app.js');
const stylePath = path.join(output, 'assets', 'app.css');
const packageJson = JSON.parse(await readFile(path.resolve('package.json'), 'utf8'));
const isPagesBuild = path.basename(output) === 'pages-dist';
let html = await readFile(htmlPath, 'utf8');
html = html.replace(/<script type="module" crossorigin src=/g, '<script defer src=');
@@ -45,7 +46,15 @@ await writeFile(stylePath, style);
await rm(path.join(output, 'data'), { recursive: true, force: true });
await writeFile(path.join(output, 'VERSION.txt'), `${packageJson.version}\n`);
await writeFile(path.join(output, 'README.txt'), `홀로도리 계산기 ${packageJson.version}
await writeFile(path.join(output, 'README.txt'), isPagesBuild
? `홀로도리 계산기 ${packageJson.version}
서비스: https://doricalc-holo.live/
이 파일들은 GitHub Pages 배포용으로 자동 생성되었습니다.
계산과 사용자 데이터 저장은 사용자의 브라우저에서 처리됩니다.
`
: `홀로도리 계산기 ${packageJson.version}
1. 압축파일의 내용을 모두 한 폴더에 풀어 주세요.
2. index.html을 Chrome 또는 Edge로 열어 주세요.
+3 -1
View File
@@ -7,6 +7,7 @@ import { fileURLToPath } from 'node:url';
const projectRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
const siteSource = path.join(projectRoot, 'pages-dist');
const readmeSource = path.join(projectRoot, 'pages', 'README.md');
const repository = process.env.GITHUB_PAGES_REPOSITORY ?? 'https://github.com/DD4SN/DD4SN.github.io.git';
if (!process.env.GITHUB_PAGES_TOKEN) {
@@ -48,9 +49,10 @@ try {
await requireGit(['clone', repository, checkout], { env: gitEnvironment });
const generatedPaths = ['site', 'assets', 'icons', 'index.html', 'README.txt', 'VERSION.txt', '.nojekyll'];
const generatedPaths = ['site', 'assets', 'icons', 'index.html', 'README.md', 'README.txt', 'VERSION.txt', '.nojekyll'];
await Promise.all(generatedPaths.map((generatedPath) => rm(path.join(checkout, generatedPath), { recursive: true, force: true })));
await cp(siteSource, checkout, { recursive: true });
await cp(readmeSource, path.join(checkout, 'README.md'));
await writeFile(path.join(checkout, '.nojekyll'), '');
await requireGit(['config', 'user.name', 'HolodoriCalc deployment'], { cwd: checkout, env: gitEnvironment });