Astro启动器

astro-scholar — Astro 启动器模板

作者 whydevils

基于 Astro 的学术个人主页启动器,包含简介、论文、报告与博客页面,数据集中在 JSON 与 Markdown 中维护。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-03查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

包含首页、关于、论文、报告和博客等学术主页常用页面

02

论文数据集中在 src/data/publications.json,支持按作者身份和出版类型筛选

03

博客文章使用 Markdown 编写,标签可生成可点击的筛选入口

04

姓名、标语与社交链接集中在 src/constants.ts,留空即可隐藏字段

05

内置 GitHub Pages 自动部署工作流,推送到 main 分支即可发布

06

主题色与字体在 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 许可,但演示图片、字体、图标等第三方素材需单独核对许可。

Astro启动器

适合你的项目吗?

适用场景

  • 搭建个人学术主页,展示简介、论文、报告与博客
  • 在 GitHub Pages 上免费托管学术主页,无需本地构建环境
  • 用 JSON 维护论文列表,并通过作者身份与出版类型筛选
  • 用 Markdown 撰写研究笔记或方法记录,并按标签归类

适合人群

  • 需要快速上线个人主页的研究人员与学者
  • 希望用结构化 JSON 管理论文列表的用户
  • 习惯用 Markdown 写作并推送到 GitHub 发布内容的用户
  • 使用 GitHub Pages 或类似静态托管平台的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    本地预览或构建需要 Node.js 18 及以上,运行 npm install 后使用 npm run dev

  2. 2

    在 src/constants.ts 中填写姓名、标语和社交链接,留空可隐藏对应字段

  3. 3

    替换 src/assets/portrait.png 为个人照片,建议方形且不小于 400×400 像素

  4. 4

    使用 GitHub Pages 时需在仓库 Settings → Pages 中将来源设为 GitHub Actions,并按部署地址修改 astro.config.mjs 的 site 与 base

  5. 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 原文

you'll need [Node.js 18+](https://nodejs.org/en/download)

README 原文
https://github.com/whydevils/astro-scholar/blob/main/LICENSEhttps://github.com/whydevils/astro-scholar/blob/main/README.md

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).
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。