From 6499daadb1ab3611d8d5e50dd087d48f592ac9d9 Mon Sep 17 00:00:00 2001 From: Kenji Morishige Date: Tue, 9 Jun 2026 20:18:25 -0500 Subject: [PATCH] Initial scaffold: Cloudflare Pages + Worker + README + wrangler --- README.md | 32 ++++++++++++++++++++++++++++++++ index.html | 17 +++++++++++++++++ worker/package.json | 11 +++++++++++ worker/src/index.js | 12 ++++++++++++ wrangler.toml | 8 ++++++++ 5 files changed, 80 insertions(+) create mode 100644 README.md create mode 100644 index.html create mode 100644 worker/package.json create mode 100644 worker/src/index.js create mode 100644 wrangler.toml diff --git a/README.md b/README.md new file mode 100644 index 0000000..928b8a6 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# Cloudflare Experiment — minimal site + Workers scaffold + +This repository contains a minimal static site and a small Workers scaffold so you can try both Cloudflare Pages and Cloudflare Workers/Wrangler deployments. + +Quick commands + +- Serve locally (simple): +```bash +python -m http.server 8000 +# open http://localhost:8000 +``` + +- Cloudflare Pages (quick): +1. Push this repo to GitHub/GitLab/Bitbucket. +2. In the Cloudflare dashboard → **Pages** → **Create a project**, connect your repo, set the build/publish directory (for this repo: `.`), and deploy. +3. Use the provided `.pages.dev` domain, or add a custom domain in the Pages project settings. + +- Cloudflare Workers + Wrangler (quick): +```bash +# Install wrangler (if needed) +npm install -g wrangler +wrangler login +# Start local dev for the worker +cd worker +wrangler dev +# Publish the worker to workers.dev (requires account_id in wrangler.toml or interactive auth) +wrangler publish +``` + +Notes +- Replace placeholders in `wrangler.toml` with your `account_id` and optionally `zone_id` when mapping to a custom domain. +- For Pages, no Cloudflare account-level secret is needed; connect via the dashboard. diff --git a/index.html b/index.html new file mode 100644 index 0000000..423cd2e --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + Cloudflare Test Site + + + +

Cloudflare test site

+

This is a minimal static site for testing Cloudflare Pages or DNS/proxy setups.

+ + + diff --git a/worker/package.json b/worker/package.json new file mode 100644 index 0000000..62b0c29 --- /dev/null +++ b/worker/package.json @@ -0,0 +1,11 @@ +{ + "name": "cloudflare-experiment-worker", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "wrangler dev", + "deploy": "wrangler publish" + }, + "devDependencies": {} +} diff --git a/worker/src/index.js b/worker/src/index.js new file mode 100644 index 0000000..5e69a49 --- /dev/null +++ b/worker/src/index.js @@ -0,0 +1,12 @@ +export default { + async fetch(request, env, ctx) { + return new Response(` + + Cloudflare Worker Test + +

Cloudflare Worker test

+

Served from a Cloudflare Worker.

+ `, + { headers: { 'content-type': 'text/html; charset=utf-8' } }) + } +} diff --git a/wrangler.toml b/wrangler.toml new file mode 100644 index 0000000..5c30c90 --- /dev/null +++ b/wrangler.toml @@ -0,0 +1,8 @@ +name = "cloudflare-experiment-worker" +type = "javascript" +# Replace the following with your Cloudflare Account ID after `wrangler login` or from dashboard +account_id = "YOUR_ACCOUNT_ID" +workers_dev = true +# To publish to a custom route set `route` and `zone_id` (remove or leave empty for workers_dev) +route = "" +zone_id = ""