12 Commits

Author SHA1 Message Date
xiaomai
f6bbd95b77 chore(assets): migrate local images to remote storage
- Replace local image paths with remote URLs in components, content, and config.
- Remove local image files from the public directory to reduce repository size.
- Add dark mode support for the hero background image in `index.vue`.
2025-11-28 16:45:30 +08:00
xiaomai
9bca019b50 feat(seo): improve SEO configuration and enable SSR
- Enable `ssr: true` in `nuxt.config.ts` for server-side rendering of meta tags.
- Implement `useSeoMeta` in `events/.vue` with fallback logic for Open Graph and Twitter cards.
- Update `content.config.ts` to use `asSeoCollection` for the news collection.
- Migrate event markdown frontmatter to use standardized SEO fields.
2025-11-27 23:07:24 +08:00
xiaomai
6288a1b01b feat(content): add draft support for content collections
This commit introduces a draft system for the 'events' and 'news' collections. A `draft` boolean field has been added to the content schema, and frontend queries are now updated to only fetch and
display content where `draft` is `false`. This allows content to be created and saved without being publicly visible, improving the publishing workflow.
2025-11-27 17:53:42 +08:00
xiaomai
c7da09d327 refactor(ui): adopt Nuxt UI prose styles and apply various fixes
Replaces custom `markdown.css` with the default prose styling from Nuxt UI to simplify the styling architecture. This commit also includes several other fixes and improvements:

- fix(members): Correctly
handle empty `graduateYear` strings in the member list.
- fix(layout): Wrap `NuxtPage` in a div to resolve page transition issues.
- feat(seo): Add a meta title to the homepage.
- docs(content): Correct
the title and add an image to an event page.
2025-11-15 13:25:42 +08:00
xiaomai
2ac1428c34 feat(members): add member ID to members list
This commit introduces a 'Member ID' column to the members table, making it the first column for easy reference.

- The member data schema and sample CSV have been updated to include the `memberId`.
- The members page now displays the `memberId` for each member.
- Additionally, a version query string has been added to the hero image URL to force a cache refresh.
2025-11-02 22:37:17 +08:00
xiaomai
3da20d0097 feat(members): add members listing page
This commit introduces a new `/members` page to display a directory of alumni association members.

- Member data is sourced from a CSV file (`content/members/members.csv`) and managed via Nuxt Content.
- The page presents member information in a table, including calculated graduation class (`届别`).
- A link to the new page has been added to the main navigation.
- Minor UI tweaks and data corrections in other sections are also included.
2025-11-02 22:09:57 +08:00
xiaomai
59fc6cb13d feat(seo): improve SEO and add analytics tracking
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.
2025-11-01 23:31:45 +08:00
xiaomai
567c9ef9c9 feat(app): restructure to multi-page layout and add content pages
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.
2025-10-26 22:18:29 +08:00
xiaomai
b05faddfc0 feat(seo): implement dynamic page titles
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.
2025-10-04 11:03:21 +08:00
xiaomai
950dc60891 feat(seo): implement SEO enhancements and social media embeds
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.
2025-10-04 10:10:46 +08:00
xiaomai
09ec61e315 feat(app): introduce Hall of Fame section and refactor UI
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.
2025-10-03 16:23:16 +08:00
xiaomai
e93b931288 initial commit 2025-10-01 16:52:52 +08:00