{"id":19136853,"url":"https://github.com/mdub/mdgc","last_synced_at":"2025-11-13T04:02:47.115Z","repository":{"id":220783717,"uuid":"752570688","full_name":"mdub/mdgc","owner":"mdub","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-09T12:18:49.000Z","size":31379,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-09T13:17:50.660Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mdgc.pages.dev/","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-02-04T08:25:44.000Z","updated_at":"2025-11-09T12:18:53.000Z","dependencies_parsed_at":"2025-09-02T15:15:26.780Z","dependency_job_id":"cab7b8fc-34ac-44c6-a7c1-0c31e2b6cbb6","html_url":"https://github.com/mdub/mdgc","commit_stats":null,"previous_names":["mdub/mdgc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mdub/mdgc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdub%2Fmdgc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdub%2Fmdgc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdub%2Fmdgc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdub%2Fmdgc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdub","download_url":"https://codeload.github.com/mdub/mdgc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdub%2Fmdgc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284150295,"owners_count":26955773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-13T02:00:06.582Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:35:42.436Z","updated_at":"2025-11-13T04:02:47.108Z","avatar_url":"https://github.com/mdub.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Melbourne Disc Golf Club website (WIP)\n\n[![Deployment Status](https://img.shields.io/github/check-runs/mdub/mdgc/HEAD)](https://github.com/mdub/mdgc/commits/main)\n\nA modern website for the Melbourne Disc Golf Club.\n\n## 🌐 Live Site\n\nA preview of new site is available at:\n\n- https://mdgc.pages.dev/\n\nOnce development is complete, we will change the existing site URL to refer to the new one.\n\n## ✏️ Making changes to the site\n\nThe site is managed using code hosted on GitHub:\n\n- https://github.com/mdub/mdgc\n\n### Getting access\n\nIn order to make changes to the website, ask Mike Williams to add you as a \"collaborator\" on the GitHub repository.  You will need to register for a (free) [GitHub account](https://github.com/signup) (if you don't already have one).\n\n### For non-technical users\n\nThere are two ways to edit content without needing to understand Git or programming.\n\n#### Using the Content Management System\n\n_Some_ of the site content can be edited via a CMS. This is the recommended way to edit:\n\n- **Events** (coming soon)\n- **News** (coming soon)\n- **Courses**\n- **Board Members**\n\nTo edit content using the CMS:\n  - Visit https://mdgc.pages.dev/cms/\n  - Log in with your GitHub account\n  - Edit content as desired\n  - Press \"Publish\"\n\n#### Using GitHub's web interface\n\nOther pages are not CMS-managed but you can edit them online in GitHub.\n  - Navigate to the file you want to edit on GitHub\n  - Click the pencil icon to edit\n  - Make your changes using Markdown\n  - Commit the changes with a description\n  - The site will automatically rebuild and deploy\n\n### For technical users\n\nIf you're comfortable with Git and development tools:\n  - Clone the repository: `git clone https://github.com/mdub/mdgc.git`\n  - Make your changes locally\n  - Test them using `pnpm run dev`\n  - Commit and push: `git commit -am \"Description\" \u0026\u0026 git push`\n\n### Re-deployment after changes\n\nWhen you make changes to the site source-code on GitHub - using either the CMS, or the GitHub\nweb interface - it triggers an automatic \"build\" and \"deployment\" process, which updates the live site.\n\nThis usually takes about one minute. You can observe the process on the Cloudflare dashboard:\n  - [Cloudflare Pages: mdgc](https://dash.cloudflare.com/1dbfd2793b506e08151b86bd944859b5/pages/view/mdgc)\n\nTip: if you're wondering whether your changes are live yet, check the \"last updated\" timestamp in the page footer.\n\n## 🚀 Development\n\n### 🏗️ Tech Stack\n- **Type**: Static (generated) site\n- **Framework**: [Astro](https://astro.build) 5.12.8\n- **Styling**: [Tailwind CSS](https://tailwindcss.com) 4.1.11\n- **CMS**: [Decap CMS](https://decapcms.org) (backed by Git)\n- **Deployment**: [Cloudflare Pages](https://pages.cloudflare.com)\n\n### Running locally\n\nRun `pnpm run dev` to start the development server.\n\nVisit http://localhost:4321 to view the site locally.\n\n### 🧞 Commands\n\nAll commands are run from the root of the project, from a terminal:\n\n| Command                    | Action                                           |\n| :------------------------- | :----------------------------------------------- |\n| `pnpm install`             | Installs dependencies                            |\n| `pnpm run dev`             | Starts local dev server at `localhost:4321`      |\n| `pnpm run build`           | Build your production site to `./dist/`          |\n| `pnpm run preview`         | Preview your build locally, before deploying     |\n| `pnpm run astro ...`       | Run CLI commands like `astro add`, `astro check` |\n| `pnpm run astro -- --help` | Get help using the Astro CLI                     |\n\n### 🚀 Project Structure\n\n```text\n/\n├── public/\n│   └── images/\n├── src\n│   ├── assets/\n│   ├── components/\n│   ├── layouts/\n│   └── pages/\n├── package.json\n├── existing-site/\n└── existing-site/    # Original site files (reference only)\n```\n\nTo learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/).\n\n## 📝 Content Migration\n\nAs of Oct 2025, the existing WordPress site is hosted at:\n\n- https://www.melbournediscgolf.com/\n\nThe `existing-site/` directory contains a summary of the contents and structure of the WordPress site.\n\n## Comparison to existing site\n\n### WordPress vs static site\n\nMDGC's existing website is based on WordPress. WordPress is a \"dynamic\" platform, which generates web-pages on-the-fly, as users browse.\n\nIn constrast, this rebuild is a \"static website\", meaning that the web-pages are pre-built, meaning much less work needs to be done on the \"server\" when people use the site.  Because of this, it should be:\n\n  - **Faster**. A static site loads almost instantly, even on mobile or low-bandwidth connections.\n  - **Cheaper**. Static sites can be hosted very cheaply - often for free. No ongoing fees for WordPress hosting, security plugins, or maintenance work.\n  - **Much more reliable**. Static websites don’t crash or break after software updates. Once it’s live, it just works — no background software to maintain.\n  - **Much more secure**. WordPress sites are one of the most common targets for hackers. A static site, by contrast, has no login system or database for attackers to get into. That means no security headaches, no emergency fixes, and no risk of losing content.\n\n### Moving parts\n\n#### Code hosting = GitHub (free)\n\nThe website code needs to be hosted somewhere. [GitHub](https://github.com) is a great option, and their Free plan support hosting of Git repositories with multiple collaborators. Anyone who needs to edit the website would need to register for a (free) GitHub account.\n\n#### Site build and hosting = Cloudflare Pages (free)\n\n[Cloudflare Pages](https://pages.cloudflare.com) is a platform for static websites. We have things configured such that any change to the website code (on GitHub) triggers a \"build\" and update of the site, which is then \"served\" by Cloudflare.\n\nOn their Free [plan](https://developers.cloudflare.com/pages/platform/limits/), Cloudflare Pages provides unlimited bandwidth and 500 builds per month. This should be more than sufficient for MDGC's needs.\n\n#### Editing experience\n\nThe experience of people _editing_ the website will be quite different, for those used to WordPress. In particular, the new solution\nwill not provide a WYSIWYG (\"what you see is what you get\") editing experience, and it will be harder to change site _styling_, without some technical knowledge. However - though a combination of Decap CMS and the GitHub UI - we should be able to make it pretty easy for non-technical folks to edit and add _content_.\n\n## 📋 Project Status\n\nMike Williams is currently in the midst of porting the existing WordPress site to a modern static website. The plan is to prove viability by end of Oct 2025, and complete migration by the end of Nov.\n\nSo far, I have:\n\n  - [X] selected and set up a static website framework - [Astro](https://astro.build)\n  - [X] set up site \"builds\" and hosting on [Cloudflare Pages](https://pages.cloudflare.com)\n  - [X] set up high-level site structure\n    - **Disc Golf** - about the sport\n    - **Club** - about the club\n    - **Courses** - where to play\n    - **Events** - when to play\n  - [X] sketched content across all sections\n  - [X] integrated [Decap CMS](https://decapcms.org) for easier content editing\n  - [X] created reusable page components (Panel, Prose, LinkPanel, Grid, HeroImage)\n  - [X] converted key pages to MDX format for easier editing\n  - [X] added custom font (Inter) and refined typography\n  - [X] added hero images to major pages with proper optimization\n\nRecent progress:\n  - **Courses** section\n    - [X] added overview map to main Courses page (mdgc-1)\n    - [X] made course map images easier to open in new tab/window (mdgc-8)\n    - [X] created content collection for courses with MDX support\n    - [X] verified coordinates for all courses (mdgc-17)\n  - **Events** section\n    - [X] revised and converted Social Days page to MDX (mdgc-9, mdgc-10)\n    - [X] converted Tournaments page to MDX\n    - [X] added hero images for social days and tournaments\n    - [X] embedded club's Google calendar (mdgc-6)\n  - **Club** section\n    - [X] converted all Club pages to MDX (board, contact, membership, index)\n  - **CMS and editing**\n    - [X] configured Decap CMS with GitHub backend (mdgc-5)\n    - [X] revisited component composition and whitespace handling (mdgc-12, mdgc-13)\n  - **Infrastructure**\n    - [X] switched to Cloudflare Pages hosting (mdgc-15)\n\nStill todo:\n  - **Disc Golf** section\n    - [ ] clean up disc golf education content (mdgc-32)\n  - **Events** section\n    - [ ] pull upcoming social days information from Disc Golf Metrix (mdgc-11)\n  - **Features**\n    - [ ] support announcement banners on homepage (mdgc-16)\n  - **Documentation**\n    - [ ] document contributor workflow (mdgc-7)\n  - **Research**\n    - [ ] explore Sveltia CMS as alternative to Decap CMS (mdgc-31)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdub%2Fmdgc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdub%2Fmdgc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdub%2Fmdgc/lists"}