Skip to content

refactor(research): tighten spacing, restyle headings, suppress meaningless author markers#105

Merged
ahnafnafee merged 4 commits intomainfrom
chore/spacing-headings
Apr 26, 2026
Merged

refactor(research): tighten spacing, restyle headings, suppress meaningless author markers#105
ahnafnafee merged 4 commits intomainfrom
chore/spacing-headings

Conversation

@ahnafnafee
Copy link
Copy Markdown
Owner

Summary

Bundles four design tweaks raised against the shadcn migration PR:

  1. SpacingHero bottom padding cut in half (pb-8 md:pb-16pb-4 md:pb-8); Searchbar default mb-10mb-6. Fixes the cavernous gap between the page title/description and the search bar on /blog and /portfolio.
  2. Top padding on /research (listing + detail) — AppLayoutPage now gets pt-6 md:pt-10 on both routes so the first section / paper title isn't jammed against the sticky header.
  3. Section heading restyle — new <SectionHeading> component used by Overview / News / Research Areas / Sections. text-lg md:text-xl, font-bold, text-black dark:text-white. Drops the small uppercase tracked-out treatment.
  4. Author / affiliation superscripts* and ¹ were rendered unconditionally with no on-page legend. Now:
    • * (corresponding) only renders when 2+ authors exist AND at least one is corresponding: true. A *Corresponding author caption appears below the affiliation line when shown.
    • ¹ ² ³ (affiliation indices) only render when 2+ affiliations exist. The affiliation line drops its leading <sup>idx</sup> under the same rule.
    • For a single-author single-affiliation paper (today's mesh-decimation-benchmark) the markers collapse cleanly: Ahnaf An Nafee + George Mason University, Fairfax, Virginia, USA.

Topic chips on the research detail page and the Research Areas chips on the listing page both bumped from gap-2gap-2.5 for slightly more breathing room.

Test plan

  • yarn type-check clean
  • yarn lint clean
  • yarn test 48/48
  • yarn build 50 routes
  • Visual smoke test on /blog, /portfolio, /research, /research/mesh-decimation-benchmark

…ss meaningless author markers

Spacing
- Hero (used by /blog and /portfolio): pb-8 md:pb-16 → pb-4 md:pb-8.
  Removes the cavernous gap between the page title/description and the
  search bar that was the user's original complaint.
- Searchbar: default mb-10 → mb-6. Tightens the gap between search and
  the section that follows.
- Research listing + detail pages: AppLayoutPage now receives
  pt-6 md:pt-10 so the first section / paper title isn't pinned to the
  sticky header.

Section headings (research page)
- New shared <SectionHeading> component; replaces four inline h2s in
  ResearchOverview, ResearchNews, ResearchAreas, and ResearchSections.
- Style: text-lg md:text-xl, font-bold, text-black dark:text-white.
  Drops the small uppercase tracked-out treatment per design feedback —
  the headings now read as headings instead of section labels.

Topic / area chips
- HeadingResearch topic chips: gap-2 → gap-2.5.
- ResearchAreas chips: gap-2 → gap-2.5 (matched).

Author / affiliation superscripts
- The previous render emitted * (corresponding) and ¹ (affiliation index)
  unconditionally, so single-author single-affiliation papers carried
  meaningless markers with no legend. Now:
  - * is only shown when there are 2+ authors AND at least one has
    corresponding: true. A "*Corresponding author" caption appears below
    the affiliation line when * is shown.
  - ¹ ² ³ are only shown when there are 2+ affiliations (otherwise every
    author maps to the same place; no need to disambiguate).
  - The affiliation line drops its leading <sup>idx</sup> under the same
    rule.
- For a single-author single-affiliation paper this collapses to a clean
  "Ahnaf An Nafee" + "George Mason University, Fairfax, Virginia, USA"
  with no orphan superscripts.

Verified: yarn type-check, yarn lint, yarn test (48/48), yarn build
(50 routes) — all clean.
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ahnafnafee-dev Ready Ready Preview, Comment Apr 26, 2026 10:22pm

…ion sups

ComingSoon placeholder
- New <ComingSoonImage> component (pastel gradient, serif "Coming soon!"
  centered) drops into the listing card's image slot.
- Triggered by adding `comingSoon: true` to a research entry's MDX
  frontmatter. Useful for conditionally accepted papers where you want a
  card on the listing but don't have a teaser yet.
- Type addition: optional `comingSoon?: boolean` on Research.

Superscript tooltips
- When the * (corresponding) and ¹ ² ³ (affiliation) markers DO render
  (multi-author / multi-affiliation papers), they now carry native
  `title` tooltips so a reader who hovers learns what they mean without
  leaving the page.
  - * → "Corresponding author"
  - ¹ next to author → joined affiliation names ("George Mason
    University, Fairfax, USA; …") resolved from the affiliations array.
  - ¹ in the affiliation legend itself → the affiliation's full text
    (mostly redundant since it's right next to the name, but consistent).
- Sups also pick up `cursor-help` so the affordance is obvious on
  desktop. Mobile gets the explanation via long-press.

Verified: yarn type-check, yarn lint, yarn test (48/48), yarn build
(50 routes) — all clean.
README.md
- Tech stack table: drop framer-motion row; add Design system, Icons,
  Toasts, Fonts, Format rows reflecting the shadcn / radix-ui /
  lucide / sonner / Google Sans + Inter / Prettier+@IanVS stack.
- New "Design system" feature subsection covering shadcn/ui
  (radix-nova), the OKLCH theme bridge, the site/ composition layer,
  primitive ecosystem, and Google Sans typography.
- Tooling section: mention shadcn CLI, @ianvs/prettier-plugin-sort-imports,
  Vite native tsconfig paths.
- Project structure tree: surface ui/, site/, content/research/.
- Research authoring example: add `comingSoon` field + a paragraph on
  conditional author/affiliation superscripts and the listing-page
  Overview/News/Areas sections + SectionHeading.
- Vercel install command: include `corepack prepare yarn@4.14.1
  --activate` and explain why the explicit prepare step is needed.

CLAUDE.md
- Theme System fonts paragraph rewritten — Google Sans is the default,
  loaded via Google Fonts CSS, with the system-ui / Roboto / Inter
  fallback chain. Notes the CSP `font-src` requirement and the legacy
  `font-primary` mirror.
- Research-specific components section restructured into Detail-page /
  Listing-page / Shared groupings; surfaces ResearchOverview,
  ResearchNews, ResearchAreas, ComingSoonImage, SectionHeading and the
  pt-6 md:pt-10 top padding on both research routes.
- Conventions: research-authoring bullet adds `comingSoon: true`
  description; new bullet documenting the conditional sup behavior
  (single-author/single-affiliation collapses cleanly; markers carry
  `cursor-help` + native `title` tooltips when shown).

Content fix
- mesh-decimation-benchmark venue name: CS700 was "Research
  Methodology in Computer Science", not "Computer Geometry, Course
  Project". Updated the entry and the README example to match.
Extends the conditional sup system in HeadingResearch beyond the existing
`*` (corresponding) + numeric affiliation indices to cover the two other
academic conventions that come up on multi-author papers:

  †  Equal contribution    — `equalContribution: true`
  ‡  Principal investigator — `principalInvestigator: true`

Both new fields are optional booleans on the Author type. Existing
entries are unaffected.

Suppression rules (each marker only renders when it disambiguates):
  *  shows when 2+ authors AND ≥1 corresponding
  †  shows when 2+ authors AND ≥2 flagged equal-contribution (a single
     "equal" author is meaningless)
  ‡  shows when 2+ authors AND ≥1 PI
  ¹² shows when 2+ affiliations

Marker order on each author follows academic typesetting convention:
symbol markers (*†‡) first, then numeric affiliation indices. Each <sup>
keeps its cursor-help + native title tooltip ("Corresponding author",
"Equal contribution", "Principal investigator", or the resolved
affiliation name).

The previous standalone "*Corresponding author" caption is replaced by a
single combined caption line that stacks all active markers separated by
` · ` — e.g. "*Corresponding author · †Equal contribution · ‡Principal
investigator" — kept tight and rendered only when at least one symbol
marker is showing.

Documented the new flags + the combined caption behavior in CLAUDE.md
and README.md (research-authoring section now has a flag/glyph/rule
table). Frontmatter example shows the two new fields commented out so a
fork sees them and can opt in.

Verified locally: yarn type-check, yarn lint, yarn test (48/48),
yarn build (50 routes) — all clean.
@ahnafnafee ahnafnafee merged commit 59da18e into main Apr 26, 2026
6 checks passed
@ahnafnafee ahnafnafee deleted the chore/spacing-headings branch April 26, 2026 22:26
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