From 6f4b6c5432c74a97c9f236711f3b7c232c33fbf7 Mon Sep 17 00:00:00 2001 From: Gakuto1112 Date: Sat, 4 Nov 2023 16:53:51 +0900 Subject: [PATCH 1/3] =?UTF-8?q?README=E7=94=9F=E6=88=90=E3=82=B9=E3=82=AF?= =?UTF-8?q?=E3=83=AA=E3=83=97=E3=83=88=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/readme_generator/package-lock.json | 193 ------------------- .github/readme_generator/package.json | 16 -- .github/readme_generator/readme_generator.ts | 106 ---------- .gitignore | 1 - 4 files changed, 316 deletions(-) delete mode 100644 .github/readme_generator/package-lock.json delete mode 100644 .github/readme_generator/package.json delete mode 100644 .github/readme_generator/readme_generator.ts diff --git a/.github/readme_generator/package-lock.json b/.github/readme_generator/package-lock.json deleted file mode 100644 index edfac2bb..00000000 --- a/.github/readme_generator/package-lock.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "name": "@gakuto1112/readme-generator", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@gakuto1112/readme-generator", - "version": "1.0.0", - "dependencies": { - "ts-node": "^10.9.1", - "typescript": "^5.2.2" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" - }, - "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", - "peer": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "peer": true - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - } - } -} diff --git a/.github/readme_generator/package.json b/.github/readme_generator/package.json deleted file mode 100644 index 4cb38256..00000000 --- a/.github/readme_generator/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "@gakuto1112/readme-generator", - "version": "1.0.0", - "description": "A script to generate README for my Figura avatars from templates.", - "main": "generate_readme.js", - "keywords": [ - "readme", - "generate", - "template" - ], - "author": "Gakuto1112", - "dependencies": { - "ts-node": "^10.9.1", - "typescript": "^5.2.2" - } -} diff --git a/.github/readme_generator/readme_generator.ts b/.github/readme_generator/readme_generator.ts deleted file mode 100644 index 23611fbd..00000000 --- a/.github/readme_generator/readme_generator.ts +++ /dev/null @@ -1,106 +0,0 @@ -import fs from "fs"; -import readline from "readline"; - -class ReadmeGenerator { - /** - * 対象のレポジトリの名前 - */ - private readonly REPOSITORY_NAME: string; - - /** - * テンプレートレポジトリの名前 - */ - private readonly TEMPLATE_REPOSITORY_NAME: string; - - /** - * 対象のブランチの名前 - */ - private readonly TEMPLATE_BRANCH_NAME: string; - - - /** - * fetchして入手したマークダウンのキャッシュ - */ - private readonly caches: {[key: string]: string} = {}; - - /** - * コンストラクタ - */ - constructor(repositoryName: string, templateRepositoryName: string, templateBranchName: string) { - this.REPOSITORY_NAME = repositoryName; - this.TEMPLATE_REPOSITORY_NAME = templateRepositoryName; - this.TEMPLATE_BRANCH_NAME = templateBranchName; - } - - /** - * READMEをテンプレートから生成する。 - * @param inputPath 入力するテンプレートのパス - * @param outputPath 生成するREADMEの出力先のパス - */ - public async generateReadme(inputPath: string, outputPath: string): Promise { - const writeStream: fs.WriteStream = fs.createWriteStream(outputPath, {encoding: "utf-8"}); - for await (let line of readline.createInterface({input: fs.createReadStream(inputPath, {encoding: "utf-8"}), output: writeStream})) { - //画像のソースファイルの置き換え - line = line.replace(/\.\.\/README_images\//g, "./README_images/"); - - //テンプレートを挿入 - const injectTags: IterableIterator = line.matchAll(//g); - let charCount: number = 0; - for(const injectTag of injectTags) { - writeStream.write(line.substring(charCount, injectTag.index)); - charCount += (injectTag.index as number) + injectTag[0].length; - const fileName: string = (inputPath.match(/([^\\\/:*?"><|]+)\.md/) as RegExpMatchArray)[1]; - if(this.caches[`${injectTag[1]}_${fileName}`] != undefined) writeStream.write(this.caches[`${injectTag[1]}_${fileName}`]); - else { - const result: Response = await fetch(`https://raw.githubusercontent.com/${this.TEMPLATE_REPOSITORY_NAME}/${this.TEMPLATE_BRANCH_NAME}/templates/${injectTag[1]}/${fileName}.md`); - if(result.ok) { - console.info(`Fetched a resource. ${result.status} - ${result.statusText}`); - let text: string = await result.text(); - if(injectTag[1] == "notes") { - //プレースホルダの置き換え - text = text.replace("", this.REPOSITORY_NAME); - } - writeStream.write(text); - this.caches[`${injectTag[1]}_${fileName}`] = text; - } - else { - console.warn(`Failed to fetch a resource. ${result.status} - ${result.statusText}\nThis inject tag was skipped.`); - writeStream.write(``); - } - } - } - writeStream.write(`${line.substring(charCount)}\n`); - } - } - -} - -/** - * メイン関数 - */ -async function main(): Promise { - /** - * コマンドライン引数を確認する。 - * @param argIndex 確認する引数のインデクス番号(1つ目の引数は0、2つ目の引数は1、...) - * @param errorMessage 引数が指定されていない場合のエラーメッセージ - * @returns 引数が指定されていればtrue、指定されていなければfalseを返す。 - */ - function checkArgs(argIndex: number, errorMessage: string): boolean { - if(process.argv[argIndex + 2] != undefined && process.argv[argIndex + 2].length > 0) return true; - else { - console.error(errorMessage); - return false; - } - } - - if(checkArgs(0, "The repository name is not specified.") && checkArgs(1, "The template repository name is not specified.") && checkArgs(2, "The branch name of the template repository is not specified.")) { - const readmeGenerator: ReadmeGenerator = new ReadmeGenerator(process.argv[2], process.argv[3], process.argv[4]); - console.info("Generating README.md..."); - await readmeGenerator.generateReadme("../README_templates/en.md", "../README.md"); - console.info("Generating README_jp.md..."); - await readmeGenerator.generateReadme("../README_templates/jp.md", "../README_jp.md"); - } - else process.exit(1); -} - -main(); \ No newline at end of file diff --git a/.gitignore b/.gitignore index 2e77fc3c..61454264 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,3 @@ .luarc.json avatar.code-workspace .DS_Store -.github/readme_generator/node_modules From 65c681715a2c4b3fe4723af0eb6791796c13ae1b Mon Sep 17 00:00:00 2001 From: Gakuto1112 Date: Sat, 4 Nov 2023 17:08:53 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A4=96=E9=83=A8=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E3=81=8B=E3=82=89=E3=83=95=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=82=92=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/generate_readme.yaml | 51 ++------------------------ 1 file changed, 3 insertions(+), 48 deletions(-) diff --git a/.github/workflows/generate_readme.yaml b/.github/workflows/generate_readme.yaml index dc92407c..bb1a52a1 100644 --- a/.github/workflows/generate_readme.yaml +++ b/.github/workflows/generate_readme.yaml @@ -10,14 +10,6 @@ on: - '.github/README_templates/**' - '.github/README_images/**' - '.github/workflows/generate_readme.yaml' - workflow_call: - inputs: - repository-name: - required: true - type: string - branch-name: - required: true - type: string jobs: generate-readme: @@ -26,44 +18,7 @@ jobs: permissions: contents: write steps: - - name: Output env variables (push) - if: ${{ github.event_name == 'push' }} - run: | - echo 'REPOSITORY_NAME=${{ github.repository }}' >> $GITHUB_ENV - echo 'BRANCH_NAME=${{ github.ref_name }}' >> $GITHUB_ENV - - name: Output env variables (workflow_call) - if: ${{ github.event_name == 'workflow_call' }} - run: | - echo 'REPOSITORY_NAME=${{ inputs.repository-name }}' >> $GITHUB_ENV - echo 'BRANCH_NAME=${{ inputs.branch-name }}' >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4.1.1 + - name: Call README generator + uses: Gakuto1112/FiguraAvatarsReadmeTemplate/.github/workflows/generate_my_figura_avatar_readme.yaml@main with: - ref: ${{ env.BRANCH_NAME }} - - name: Setup Node.js@20.8.0 - uses: actions/setup-node@v4.0.0 - with: - node-version: 20.8.0 - cache: npm - cache-dependency-path: './.github/readme_generator/package-lock.json' - - name: Install script dependencies - working-directory: ./.github/readme_generator - run: npm install - - name: Generate README - working-directory: ./.github/readme_generator - run: ./node_modules/.bin/ts-node ./readme_generator.ts ${{ env.REPOSITORY_NAME }} Gakuto1112/FiguraAvatarsReadmeTemplate main - - id: check_diff - name: Check diff - continue-on-error: true - run: | - git add -N --all - git diff --exit-code - - name: Commit and push - if: ${{ steps.check_diff.outcome == 'failure' }} - run: | - git remote set-url origin https://github-actions:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY} - git config user.name github-actions[bot] - git config user.email github-actions[bot]@users.noreply.github.com - git add --all - git commit -m '[GitHub Actions] ドキュメントの自動生成' -m '対象のコミット: ${{ github.sha }}' - git push origin \ No newline at end of file + branch-name: ${{ github.ref_name }} \ No newline at end of file From 58fd27aeef4257887c4f326bfb57f884118280ef Mon Sep 17 00:00:00 2001 From: Gakuto1112 Date: Sat, 4 Nov 2023 17:13:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=96=E9=83=A8=E3=83=95=E3=83=AD?= =?UTF-8?q?=E3=83=BC=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=97=E3=81=AE=E3=83=AC?= =?UTF-8?q?=E3=83=99=E3=83=AB=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/generate_readme.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate_readme.yaml b/.github/workflows/generate_readme.yaml index bb1a52a1..6a2c627d 100644 --- a/.github/workflows/generate_readme.yaml +++ b/.github/workflows/generate_readme.yaml @@ -14,11 +14,8 @@ on: jobs: generate-readme: name: Generate README - runs-on: ubuntu-latest permissions: contents: write - steps: - - name: Call README generator - uses: Gakuto1112/FiguraAvatarsReadmeTemplate/.github/workflows/generate_my_figura_avatar_readme.yaml@main - with: - branch-name: ${{ github.ref_name }} \ No newline at end of file + uses: Gakuto1112/FiguraAvatarsReadmeTemplate/.github/workflows/generate_my_figura_avatar_readme.yaml@main + with: + branch-name: ${{ github.ref_name }} \ No newline at end of file