npm create astro@latest -- --template fjd2004711/scholar-lite
The Next-Generation Static Website Template for Academic Labs & Scholars. Blazing fast, zero-config BibTeX import, and multilingual search engine built-in.
- Click the
Deploy to NetlifyorDeploy with Vercelbutton above. - Wait for the deployment to finish.
- Go to your new GitHub repository and find
citations.bib. - Upload your own BibTeX file to replace it.
- Done! Your website updates automatically in 1 minute.
- Zero JS by Default: Built on Astro v6, sending 0kb of JavaScript to the client for content pages.
- 100/100 Lighthouse: Optimized out-of-the-box for Performance, Accessibility, Best Practices, and SEO.
- Tailwind CSS v4: The latest utility-first CSS framework for rapid, modern styling.
- One-Click BibTeX Import: Stop manually copying papers. Drop your
citations.biband run one command. - Intelligent Parsing: Automatically extracts PDF links, Code repositories, Project Websites, Videos, and Cover images.
- Asset Management: Smart fallback system for missing publication covers.
- Auto-Badging: Automatically highlights "Best Paper", "Oral", or "Spotlight" awards based on BibTeX notes.
- Multilingual Search: Built-in Pagefind search engine supporting 8 languages (English, Chinese, Japanese, Korean, French, German, Spanish, Russian).
- i18n Ready: Native support for internationalization with type-safe translations.
| Feature | 🎓 Scholar-Lite | 🐢 Hugo Academic (Wowchemy) |
|---|---|---|
| Tech Stack | Astro v6 + React + Tailwind v4 (Modern & Mainstream) | Hugo + Go Templates (Steep learning curve) |
| Performance | 100/100 Lighthouse (Zero JS by default) | Good, but often bloated with heavy JS |
| BibTeX Import | Zero-Config (Drag & drop citations.bib) |
Complex Python scripts / Manual entry |
| Customization | Component-based (Edit .astro / .tsx files directly) |
Rigid Theme (Overriding internal templates is hard) |
| Multilingual | Native i18n + Pagefind (Search in 8 languages) | Partial support, search often breaks |
| Dev Experience | Hot Reload (HMR) in milliseconds | Slower rebuilds on large sites |
| Ecosystem | NPM / Node.js (Access to millions of packages) | Go Modules (Limited web-focused packages) |
- Node.js v22.12.0 or higher
git clone https://github.com/LiuzLab/Liuzlab.github.io.git
cd Liuzlab.github.ionpm installStart the local server with hot module replacement:
npm run devVisit http://localhost:4321 in your browser to see the site.
Generate the static site and search index:
npm run buildNote: The search index is generated at build time. Search functionality requires the build step.
Follow these steps to add yourself as a team member:
- Go to https://github.com/LiuzLab/Liuzlab.github.io
- Click the "Fork" button in the top-right corner
- This creates a copy of the repository in your GitHub account
git clone https://github.com/YOUR-USERNAME/Liuzlab.github.io.git
cd Liuzlab.github.io
npm install- Prepare a square (1:1 aspect ratio) photo of yourself in
.jpg,.png, or.webpformat - Name it something descriptive (e.g.,
avatar-yourname.jpg) - Place it in the
src/assets/directory
- Create a new Markdown file in
src/content/team/directory - Name it descriptively (e.g.,
phd-jane-smith.mdorpostdoc-john-doe.md) - Use the following template:
---
name: "Your Full Name"
role: "Your Role"
title: ["Your Title"]
avatar: "../../assets/avatar-yourname.jpg"
bio: "Brief one-line description of your research interests."
email: "your.email@institution.edu"
website: "https://your-website.com"
linkedin: "https://linkedin.com/in/yourprofile"
github: "https://github.com/yourusername"
twitter: "https://twitter.com/yourhandle"
googleScholar: "https://scholar.google.com/citations?user=YOUR_ID"
weight: 50
---
Write a longer bio here (optional). This appears on your detailed profile page.
Include information about your research, background, education, and interests.Required Fields:
name: Your full namerole: Must be one of:Principal Investigator,Professor,Associate Professor,Assistant Professor,Postdoc,Research Assistant,PhD Student,Master Student,Undergraduate,Alumniavatar: Path to your image insrc/assets/(use format:../../assets/your-image.jpg)
Optional Fields:
title: Array of additional titles (e.g.,["PhD Student", "Research Fellow"])bio: Short description for your cardemail,website,linkedin,github,twitter,googleScholar: Your social/academic linksweight: Controls display order (lower numbers appear first, default is 100)
Example:
---
name: "Jane Smith"
role: "PhD Student"
title: ["PhD Student"]
avatar: "../../assets/avatar-jane.jpg"
bio: "Researching deep learning applications in computational biology."
email: "jane.smith@bcm.edu"
github: "https://github.com/janesmith"
googleScholar: "https://scholar.google.com/citations?user=EXAMPLE"
weight: 25
---
Jane is a third-year PhD student in the Liu Lab working on developing
machine learning models for disease gene prioritization. She holds a
B.S. in Computer Science from MIT.npm run devVisit http://localhost:4321/team to verify your profile appears correctly.
git add src/content/team/your-file.md
git add src/assets/avatar-yourname.jpg
git commit -m "Add [Your Name] to team page"
git push origin main- Go to your fork on GitHub:
https://github.com/YOUR-USERNAME/Liuzlab.github.io - Click "Contribute" → "Open pull request"
- Add a title: "Add [Your Name] to team page"
- Add a description explaining your changes
- Click "Create pull request"
Once your pull request is reviewed and merged, your profile will appear on the team page!
- Node.js v22.12.0 or higher
git clone https://github.com/your-repo/scholar-lite.git
cd scholar-lite
npm installStart the local server with hot module replacement:
npm run devVisit http://localhost:4321.
Generate the static site and search index:
npm run buildNote: The search index is generated at build time. Search functionality requires the build step.
Scholar-Lite features a powerful BibTeX Import Engine located in scripts/import-bibtex.js, supporting both Papers and Books.
- Export BibTeX: Export your bibliography as
citations.bibfrom Zotero, Mendeley, or Google Scholar. - Place File: Save
citations.bibin the project root. - Run Import:
npm run import-bibtex
- Auto-Classification: The system automatically classifies entries based on BibTeX type:
@article,@inproceedings, etc. -> Imported to Publications (src/content/publications)@book-> Imported to Books (src/content/books)
The importer maps BibTeX fields to website elements intelligently:
| BibTeX Field | Website Element | Smart Behavior |
|---|---|---|
cover/image |
Cover Image | Auto-detects local images in src/assets/. Highly recommended for books. |
publisher |
Publisher | For books, publisher is automatically displayed as the venue. |
pdf/url/file |
PDF Button | Cleans Zotero path formats (e.g., files/mypaper.pdf). |
code/github |
Code Button | Generates a GitHub/Code link button. |
website/project |
Project Page | Generates a Globe icon link to the project homepage. |
demo |
Live Demo | Generates a "Demo" button (Web App / HuggingFace / Video). |
video/recording |
Video | Generates a Video link button. |
slides/ppt |
Slides | Generates a Slides download button. |
award/note |
Badges | Auto-generates Gold/Blue/Red badges for "Best Paper", "Oral", etc. |
@article{gpt4,
title={GPT-4 Technical Report},
author={OpenAI},
year={2024},
journal={ArXiv},
url={https://arxiv.org/pdf/2303.08774.pdf},
code={https://github.com/openai/evals},
cover={../../assets/gpt4-cover.jpg},
note={Tech Report}
}Simply set the entry type to @book, and the system will automatically place it in the "Books" section.
@book{deeplearning,
title={Deep Learning},
author={Goodfellow, Ian and Bengio, Yoshua and Courville, Aaron},
publisher={MIT Press},
year={2016},
url={http://www.deeplearningbook.org},
cover={../../assets/book-deep-learning.jpg}
}- Images: Store website assets in
src/assets/images/. Use.webpor optimized.jpgfor better performance. - Team Photos: Place headshots in
src/assets/team/. Square aspect ratio (1:1) is recommended. - Content: All editable content (News, Team, Research info) lives in
src/content/.
- News: Add new Markdown files in
src/content/news/. The filename doesn't matter, but sorting is based on thedatefield. - Team: Add members in
src/content/team/. Useweightto control display order (lower numbers appear first). - Research Fields: Add Markdown files in
src/content/research/. Useorderfield to control display order. - Translations: Edit
src/i18n/ui.tsto modify UI text (e.g., navigation menu, buttons) for all supported languages.
Beyond papers and books, the system supports managing other academic achievements. Simply create Markdown files in the corresponding folders.
- Location:
src/content/softwares/ - Example:
--- title: "Intelligent Image Processing System V1.0" developers: ["John Doe", "Jane Smith"] link: "https://example.com/image-processing-system" date: 2023-06-15 description: "An automated image processing platform based on deep learning." ---
- Location:
src/content/grants/ - Example:
--- title: "A Method for Image Recognition Based on Attention Mechanism" pis: ["John Doe", "Bob Johnson"] number: "CN102345678B" startDate: 2024-01-20 endDate: 2025-01-20 status: "Granted" # Options: Granted, Pending, Filed ---
- Location:
src/content/honors/ - Example:
--- title: "18th Challenge Cup National College Student Extracurricular Academic Science and Technology Works Competition" award: "Grand Prize" date: 2023-10-30 year: "2023" type: "Challenge Cup" # Options: Challenge Cup, Internet+, Other level: "Special" # Options: Special, First, Second, Third ---
Scholar-Lite automatically optimizes images imported from src/assets/.
- Avoid: Putting large images in
public/. - Prefer: Importing images in Markdown or Astro components to leverage automatic compression and lazy loading.
Scholar-Lite is a static site that can be deployed anywhere.
| Platform | Global Speed | Ease of Use | Cost |
|---|---|---|---|
| Cloudflare Pages | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Free |
| Vercel | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Free |
| Netlify | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Free |
| GitHub Pages | ⭐⭐⭐ | ⭐⭐⭐⭐ | Free |
- Connect your GitHub/GitLab repository.
- Build Command:
npm run build - Output Directory:
dist - Deploy!
This template includes CI/CD configurations (.github/workflows and .gitlab-ci.yml) to automatically build and deploy to GitHub/GitLab Pages on push.
Scholar-Lite Team
Empowering academic research with modern web technology.


