AstroReact作品集

Astro-Theme-Astroway — Astro 作品集模板

作者 gio-del

Astro-Theme-Astroway 是一个基于 Astro 与 React 的个人作品集模板,包含关于、项目、博客、联系等区块,使用 Tailwind CSS 样式,并内置深色模式、博客模糊搜索、RSS 与基础 SEO 文件。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

基于 Astro 与 React 构建,组件使用 TypeScript 编写

02

首页包含关于、教育、经历、项目、博客与联系等区块

03

使用 Tailwind CSS 控制样式,主题色可在 tailwind.config.mjs 中调整

04

内置深色模式切换与响应式布局

05

博客支持基于 Fuse.js 的模糊搜索,并提供 RSS 订阅

06

包含 robots.txt、sitemap.xml 等 SEO 相关文件

模板详细介绍

Astro-Theme-Astroway 是发布在 GitHub 上的个人作品集模板,仓库由 gio-del 维护,采用 MIT 许可。模板以 Astro 为主框架,部分交互组件使用 React 与 TypeScript 编写,样式基于 Tailwind CSS。

页面结构覆盖常见的作品集需求:首页包含关于(教育、经历)、项目、博客与联系区块,博客文章以 Markdown 文件放在 src/pages/posts 目录下,并提供文章列表页与文章详情布局。个人数据集中在 src/data/info.ts 中维护,项目卡片与轮播、联系表单等组件位于 src/components 下。

功能方面,模板提供深色模式切换、响应式布局、基于 Fuse.js 的博客模糊搜索、RSS 订阅以及 robots.txt 与 sitemap.xml 等 SEO 相关文件。README 中列出的待办包括国际化(i18n)与项目集合(Projects collection),说明这两项尚未实现。

使用限制与注意事项:联系区块的数据在 info.ts 与 Contact.tsx 两处分别维护,增删条目时需要同步修改;RSS 需要在 astro.config.mjs 中填写站点地址,并调整 pages 目录下的 rss.xml.js;SEO 信息需在 BaseLayout.astro 的 head 部分修改;主题色通过根目录的 tailwind.config.mjs 调整。仓库中的演示图片、字体、图标等第三方素材需按各自许可单独核对。

AstroReact作品集

适合你的项目吗?

适用场景

  • 搭建个人作品集网站,展示教育背景、工作经历与项目
  • 在作品集中附带 Markdown 博客,并需要文章搜索与 RSS 订阅
  • 希望使用 Astro 与 React 混合技术栈、以 Tailwind CSS 定制样式的站点
  • 需要深色模式与响应式布局的静态个人站点

适合人群

  • 具备 npm 与 Astro 基础、能自行修改配置和组件的开发者
  • 需要快速起步的个人作品集或简历型站点
  • 希望以 Markdown 维护博客内容的用户

上手与定制指南

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

  1. 1

    通过仓库的 Use this template 创建新仓库,克隆后运行 npm install 安装依赖

  2. 2

    运行 npm run dev 启动本地开发服务器,默认地址为 localhost:4321

  3. 3

    在 src/data/info.ts 中填写个人信息;增删联系区块条目时需同步修改 src/components/contact_section/Contact.tsx

  4. 4

    在 astro.config.mjs 中设置站点地址,并调整 src/pages/rss.xml.js 以生成正确的 RSS

  5. 5

    在 src/layouts/BaseLayout.astro 的 head 部分修改 SEO 信息,主题色在 tailwind.config.mjs 中调整

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 联系区块数据需在 info.ts 与 Contact.tsx 两处分别维护,增删条目时必须同步修改 Contact.tsx,否则页面显示不一致。
  • RSS 订阅功能需手动在 astro.config.mjs 中填写站点 URL,并调整 pages 目录下的 rss.xml.js,否则生成的订阅链接不正确。
  • SEO 信息需手动修改 src/layouts/BaseLayout.astro 的 head 部分,模板不会自动生成站点专属的元数据。
  • 主题配色需通过根目录的 tailwind.config.js 调整,默认样式不会自动适配个人品牌色。
  • 国际化(i18n)与项目集合(Projects collection)尚未实现,属于待办功能,当前版本不提供。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

If you add/remove something from the contact section in the `info.ts` file, you will need to update the `Contact.tsx` file located in the `src/components/contact_section` directory by simply reflecting the changes you made in the `info.ts` file.

README 原文

Update the `site` entry in the `astro.config.mjs` file with your site url.

README 原文

Modify the head section of the `BaseLayout.astro` file located in the `src/layouts` directory to reflect your site's information.

README 原文

This portfolio template uses Tailwind CSS for styling. You can modify the colors used in the portfolio by updating the `tailwind.config.js` file located in the root of the project.

README 原文

- [ ] Internationalization (i18n) - [ ] Projects collection

README 原文
https://github.com/gio-del/Astro-Theme-Astroway/blob/main/LICENSEhttps://github.com/gio-del/Astro-Theme-Astroway/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 86 / 100
技术栈
Astro · React
网站类型
作品集
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2025-01-24
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: f6e8e282ba051277ff62be8d50f8b7b96b9d913d38924a166068b856e3095c3b

2026-10-02T09:43:19.023Z

来源文件 / 仓库
# 1. Astro Portfolio Template

