Astro作品集

sanju.sh — Astro 作品集模板

作者 Spikeysanju

基于 Astro 构建的个人网站模板,包含写作、随想与项目展示,并支持动态 OG 图片与自托管字体。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

使用 Astro 构建,支持在 Cloudflare Workers 上进行服务端渲染

02

包含 writings、thoughts、ships 三类内容栏目

03

通过 SVG 与 resvg-wasm 在边缘生成每篇文章的动态 OG 图片

04

自托管 Uncut Sans 字体,提供四个字重及 woff2/woff 回退

05

使用 TailwindCSS、TypeScript 与 Biome 进行样式、类型和代码质量处理

06

代码以 Apache-2.0 许可开源

模板详细介绍

sanju.sh 是开发者 Spikeysanju 的个人网站源码,采用 Astro 作为静态站点生成框架,并部署在 Cloudflare Workers 上。站点以极简的单色配色加一个强调色呈现,内容围绕个人写作与项目展开。

内容结构上,站点分为 writings(博客文章与长文)、thoughts(类似推文或引语的短想法)和 ships(项目展示)几个栏目。文章使用 Markdown 编写,便于阅读和维护。

技术实现方面,项目使用 TailwindCSS 处理样式、TypeScript 做类型检查、Biome 负责格式化与 lint。动态 OG 图片通过 SVG 与 resvg-wasm 在边缘生成,字体采用自托管的 Uncut Sans(四个字重,提供 woff2 与 woff 回退)。部署流程为构建后通过 Wrangler 发布为名为 sanju 的 Cloudflare Worker,Astro Cloudflare 适配器会输出服务端 bundle 与静态资源。

许可方面,代码以 Apache-2.0 发布,允许免费使用、修改、商用和分发,但需随附许可证并保留归属声明;演示图片、字体等第三方素材需单独核对许可。

Astro作品集

适合你的项目吗?

适用场景

  • 搭建以文字内容为主的个人网站或博客
  • 展示个人项目与短想法,并发布长篇文章
  • 需要为每篇文章自动生成分享预览图的站点
  • 希望将 Astro 站点部署到 Cloudflare Workers 的开发者

适合人群

  • 偏好极简单色设计风格的个人开发者
  • 使用 Astro 并希望参考内容型站点结构的人
  • 需要自托管字体与动态 OG 图片方案的站点作者
  • 接受 Apache-2.0 许可条款并愿意保留归属声明的使用者

上手与定制指南

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

  1. 1

    项目使用 Bun 作为包管理器,构建命令为 bun run build

  2. 2

    部署通过 wrangler deploy --name sanju 发布为 Cloudflare Worker

  3. 3

    Astro Cloudflare 适配器会输出 dist/server 与 dist/client,wrangler.jsonc 指向适配器入口

  4. 4

    README 提到旧 Cloudflare Pages 项目已在 Astro 7 迁移后移除,生产部署应使用 Workers

  5. 5

    代码为 Apache-2.0 许可,分发时需随附许可证并保留归属声明;演示图片、字体等第三方素材需单独核对许可

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

  • 允许免费使用、修改、商用和分发;分发时需随附 Apache-2.0 许可证。
  • 修改过的文件需显著标明改动,并保留相关版权、专利、商标及归属声明。
  • 若原项目附有 NOTICE 文件,分发衍生作品时需保留其中适用的归属声明。
  • 许可包含适用的贡献者专利授权;发起许可所述专利诉讼会终止该专利授权,且不授予商标使用权。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 Apache-2.0 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 该模板的生产部署依赖 Cloudflare Workers 服务,需使用 Wrangler 将站点发布为名为 sanju 的 Worker,属于外部托管服务要求。
  • 部署需使用 Wrangler 命令行工具并指定 Worker 名称,意味着需要 Cloudflare 账户与相应部署权限。
  • 构建产物依赖 Astro 的 Cloudflare 适配器,服务端渲染部分需在 Cloudflare Workers 环境运行,而非纯静态托管。
  • README 明确要求生产部署改用 Cloudflare Workers,旧 Cloudflare Pages 项目已移除,部署方式受限。
查看原文依据

no-charge, royalty-free, irrevocable copyright license

许可证原文

the site is deployed as a cloudflare worker named `sanju`.

README 原文

bunx wrangler deploy --name sanju

README 原文

the astro cloudflare adapter writes a worker bundle to `dist/server` and static assets to `dist/client`.

README 原文

the old cloudflare pages projects were removed after the astro 7 migration. use workers for production deploys going forward.

README 原文
https://github.com/Spikeysanju/sanju.sh/blob/main/LICENSEhttps://github.com/Spikeysanju/sanju.sh/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2026-09-10
截图检查日期
2026-10-05

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: [email protected] · 2026-10-06

查看当时使用的来源资料

SHA-256: dac96437a47fb00ab98e4fa0c1107190e5284b1aa00821d8529d6a15cc122415

2026-10-05T18:08:02.206Z

来源文件 / 仓库
![ A website with the title "Sanju's internet space" and navigation links for "home", "writing", "thoughts", and "ships".](https://github.com/Spikeysanju/sanju.sh/assets/23400022/ff3120ee-281b-4607-995e-bc2e8f9edef6)

# 🌐 sanju.sh – internet space
hey! this is my personal corner on the web where I share my thoughts, ideas, and projects. feel free to explore and contact me if you have any questions or just want to chat.

## 📖 about project
this is a simple personal website i built using [astro](https://astro.build/), a static site generator. i chose Astro for its speed, flexibility, and ease of use. i hope you like the site!


## ✨ features
- **writings**: a collection of my blog posts and articles
- **thoughts**: a place for me to share my random thoughts and ideas (more like tweets or quotes)
- **dynamic og images**: auto-generated per post using svg + resvg-wasm on the edge
- **self-hosted fonts**: uncut sans, four weights, woff2 + woff fallback

## 🛠️ tech stack
- **astro**: content-focused web framework with ssr on cloudflare workers
- **tailwindcss**: utility-first css framework for rapid prototyping
- **markdown**: for writing content in a simple and easy-to-read format
- **typescript**: for type-checking and better code quality
- **biome**: Format, lint, and more in a fraction of a second.
- **cloudflare workers**: hosts the production site with static assets and server rendering

## 🎨 design
- i wanted to keep the design simple and clean. i used a monochrome color scheme with a pop of color for the accent.
- i also used a lot of whitespace to make the content easy to read and navigate.
- i'm a big fan of minimalism and KISS (keep it simple, stupid) and i think it works well for a personal website like this.
- i hope you like the design as much as i do!

## 🚀 deployment
the site is deployed as a cloudflare worker named `sanju`.

```bash
bun run build
bunx wrangler deploy --name sanju
```

the astro cloudflare adapter writes a worker bundle to `dist/server` and static assets to `dist/client`. `wrangler.jsonc` points at the cloudflare adapter entrypoint, and wrangler follows the generated `dist/server/wrangler.json` during deploy.

the old cloudflare pages projects were removed after the astro 7 migration. use workers for production deploys going forward.

## 🤝 contributing
if you have ideas or suggestions, feel free to open an issue or submit a pull request. i'm open to collaborations and contributions.

## 📬 contact
you can reach me at [email protected] or on twitter. don't hesitate to get in touch!

## 📜 license
this project is open source under the Apache License 2.0. you're welcome to use the code for your own projects. if you do, a shoutout would be appreciated but it's not required.
反馈内容错误

看看同类模板

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