Skip to content

mazhengcn/homepage

Repository files navigation

Netlify Status Vercel Deploy

Zheng Ma's Homepage

A modern, fast, and elegant academic homepage built with Next.js and Fumadocs. This website showcases research interests, publications, and documentation with a clean and professional design.

🛠️ Tech Stack

📚 Publications Management

Publications are stored in lib/db/publications.json in CSL-JSON format. Two CLI tools are provided for managing them.

Admin CLI

bun manage-pubs list            # Numbered list of all publications
bun manage-pubs add             # Opens $EDITOR with a JSON template → validates → appends
bun manage-pubs edit 5          # Opens $EDITOR with entry #5 → validates → replaces
bun manage-pubs remove 5        # Confirm → removes entry #5
bun manage-pubs validate        # Zod schema validation on all entries
  • Indexes are 1-based (as shown by list).
  • Every mutation auto-creates lib/db/publications.bak.json as a safety net.
  • Editor falls back through $EDITOR$VISUALvimnanovi.
  • Entry fields are validated against a Zod schema at lib/db/publications.schema.ts.

BibTeX Converter

bun convert-bibtex to-bibtex                   # JSON → BibTeX (writes lib/db/publications.bib)
bun convert-bibtex from-bibtex file.bib        # BibTeX → JSON (prints to stdout)
bun convert-bibtex from-bibtex file.bib --merge  # BibTeX → JSON (appends new entries)
  • Uses citation-js for parsing and formatting.
  • --merge deduplicates by DOI and title before appending.
  • BibTeX citation keys are auto-generated from author + year + title.

📧 Contact

Zheng Ma (马征) Email: zhengma@sjtu.edu.cn


Built with ❤️ using Next.js, Fumadocs, and shadcn/ui

About

Zheng Ma's Personal Website

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors