Skip to content

Add support for people aliases in project and publication linking - #16

Merged
chandula00 merged 2 commits into
pdnMARC:mainfrom
chandula00:main
Oct 28, 2026
Merged

chandula00 merged 2 commits into
pdnMARC:mainfrom
chandula00:main

Conversation

@chandula00

Copy link
Copy Markdown
Contributor

This pull request introduces a comprehensive system for linking people to projects and publications using multiple email addresses and name forms, making the site more robust to variations in how people are referenced. It adds support for otherEmails and otherNames in people profiles, updates all relevant matching and linking logic, and extensively improves the documentation and user guidance for these changes.

Key changes:

Core logic and data model

  • Added otherEmails and otherNames fields to the people collection schema (src/content.config.ts), allowing each person to list multiple email addresses and name forms for robust matching.
  • Implemented new matching utilities in src/lib/people.ts to normalize and match emails and names, and to resolve project teams and publication authors using all listed forms.
  • Updated project and publication logic to use the new matching system: ProjectCard.astro now uses projectTeam to resolve team members, and publication-person matching uses all emails and name forms.

Documentation and user guidance

  • Major rewrite and expansion of the profiles documentation (src/pages/docs/profiles.mdx): explains how otherEmails and otherNames work, how to safely update them, and provides clear instructions and examples for linking profiles to projects and publications.
  • Added a new "Common tasks" section to the docs homepage (src/pages/docs/index.astro) with step-by-step guides for scenarios like joining/leaving projects, changing emails, and ensuring links are preserved.
  • Updated the "How content is linked" section and related examples to reflect the new multi-email/name logic.

Consistency and UX improvements

  • Updated normalization and matching logic wherever people are looked up by name, e.g., in the about page's profile matching.
  • Improved documentation styling for the new tasks section.

These changes make the system more resilient to changes in people's emails or name formats and provide much clearer instructions for users to maintain correct links between people, projects, and publications.

Add `otherEmails` and `otherNames` to people content and centralize matching logic in a new `src/lib/people.ts` helper. Projects, people pages, publication matching, and project cards now resolve team/authors through these aliases (with dedupe and missing-profile handling), and docs were updated with new workflows and linking guidance.
@chandula00
chandula00 merged commit c716327 into pdnMARC:main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant