Astro作品集

Dracula-portfolio — Astro 作品集模板

作者 nivinvysakh

Dracula-portfolio 是一个基于 Astro 的开发者作品集模板,采用 Dracula 配色与 GitHub README 风格的排版,支持通过集中配置文件替换个人信息、社交链接与项目内容。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

Dracula 配色方案,使用 #282a36、#bd93f9、#ff79c6 等主题色

02

个人信息、社交链接、技术栈与项目集中在 src/config.ts 中配置

03

通过 Lanyard WebSocket 展示 Discord 在线状态与 Spotify 播放信息

04

通过 API 同步 GitHub 贡献数据,并带有回退显示

05

提供开发与生产两套 Docker 配置,生产环境使用 NGINX Alpine 并处理 404 路由

06

包含 GitHub Actions 工作流,执行类型检查与构建检查

模板详细介绍

Dracula-portfolio 是一个面向开发者的个人作品集模板,使用 Astro 构建,视觉上参考 VS Code 的 Dracula 主题配色,并以类似 GitHub README 的排版组织内容。模板将姓名、头衔、标语、邮箱、Discord ID、头像地址、社交链接、技术栈与项目等个人信息集中在 src/config.ts 中,便于替换成自己的资料。

模板包含一个 GitHub 贡献图组件,通过 API 同步近期贡献数据,并在请求失败时提供回退显示;同时提供基于 Lanyard WebSocket 的 Discord 在线状态与 Spotify 播放信息展示,这些功能依赖外部服务,需要配置对应的 Discord 用户 ID 才能生效。项目附带 Docker 配置:开发容器在 Node 20 环境中运行 Astro 开发服务器,生产容器使用 NGINX Alpine 提供静态文件并处理 404 路由。仓库还包含 GitHub Actions 工作流,用于类型检查与构建检查。

使用前需要留意,模板中的实时状态、贡献图等模块依赖第三方接口,其可用性受外部服务影响;演示截图、字体、图标等第三方素材的许可需要单独核对。

Astro作品集

适合你的项目吗?

适用场景

  • 开发者需要一个可直接替换个人信息的静态作品集页面
  • 希望作品集呈现 Dracula 暗色主题与 GitHub README 风格排版
  • 想在作品集中展示 Discord 在线状态或 Spotify 正在播放内容
  • 需要将作品集以 Docker 容器方式在本地或服务器上运行
  • 想通过集中配置文件维护社交链接、技术栈与项目列表

适合人群

  • 熟悉 Astro 或愿意按文档修改配置文件的开发者
  • 需要 MIT 许可下可自由修改与分发的作品集模板的个人
  • 有 Docker 使用经验并希望以容器方式部署静态站点的用户
  • 希望展示 GitHub 贡献图与 Discord 实时状态的开发者

上手与定制指南

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

  1. 1

    本地开发需要 Node.js 18 或更高版本以及 npm 9 或更高版本,安装依赖后运行 npm run dev,默认在 4321 端口访问

  2. 2

    在 src/config.ts 中替换姓名、头衔、标语、邮箱、Discord ID、头像地址、社交链接、技术栈与项目等内容

  3. 3

    Discord 状态与 Spotify 播放信息依赖 Lanyard WebSocket,需要填写有效的 Discord 用户 ID 才能显示

  4. 4

    GitHub 贡献图依赖外部 API 同步,接口不可用时会显示回退内容

  5. 5

    使用 Docker 时,开发容器映射到 4321 端口,生产容器映射到 8080 端口,可通过 docker compose 命令启动

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • Discord 在线状态与 Spotify 播放信息依赖第三方 Lanyard WebSocket 服务,需填写有效 Discord 用户 ID 才能生效,功能可用性受外部服务影响。
  • GitHub 贡献图依赖外部 API 实时同步,接口不可用或受限时仅显示回退内容,数据展示受第三方服务影响。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Live Discord & Spotify Integration (Lanyard WebSocket)

README 原文

Dynamic wave graph rendering recent GitHub contribution activity via live API sync with graceful fallbacks.

README 原文
https://github.com/nivinvysakh/Dracula-portfolio/blob/main/LICENSE.MDhttps://github.com/nivinvysakh/Dracula-portfolio/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: 5626ff6d8d63926cbb99bba05b03ce9f3480afe2d26f978e648f0e63982c808d

2026-10-02T07:59:13.422Z

来源文件 / 仓库
# Nivin | Portfolio & Developer README 🚀

[![Astro CI Build & Check](https://github.com/nivinvysakh/Dracula-portfolio/actions/workflows/ci.yml/badge.svg)](https://github.com/nivinvysakh/Dracula-portfolio/actions/workflows/ci.yml)
![Docker](https://img.shields.io/badge/Docker-Multi--stage-2496ED?logo=docker&logoColor=white)
![NGINX](https://img.shields.io/badge/NGINX-Alpine-009639?logo=nginx&logoColor=white)
![Astro](https://img.shields.io/badge/Astro-v7.2-BC52EE?logo=astro&logoColor=white)
![TailwindCSS](https://img.shields.io/badge/Tailwind-v4.3-06B6D4?logo=tailwindcss&logoColor=white)
![License](https://img.shields.io/badge/License-MIT-green.svg)

A minimalist, retro Dracula-themed developer portfolio built with **Astro 7**, **Tailwind CSS v4**, **TypeScript**, and enterprise **DevOps Docker Containerization**.

---

## ✨ Features

- 🎨 **Dracula Theme Palette**: Premium dark mode styling using curated Dracula color tokens (`#282a36`, `#44475a`, `#f8f8f2`, `#bd93f9`, `#ff79c6`, `#8be9fd`, `#50fa7b`).
- ⚡ **Lightning Fast (Astro 7)**: Near-zero JS runtime footprint, static SSR generation, optimized images, and high performance scores.
- 🎵 **Live Discord & Spotify Integration (Lanyard WebSocket)**: Real-time status updates (Online/Idle/DND/Offline), custom status messages, live Spotify playback details, and active game rich presence.
- 📊 **GitHub Contribution Graph**: Dynamic wave graph rendering recent GitHub contribution activity via live API sync with graceful fallbacks.
- 🐳 **Production Containerization**: Multi-stage `dockerfile` (`node:20-alpine` builder $\rightarrow$ `nginx:alpine` runtime) with NGINX 404 error page routing.
- 🤖 **CI/CD Automation**: GitHub Actions pipeline for automated type checking, build audits, and Dependabot package updates.

---

## 🐳 Docker Setup

You can run the portfolio inside Docker containers for both **development** and **production**:

### 1. Development Container (with Hot Reload)
Run the Astro dev server inside Node 20 Docker container:

```bash
docker compose up -d dracula-portfolio-dev
```
- **Access**: [http://localhost:4321](http://localhost:4321)

### 2. Production Container (NGINX Alpine)
Build & run the optimized production container with custom NGINX 404 page routing:

```bash
docker compose up -d --build dracula-portfolio-prod
```
- **Access**: [http://localhost:8080](http://localhost:8080)
- **Test 404 Page**: [http://localhost:8080/invalid-route](http://localhost:8080/invalid-route) (renders custom floating sad anime 404 page).

### 3. Stop Containers
```bash
docker compose down
```

---

## 🛠️ Local Development (Without Docker)

### Prerequisites

- **Node.js** (v18.0.0 or higher recommended)
- **npm** (v9.0.0 or higher)

### 1. Clone the repository

```bash
git clone https://github.com/nivinvysakh/Dracula-portfolio.git
cd Dracula-portfolio
```

### 2. Install dependencies

```bash
npm install
```

### 3. Run development server

```bash
npm run dev
```

Open [http://localhost:4321](http://localhost:4321) in your browser to view the site.

---

## ⚙️ Configuration & Customization

All personal details, socials, tech stack items, and projects are centralized in [`src/config.ts`](file:///Users/nivin/Desktop/Dev/PortfolioWebsite/src/config.ts):

```typescript
export const SITE_CONFIG = {
  name: "nivinvysakh",
  title: "A Future DevOps & Platform Engineer",
  tagline: "Automating the world, one pipeline at a time.",
  email: "[email protected]",
  discordId: "957196694393614367",
  avatarUrl: "https://github.com/nivinvysakh.png",
  // ...
};
```

---

## 📦 Scripts

- `npm run dev`: Launches the Astro development server locally.
- `npm run build`: Compiles the static production site to `./dist`.
- `npm run preview`: Previews the build output locally.
- `npm run astro check`: Runs type checking and Astro diagnostic audit.
- `docker compose up -d --build dracula-portfolio-prod`: Builds and launches NGINX production container on `http://localhost:8080`.

---

## 📄 License

Distributed under the MIT License. Feel free to fork, customize, and build your own portfolio!
反馈内容错误

看看同类模板

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