包含首页、关于、论文、报告和博客等学术主页常用页面
astro-scholar — Astro 启动器模板
作者 whydevils
基于 Astro 的学术个人主页启动器,包含简介、论文、报告与博客页面,数据集中在 JSON 与 Markdown 中维护。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
论文数据集中在 src/data/publications.json,支持按作者身份和出版类型筛选
博客文章使用 Markdown 编写,标签可生成可点击的筛选入口
姓名、标语与社交链接集中在 src/constants.ts,留空即可隐藏字段
内置 GitHub Pages 自动部署工作流,推送到 main 分支即可发布
主题色与字体在 src/styles/global.css 中调整
模板详细介绍
astro-scholar 是一个用 Astro 构建的学术个人主页模板,面向研究人员和学者。它提供首页、关于(个人简介、职位、教育经历、获奖)、论文列表、报告与博客等页面,论文数据存放在 src/data/publications.json,博客文章为 Markdown 文件,个人姓名、标语和社交链接集中在 src/constants.ts 中配置。模板自带 GitHub Pages 部署工作流,推送到 main 分支即可自动发布,也支持 Netlify、Vercel、Cloudflare Pages 或自行构建后上传 dist 目录。使用前需要按部署地址修改 astro.config.mjs 中的 site 与 base,并在仓库设置中将 Pages 来源设为 GitHub Actions。本地开发需要 Node.js 18 及以上。模板采用 MIT 许可,但演示图片、字体、图标等第三方素材需单独核对许可。
适合你的项目吗?
适用场景
- 搭建个人学术主页,展示简介、论文、报告与博客
- 在 GitHub Pages 上免费托管学术主页,无需本地构建环境
- 用 JSON 维护论文列表,并通过作者身份与出版类型筛选
- 用 Markdown 撰写研究笔记或方法记录,并按标签归类
适合人群
- 需要快速上线个人主页的研究人员与学者
- 希望用结构化 JSON 管理论文列表的用户
- 习惯用 Markdown 写作并推送到 GitHub 发布内容的用户
- 使用 GitHub Pages 或类似静态托管平台的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
本地预览或构建需要 Node.js 18 及以上,运行 npm install 后使用 npm run dev
- 2
在 src/constants.ts 中填写姓名、标语和社交链接,留空可隐藏对应字段
- 3
替换 src/assets/portrait.png 为个人照片,建议方形且不小于 400×400 像素
- 4
使用 GitHub Pages 时需在仓库 Settings → Pages 中将来源设为 GitHub Actions,并按部署地址修改 astro.config.mjs 的 site 与 base
- 5
博客图片放在 public/images/blog/,Markdown 中引用路径需手动包含 base 前缀
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 字体通过 Google Fonts 加载,构建或访问时会向 Google 的外部服务发起请求;如需完全离线或避免第三方请求,需自行替换字体来源。
- 使用 GitHub Pages 自动部署时,必须在仓库设置中把 Pages 来源改为 GitHub Actions,否则推送不会触发部署。
- 部署前需按实际地址修改 astro.config.mjs 中的 site 与 base,子路径部署时博客图片路径还需手动加上 base 前缀。
- 本地预览或构建需要 Node.js 18 及以上版本环境。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
The font is loaded from Google Fonts
README 原文
in your repo go to **Settings → Pages → Build and deployment** and set the source to **GitHub Actions**
README 原文
Edit `astro.config.mjs` to match your deployment URL
README 原文
https://github.com/whydevils/astro-scholar/blob/main/LICENSEhttps://github.com/whydevils/astro-scholar/blob/main/README.mdyou'll need [Node.js 18+](https://nodejs.org/en/download)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- Astro Themes
- 资料与维护参考分
- 资料较完整 · 87 / 100
- 技术栈
- Astro
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-04-25
- 截图检查日期
- 2026-10-03
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-04
查看当时使用的来源资料
SHA-256: 0dc1619bc4cd1cf5bf402d1e41b10eb6dbd1dd18fa1e28279069091122fa4c13
2026-10-03T13:42:34.289Z
来源文件 / 仓库# Astro Scholar
**[Live demo](https://whydevils.github.io/astro-scholar)**
Built with [Astro](https://astro.build). Simple, fast, easy to configure and extend. Pages for introduction, publications, presentations, and a blog.
## 🚀 Getting started
**The fastest path** is to fork this repo, edit the files listed below, and push to GitHub. The site deploys automatically to GitHub Pages — no local setup needed.
If you want to preview or build locally, you'll need [Node.js 18+](https://nodejs.org/en/download):
```bash
npm install
npm run dev # http://localhost:4321
```
## ✏️ What to change
### 1. Your details — `src/constants.ts`
Name, tagline, and social links. Set any field to `""` to hide it.
### 2. Portrait — `src/assets/portrait.png`
Replace with your own photo. Ideally square, 400×400px or larger.
### 3. Pages — `src/pages/`
Each `.astro` file is a page. Edit them directly:
- `index.astro` — homepage
- `about.astro` — bio, positions, education, awards
- `publications.astro` — the filter UI (data is in `src/data/publications.json`)
- `presentations.astro` — talks and slides
### 4. Publications — `src/data/publications.json`
```json
{
"id": 1,
"title": "Paper Title",
"authors": "You, Coauthor A",
"journal": "Journal or Conference Name",
"year": 2025,
"link": "https://...",
"authorship": "first",
"abstract": "...",
"doi": "10.xxxx/xxxxx",
"publicationType": "Journal"
}
```
`authorship`: `"first"`, `"last"`, or `"other"`. Drives the authorship filter.
`publicationType`: any string — `"Journal"`, `"Conference"`, `"Preprint"`, `"Book Chapter"`, etc. Each unique value becomes a filter button.
See `src/data/README.md` for full field details.
### 5. Blog posts — `src/pages/blog/`
Add a `.md` file per post:
```markdown
---
layout: '../../layouts/BlogPost.astro'
title: 'Post Title'
date: '2025-06-01'
description: 'One sentence shown on the index.'
tags: ['methodology', 'field-notes']
---
Post content here.
```
Tags become clickable filters on the blog index. Keep them lowercase and hyphenated, and reuse them across posts so the filter is useful.
Images go in `public/images/blog/`. In markdown files you cannot use `BASE_URL`, so the path must include your base manually:
- Root deployment (`username.github.io`): `/images/blog/filename.png`
- Sub-path deployment (`username.github.io/repo-name`): `/repo-name/images/blog/filename.png`
### 6. Adding or removing pages
Any `.astro` file in `src/pages/` becomes a route. To add a page, copy an existing one and add a link in `src/components/Navigation.astro`. To remove one, delete the file and remove its nav link.
### 7. Colours and fonts
Accent colour and font are set in `src/styles/global.css`. The font is loaded from Google Fonts — swap the import and the `font-family` declaration to change it.
## 🌐 Deployment
### GitHub Pages
Push to `main` and GitHub Actions deploys automatically (workflow at `.github/workflows/deploy.yaml`).
**One-time setup:** in your repo go to **Settings → Pages → Build and deployment** and set the source to **GitHub Actions** (not "Deploy from a branch"). Without this, pushes will not trigger a deployment.
Edit `astro.config.mjs` to match your deployment URL:
**Root domain** (repo named `your-github-username.github.io` → `https://your-github-username.github.io`):
```javascript
export default defineConfig({
site: 'https://your-github-username.github.io',
});
```
**Sub-path** (any other repo name → `https://your-github-username.github.io/repo-name`):
```javascript
export default defineConfig({
site: 'https://your-github-username.github.io',
base: '/repo-name/',
});
```
### Other hosts
[Netlify](https://netlify.com), [Vercel](https://vercel.com), and [Cloudflare Pages](https://pages.cloudflare.com) all support Astro with minimal configuration. Or build with `npm run build` and upload `dist/` anywhere.
## 📁 Project structure
```
src/
├── constants.ts # Name, tagline, social links
├── assets/portrait.png # Profile picture
├── data/publications.json # Publications
├── pages/
│ ├── index.astro
│ ├── about.astro
│ ├── publications.astro
│ ├── presentations.astro
│ └── blog/
│ ├── index.astro
│ └── *.md
├── layouts/
│ ├── Layout.astro
│ └── BlogPost.astro
├── components/
└── styles/
public/
├── presentations/ # HTML slide decks
├── posters/
└── images/blog/ # Blog post images
```
## 📄 License
MIT — see [LICENSE](LICENSE).
Created by [whydevils](https://github.com/whydevils).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astrowind
⭕️ AstroWind: A free template using Astro v7 and Tailwind CSS v4. Astro starter theme.
Astro · 博客
accessible-astro-starter
Accessible Astro Starter 是一个以无障碍为核心理念的 Astro 6 启动模板,由 incluud 团队维护。
Astro · 博客

astro-erudite
An opinionated, unstyled static blogging template built with Astro and native CSS.
Astro · 作品集

astro-shopify
astro-shopify 是一个面向开发者的轻量级电商启动模板,用于构建基于 Shopify 的无头店面。
Astro · 电商

brutal
A neobrutalism Astro starter theme
Astro · 启动器

qwind
⭕️ Qwind: A template to make your website using Qwik + Tailwind CSS.
Astro · 工具站