[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/gio-del/Astro-Portfolio-Template)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/gio-del/Astro-Portfolio-Template)
[![Open in Codeanywhere](https://codeanywhere.com/img/open-in-codeanywhere-btn.svg)](https://app.codeanywhere.com/#https://github.com/https://github.com/gio-del/Astro-Portfolio-Template)

## 1.1. Table of Contents

- [1. Astro Portfolio Template](#1-astro-portfolio-template)
  - [1.1. Table of Contents](#11-table-of-contents)
  - [1.2. Features :open\_hands:](#12-features-open_hands)
  - [1.3. What's next? :rocket:](#13-whats-next-rocket)
  - [1.4. How to use this template :toolbox:](#14-how-to-use-this-template-toolbox)
    - [1.4.1. Notes about the contact section :email:](#141-notes-about-the-contact-section-email)
    - [1.4.2. Notes about RSS feed :newspaper:](#142-notes-about-rss-feed-newspaper)
    - [1.4.3. Notes about SEO :robot:](#143-notes-about-seo-robot)
    - [1.4.4. Notes about styles :art:](#144-notes-about-styles-art)
  - [1.5. Project Structure :rocket:](#15-project-structure-rocket)
  - [1.6. Commands :genie\_man:](#16-commands-genie_man)
  - [1.7. Tools Used :hammer\_and\_wrench:](#17-tools-used-hammer_and_wrench)
  - [1.8. Contributing :building\_construction:](#18-contributing-building_construction)
  - [1.9. License :memo:](#19-license-memo)

## 1.2. Features :open_hands:

- Dark mode toggle
- Responsive design
- Easy to customize and extend personal data
- Fuzzy search for blog posts
- SEO friendly (robots.txt, sitemap.xml)
- RSS feed

## 1.3. What's next? :rocket:

- [ ] Internationalization (i18n)
- [ ] Projects collection
- Feel free to open an issue or submit a pull request with your ideas for improving this portfolio template (see [Contributing](#18-contributing-building_construction))

## 1.4. How to use this template :toolbox:

Note: this mini-guide assumes you have `npm` installed on your machine, if you don't, you can download it following the instructions [here](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)

1. Click on the "Use this template" button at the top of the repository.
2. Create a new repository based on this template.
3. Clone the repository to your local machine.
4. Install the dependencies by running `npm install`
5. You can now start the development server by running `npm run dev` (see this [section](#16-commands-genie_man) for more commands)
6. Now you can start customizing the portfolio template by updating the `/data/info.ts` file with your personal information.

### 1.4.1. Notes about the contact section :email:

If you add/remove something from the contact section in the `info.ts` file, you will need to update the `Contact.tsx` file located in the `src/components/contact_section` directory by simply reflecting the changes you made in the `info.ts` file. Although, this choice may seem redundant, it allows to separate the data from the view.

### 1.4.2. Notes about RSS feed :newspaper:

The RSS feed is generated using the `astro-plugin-feed` plugin.

To customize it:

1. Update the `site` entry in the `astro.config.mjs` file with your site url.
2. Modify the `rss.xml.js` file located in the `pages` directory to reflect your site's information.

### 1.4.3. Notes about SEO :robot:

Modify the head section of the `BaseLayout.astro` file located in the `src/layouts` directory to reflect your site's information.

### 1.4.4. Notes about styles :art:

This portfolio template uses Tailwind CSS for styling. You can modify the colors used in the portfolio by updating the `tailwind.config.js` file located in the root of the project.

## 1.5. Project Structure :rocket:

Inside of this portfolio template, you will find the following files and directories:

```text
.
├── astro.config.mjs
├── LICENSE
├── package.json
├── package-lock.json
├── public
│   ├── favicon.svg
│   ├── pic.jpg
│   └── Resume.pdf
├── README.md
├── src
│   ├── components
│   │   ├── about_section
│   │   │   ├── About.tsx
│   │   │   ├── Education.tsx
│   │   │   └── Experience.tsx
│   │   ├── contact_section
│   │   │   └── Contact.tsx
│   │   ├── navbar
│   │   │   ├── Hamburger.tsx
│   │   │   └── Nav.jsx
│   │   ├── post_section
│   │   │   ├── Blog.astro
│   │   │   └── Post.astro
│   │   ├── projects_section
│   │   │   ├── ProjectCard.tsx
│   │   │   └── ProjectCarousel.tsx
│   │   ├── search
│   │   │   └── Search.tsx
│   │   ├── ToggleDarkMode.jsx
│   │   └── TopButton.jsx
│   ├── data
│   │   └── info.ts
│   ├── env.d.ts
│   ├── layouts
│   │   ├── BaseLayout.astro
│   │   └── PostLayout.astro
│   ├── pages
│   │   ├── index.astro
│   │   ├── posts
│   │   │   └── your-post-title.md
│   │   └── posts.astro
│   └── styles
│       └── global.css
├── tailwind.config.mjs
└── tsconfig.json
```

## 1.6. Commands :genie_man:

All commands are run from the root of the project, from a terminal:

| Command                   | Action                                           |
| :------------------------ | :----------------------------------------------- |
| `npm install`             | Installs dependencies                            |
| `npm run dev`             | Starts local dev server at `localhost:4321`      |
| `npm run build`           | Build your production site to `./dist/`          |
| `npm run preview`         | Preview your build locally, before deploying     |
| `npm run astro ...`       | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI                     |

## 1.7. Tools Used :hammer_and_wrench:

This portfolio template uses the following tools/libraries/resources:

- [Astro](https://astro.build/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Font Awesome](https://fontawesome.com/)
- [React](https://reactjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Fuse.js](https://fusejs.io/)

## 1.8. Contributing :building_construction:

If you would like to contribute to the Astro Portfolio Template, follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Push your changes to your forked repository.
5. Submit a pull request to the main repository.

Thank you very much for your contributions!

See the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.

## 1.9. License :memo:

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
反馈内容错误

看看同类模板

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