Replaces the generic Nuxt starter README with detailed documentation specific to the YPHS Alumni website project.
The new README.md now includes:
- Project overview, tech stack, and key features
- Local development, build, and deployment instructions
- Content authoring guide for news, events, and hall of fame
- Project roadmap and contribution guidelines
Additionally, this commit adds an MIT license file to formally establish the project's open-source status.
This commit introduces several enhancements for SEO and analytics.
- Updates the canonical site URL from `yphsalumni.com` to `yphsalumni.org`.
- Enriches the 'middle-highschool-tuition-class' page with detailed Open Graph (og) meta tags for better social sharing.
- Implements Umami event tracking for the 'Join Us' button on the homepage.
This commit adjusts the styling on the 'Middle/High School Tuition Class' page to enhance its appearance and readability,
particularly on mobile devices.
- Implemented responsive padding for the main page and content container.
- Justified the main text block for better readability.
- Centered the student name badges.
- Added configuration files for the `repomix` project analysis tool.
This commit introduces a new page dedicated to the 'Middle Highschool Tuition Class' of 1956 (中补班). The page displays a letter written in 2022, calling for a reunion of these special alumni. A navigation
link has been added to the 'About' section for easy access to this historical content.
This commit introduces a new page detailing the founding history of the alumni association.
- Adds the new page at `/about/founded-history` which includes the origin story, organizational structure, and a list of donors for the clubhouse.
- Restructures the `/about` route by moving the existing page to `/about/index` to accommodate nested pages.
- Updates the main navigation menu to include a dropdown link to the new 'Founding History' page.
- Adds a link to the old alumni website under 'Friendly Links' for historical reference.
The 'Join Us' page layout has been refactored to use the `<UPage>` and `<UPageBody>` components from Nuxt UI. This change ensures a consistent page structure with the rest of the application. Additionally,
quote styles in the script section have been standardized to double quotes.
Converts the website from a single-page design with anchor links to a full multi-page application. This change improves site organization, navigation, and scalability.
- Adds new top-level pages: `/news`, `/events`, and `/about`.
- Introduces a new section for the 40th Anniversary at `/40th-anniversary`, including a proposal sub-page.
- Updates the default layout with a new navigation menu, a promotional banner, social links, and page transitions.
Adds a responsive header with a mobile navigation menu to improve usability on small screens. This also includes adding a new event page, updating an existing event with a schedule, and refactoring the 'Donate' CTA by
inlining it on the homepage.
This commit refactors the main layout and homepage to utilize components from the Nuxt UI library, simplifying the
codebase and reducing custom boilerplate.
- The default layout is now built with `UPage`, `UHeader`, `UMain`, and `UFooter`.
- The homepage (`pages/index.vue`) has been updated to use `UPageHero` and `UBlogPosts`.
- The `IndexHero` and `IndexNews` components have been removed as their functionality is now integrated directly into
the index page.
- `Donate`, `Events`, and `HallOfFame` components are now wrapped with `UPageCTA` or `UPageSection`.
This commit introduces the foundational structure for the admin dashboard, focusing on the member management feature.
Key additions include:
- A new page at `/admin/manage/members` to display and manage members.
- An `AddModal` component with a comprehensive form for creating new members, featuring validation with Zod and input
masking.
- A reusable `PhoneInput` component with country code selection, backed by a new `useCountries` composable and a full
country dataset.
- A custom, user-friendly global error page (`error.vue`) to handle application errors gracefully.
- Updated dashboard sidebar navigation to include the new member management section.
- Added recommended VS Code extensions and settings to improve developer experience.
The `/admin` route now directly serves the dashboard page by adding an alias, removing the need for a separate login page at that path.
- Deletes `pages/admin/index.vue` and the `admin-login` layout.
- Aliases `/admin` to `/admin/dashboard` for a more direct entry point.
- Improves the default layout with a sticky footer.
- Updates VSCode settings for better Tailwind CSS IntelliSense.
This commit replaces the basic textarea in the 'Add News' modal with a full-featured Markdown editor.
- Adds the `md-editor-v3` dependency.
- Implements the editor within a `ClientOnly` component for client-side rendering.
- Creates a Nuxt plugin to register the `MdEditor` component globally.
- Adjusts the modal to be fullscreen to provide a better user experience for content creation.
Bumps several dependencies to their latest patch versions, including Nuxt, Tailwind CSS, and TypeScript. This keeps the project up-to-date with recent bug fixes and
improvements.
This commit introduces the foundational structure for the new admin dashboard.
- Utilizes @nuxt/ui to build the dashboard layout, including a collapsible sidebar and navigation.
- Adds initial pages for the dashboard, news, events, and hall of fame management.
- Implements a composable `useDashboardSidebarLinks` for managing sidebar navigation.
- Refactors the default layout by integrating the header and footer directly.
- Swaps the primary and secondary theme colors across the application.
This commit enhances SEO and user experience by setting dynamic page titles for detail pages and updating the global title configuration.
- Event, Hall of Fame, and News detail pages now use the specific item's title as the page title.
- The global `titleTemplate` and default `title` in `nuxt.config.ts` have been updated for better branding.
- These changes ensure each page has a unique, descriptive title, which is beneficial for search engine ranking and browser tab clarity.
This commit introduces significant SEO improvements and enhances content embedding capabilities.
- Integrates `@nuxtjs/seo`, `@nuxtjs/sitemap`, and `@nuxtjs/robots` to boost search engine visibility.
- Configures global meta tags, including Open Graph and Twitter Cards, for richer social media sharing.
- Adds support for embedding YouTube and Facebook content directly within markdown pages.
- Introduces a new `TikTokEmbed` component for future use.
Migrated all images from the external host `img.tootaio.com` to be self-hosted within the project's `public` directory. This change improves performance, reliability, and
removes dependency on a third-party service. Additionally, the analytics script has been temporarily disabled.
This commit adds the '名人堂' (Hall of Fame) feature and removes the Element Plus dependency.
- feat(content): Add Hall of Fame section with a new content collection, homepage component, and detail pages.
- refactor(join-us): Rewrite the 'Join Us' form to remove Element Plus, using native elements and Reka UI. The form is
temporarily disabled.
- feat(ui): Display cover images on News and Events cards.
- chore: Integrate Umami for web analytics.
- fix: Correct minor text issues, including graduation year in the footer.