Initial CSE website content integration

This commit is contained in:
Neeldhara Misra 2026-06-01 16:31:25 +05:30
commit dfe66b9002
260 changed files with 83153 additions and 0 deletions

View file

@ -0,0 +1,75 @@
# Publications Implementation Plan
Goal: build `/research/publications` from generated, normalized data that Astro
can import at build time, then add client-side filtering by text, person, area,
year, and venue.
## Data Shape
The ingestion script writes `src/data/publications/publications.json`:
```json
{
"generatedAt": "2026-06-01T00:00:00.000Z",
"items": [
{
"id": "semantic-scholar-paper-id",
"title": "Paper title",
"year": 2026,
"venue": "Conference or journal",
"type": "conference",
"authors": [{ "name": "Author", "facultyId": "faculty-id" }],
"facultyIds": ["faculty-id"],
"areaSlugs": ["ai", "systems"],
"abstract": "Optional abstract",
"keywords": ["optional"],
"links": {
"doi": "10.xxxx/yyyy",
"pdf": "https://...",
"semanticScholar": "https://...",
"dblp": "https://..."
},
"source": {
"provider": "semantic-scholar",
"externalId": "author-or-paper-id",
"updatedAt": "2026-06-01T00:00:00.000Z"
},
"searchText": "lowercased denormalized text for filtering"
}
]
}
```
## Source Registry
`src/data/publications/sources.json` holds one row per faculty member with:
- stable `facultyId`
- display `name`
- `aliases` for author matching
- `areaSlugs`
- optional `semanticScholarAuthorId`
- optional `dblpPid`
- optional profile URLs
The current registry is intentionally empty of external IDs because the repo did
not contain any local source URLs. Once IDs are filled, the script can pull data.
## Ingestion Script
`scripts/ingest-publications.mjs` currently supports Semantic Scholar author
pulls using built-in Node `fetch`, normalizes the papers, deduplicates by DOI or
title, and writes Astro-importable JSON.
Immediate next steps:
1. Add faculty source IDs: Semantic Scholar author IDs first, DBLP PIDs second.
2. Decide canonical research area slugs and map each faculty member to them.
3. Add manual override support for missing/high-priority publications.
4. Build `/research/publications` as a React island with filters:
- text search over title, authors, venue, abstract, keywords
- person filter
- research area filter
- year range
- venue/type filter
5. Add a CI/build check that fails if generated publication JSON is malformed.

123
docs/site-map-todo.md Normal file
View file

@ -0,0 +1,123 @@
# Site Map and Content Cadence To-Do
Cadence classes:
- `x0`: permanent fixtures, rarely change
- `xN`: change on a need-to basis
- `xF`: change frequently on a regular cadence
- `xI`: change infrequently on a regular cadence
## Current Summary
Most routes are still template placeholders. The exceptions are the homepage shell,
faculty directory, blog machinery, `/news`, `/updates/news`, and the research
landing page. Blog content is still Lumen/template material and should be treated
as placeholder content even though the route works.
## x0 Permanent Fixtures
| Route | Current state | To-do |
|---|---|---|
| `/about` | Placeholder | Write department overview and history. |
| `/about/vision` | Placeholder | Add CSE vision/mission copy. |
| `/about/facilities` | Placeholder | Add labs, classrooms, compute, and shared facilities. |
| `/about/visit` | Placeholder | Add campus directions and visitor guidance. |
| `/about/careers` | Placeholder | Add standing careers page; current ads can link out. |
| `/about/contact` | Placeholder | Add office contacts, map, and generic inquiry channels. |
| `/academics` | Placeholder | Build academics landing page. |
| `/academics/btech` | Placeholder | Add program structure, curriculum links, outcomes. |
| `/academics/mtech` | Placeholder | Add tracks, admissions, curriculum, assistantship notes. |
| `/academics/emasters` | Placeholder | Add executive program copy and canonical links. |
| `/academics/phd` | Placeholder | Add admissions, milestones, funding, expectations. |
| `/research` | Functional landing grid | Replace stock imagery/copy with canonical research areas and lab links. |
| `/research/ai` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/data-science` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/hci` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/security` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/systems` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/theory` | Placeholder | Add area page with faculty, labs, projects, publications. |
| `/research/labs` | Placeholder | Add research group/lab directory. |
| `/privacy-policy` | Template legal boilerplate | Replace or remove until approved text exists. |
| `/terms-and-conditions` | Template legal boilerplate | Replace or remove until approved text exists. |
| `/404` | Functional template | Rewrite copy for IITGN CSE. |
| `/rss.xml` | Functional, points at template blog | Recheck after blog migration. |
## xN Need-Based Updates
| Route | Current state | To-do |
|---|---|---|
| `/people/faculty` | Functional directory, sparse data | Add photos, homepages, areas, profile links, and verify future join dates. |
| `/people/postdocs` | Placeholder | Add current postdoc roster and archive policy. |
| `/people/staff` | Placeholder | Add staff directory and role ownership. |
| `/people/visitors` | Placeholder | Add visitor roster with dates and host. |
| `/academics/openings` | Placeholder | Add JRF/SRF/internship announcements and expiry workflow. |
| `/research/patents` | Placeholder | Add patents/IP list. |
| `/updates/outreach` | Placeholder | Add outreach items and decide whether it is updates-only or a full page. |
| `/events` | Placeholder; overlaps `/updates/events` | Decide canonical route and redirect/alias the other. |
| `/updates/events` | Placeholder; overlaps `/events` | Decide canonical route and content model. |
| `/people` | Meta-refresh hub | Replace with a real people hub or implement a proper Astro redirect. |
## xF Frequent Cadence
| Route | Current state | To-do |
|---|---|---|
| `/` | Functional shell; latest news/awards wired; hero still uses stock media | Keep recent items fed from data; replace stock hero imagery/copy. |
| `/news` | Content-backed listing from media checklist | Continue verifying and adding confirmed items; decide taxonomy with seminars/events. |
| `/updates/news` | Alias content-backed listing | Decide whether to keep as canonical or redirect to `/news`. |
| `/blog` | Functional but template content | Replace Lumen posts with CSE posts or hide route. |
| `/blog/[...slug]` | Functional but template post layout/copy | Retheme and replace related-post behavior after content migration. |
| `/updates/blog` | Placeholder; duplicates `/blog` | Redirect to `/blog` or make updates section canonical. |
| `/updates/seminars` | Placeholder | Add seminar calendar/archive feed. |
| `/research/publications` | Placeholder | Replace with generated publication dataset and filter UI. |
## xI Infrequent Regular Cadence
| Route | Current state | To-do |
|---|---|---|
| `/people/students` | Placeholder | Add student roster or cohort links; update once per term. |
| `/people/phd-students` | Placeholder | Add current PhD roster; update once per term. |
| `/people/alumni` | Placeholder | Add alumni roster/highlights; update once per term. |
| `/research/projects` | Placeholder | Add funded R&D projects; review once per term. |
| `/about/administration` | Placeholder | Add committees/roles; annual rotation update. |
| `/about/leadership` | Placeholder | Decide if separate from administration; update with leadership changes. |
| `/academics/courses` | Placeholder | Add course catalogue and term offerings. |
| `/academics/srip` | Placeholder | Add annual SRIP information and review cycle. |
| `/academics/vsrp` | Placeholder | Add VSRP information and term-cycle updates. |
| `/updates/deadlines` | Placeholder | Add admissions/program deadlines; review each cycle. |
## Faculty xF Source Inventory
The repo currently has no faculty external profile or publication-source URLs in
`src/data/faculty.ts`. The faculty directory can already render a homepage icon
when `homepage` is present, but every record is empty today.
| Faculty | Local xF/publication source status |
|---|---|
| Rajat Moona | Missing homepage/publication source |
| Anirban Dasgupta | Missing homepage/publication source |
| Bireswar Das | Missing homepage/publication source |
| Neeldhara Misra | Missing homepage/publication source |
| Nipun Batra | Missing homepage/publication source |
| Manoj D Gupta | Missing homepage/publication source |
| Mayank Singh | Missing homepage/publication source |
| Sameer G Kulkarni | Missing homepage/publication source |
| Balagopal Komarath | Missing homepage/publication source |
| Abhishek Bichhawat | Missing homepage/publication source |
| Yogesh Kumar Meena | Missing homepage/publication source |
| Shouvick Mondal | Missing homepage/publication source |
| Manisha Padala | Missing homepage/publication source |
| Shanmuganathan Raman | Missing homepage/publication source |
| Udit Bhatia | Missing homepage/publication source |
| Krishna Prasad Miyapuram | Missing homepage/publication source |
| Jyoti Krishnan | Missing homepage/publication source |
| Manu Awasthi | Missing homepage/publication source |
| Anup Kalbalia | Missing homepage/publication source |
| Nirmal Kumar Sancheti | Missing homepage/publication source |
| Samit Bhattacharya | Missing homepage/publication source |
| Venkatesh Raman | Missing homepage/publication source |
| Viraj Shah | Missing homepage/publication source |
| Madhavan Unnikrishnan Nair | Missing homepage/publication source |
| Yuvraj Patel | Missing homepage/publication source |
| Subir Verma | Missing homepage/publication source |
| Ambarish Ojha | Missing homepage/publication source |
| K. Gopinath | Missing homepage/publication source |