From a6207aab7061495fadc5f0046148b9593e4e656a Mon Sep 17 00:00:00 2001 From: "Jiko21 (a.k.a Daiki Kojima)" Date: Sat, 22 Nov 2025 00:40:43 +0900 Subject: [PATCH 1/2] Add GitHub Actions workflow for static site deployment This workflow automates the deployment of static content to GitHub Pages upon pushes to the main branch or manually via the Actions tab. --- .github/workflows/static.yml | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/static.yml diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 0000000..f2c9e97 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,43 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From 3e8e501be6584916384b3621e38a9f0412616222 Mon Sep 17 00:00:00 2001 From: jiko21 Date: Sat, 22 Nov 2025 00:48:55 +0900 Subject: [PATCH 2/2] update --- .github/workflows/static.yml | 16 ++++++++++++++-- docs/index.ts | 9 +++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 docs/index.ts diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index f2c9e97..5b07440 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -31,13 +31,25 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - name: Install dependencies + run: bun install + - name: Generate HTML + run: bun run src/index.ts docs/index.ts + - name: Prepare deployment directory + run: | + mkdir -p _site + cp index.html _site/ - name: Setup Pages uses: actions/configure-pages@v5 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: - # Upload entire repository - path: '.' + # Upload only the generated HTML + path: '_site' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 diff --git a/docs/index.ts b/docs/index.ts new file mode 100644 index 0000000..9226b39 --- /dev/null +++ b/docs/index.ts @@ -0,0 +1,9 @@ +import type { Body, Div, Html, P } from '../src/html'; + +type PageHtml = Html< + Body<[ + Div<'Hello'>, + Div<[P<'This is a page of html-type.'>]>, + Div<[P<'TypeScript-typed HTML generation.'>]>, + ]> +>;