my personal site
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove gymtracker-ads-api and associated files

- Deleted the gymtracker-ads-api directory, including all related files such as API documentation, configuration, and HTML templates.
- Updated README.md to reflect the removal of the ads API and its structure.
- Streamlined project by eliminating unused assets and dependencies.

+19 -1
+6
README.md
··· 4 4 5 5 [Live site](https://jackhannon.net) 6 6 7 + ## Structure 8 + 9 + - **/** — Main site (Cloudflare Pages) 10 + - **[gymtracker/](gymtracker/)** — Gym Tracker subdomain (`gymtracker.jackhannon.net`): landing page, ads API, admin UI 11 + 7 12 ## Deployment 8 13 9 14 - **Platform:** Cloudflare Pages 10 15 - **Config:** [wrangler.jsonc](wrangler.jsonc) 16 + - **Gym Tracker:** `cd gymtracker && npx wrangler deploy` 11 17 12 18 ## Attributions 13 19
ads-landing-style-guide.md gymtracker/ads-landing-style-guide.md
gymtracker/public/favicon/apple-touch-icon.png

This is a binary file and will not be displayed.

gymtracker/public/favicon/favicon-16x16.png

This is a binary file and will not be displayed.

gymtracker/public/favicon/favicon-32x32.png

This is a binary file and will not be displayed.

gymtracker/public/favicon/favicon.ico

This is a binary file and will not be displayed.

workers/gymtracker-ads-api/ACCESS_SETUP.md gymtracker/ACCESS_SETUP.md
workers/gymtracker-ads-api/README.md gymtracker/README.md
workers/gymtracker-ads-api/env.d.ts gymtracker/env.d.ts
workers/gymtracker-ads-api/package-lock.json gymtracker/package-lock.json
workers/gymtracker-ads-api/package.json gymtracker/package.json
workers/gymtracker-ads-api/public/logo.png gymtracker/public/logo.png
workers/gymtracker-ads-api/seed-ad-active.json gymtracker/seed-ad-active.json
workers/gymtracker-ads-api/seed-ad.json gymtracker/seed-ad.json
+4
workers/gymtracker-ads-api/src/admin-html.ts gymtracker/src/admin-html.ts
··· 5 5 <meta charset="utf-8"> 6 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 7 <title>Gym Tracker Ads Admin</title> 8 + <link rel="icon" href="/favicon/favicon.ico" sizes="any"> 9 + <link rel="icon" href="/favicon/favicon-32x32.png" type="image/png" sizes="32x32"> 10 + <link rel="icon" href="/favicon/favicon-16x16.png" type="image/png" sizes="16x16"> 11 + <link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"> 8 12 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.css"> 9 13 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/themes/dark.css"> 10 14 <style>
+4
workers/gymtracker-ads-api/src/ads-landing-html.ts gymtracker/src/ads-landing-html.ts
··· 8 8 <meta http-equiv="Pragma" content="no-cache"> 9 9 <title>Advertise on Gym Tracker | A small app. A specific audience. One ad slot.</title> 10 10 <meta name="description" content="A few hundred Virginia Tech students use Gym Tracker to check McComas and War Memorial before they go. One ad slot in the main feed. If VT students are who you're trying to reach, it's a direct line."> 11 + <link rel="icon" href="/favicon/favicon.ico" sizes="any"> 12 + <link rel="icon" href="/favicon/favicon-32x32.png" type="image/png" sizes="32x32"> 13 + <link rel="icon" href="/favicon/favicon-16x16.png" type="image/png" sizes="16x16"> 14 + <link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"> 11 15 <style> 12 16 *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } 13 17 :root {
+1 -1
workers/gymtracker-ads-api/src/index.ts gymtracker/src/index.ts
··· 405 405 const helpHtml = `<!DOCTYPE html><html><head><meta charset="utf-8"><title>Sign in required</title></head><body style="font-family:system-ui;max-width:32rem;margin:4rem auto;padding:2rem;"> 406 406 <h1>Sign in required</h1> 407 407 <p>This admin is protected by <a href="https://developers.cloudflare.com/cloudflare-one/">Cloudflare Access</a>. Configure Access to protect <code>gymtracker.jackhannon.net/admin</code> and <code>/api/admin</code>.</p> 408 - <p>See <code>workers/gymtracker-ads-api/ACCESS_SETUP.md</code> for setup.</p> 408 + <p>See <code>gymtracker/ACCESS_SETUP.md</code> for setup.</p> 409 409 </body></html>`; 410 410 return new Response(helpHtml, { 411 411 status: 401,
+4
workers/gymtracker-ads-api/src/main-landing-html.ts gymtracker/src/main-landing-html.ts
··· 7 7 <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> 8 8 <title>Gym Tracker | Check McComas and War Memorial before you go</title> 9 9 <meta name="description" content="Gym Tracker lets Virginia Tech students check McComas and War Memorial gym occupancy before they go."> 10 + <link rel="icon" href="/favicon/favicon.ico" sizes="any"> 11 + <link rel="icon" href="/favicon/favicon-32x32.png" type="image/png" sizes="32x32"> 12 + <link rel="icon" href="/favicon/favicon-16x16.png" type="image/png" sizes="16x16"> 13 + <link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png" sizes="180x180"> 10 14 <link rel="preconnect" href="https://fonts.googleapis.com"> 11 15 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 12 16 <link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Plus+Jakarta+Sans:wght@400;500&display=swap" rel="stylesheet">
workers/gymtracker-ads-api/tsconfig.json gymtracker/tsconfig.json
workers/gymtracker-ads-api/worker-configuration.d.ts gymtracker/worker-configuration.d.ts
workers/gymtracker-ads-api/wrangler.jsonc gymtracker/wrangler.jsonc