Astro作品集

dotcv — Astro 作品集模板

作者 tjaugust01

dotcv 是一个基于 Astro 的简历与作品集站点模板,通过根目录 JSON 文件管理简历数据与主题配置,并支持导出 ATS 与设计两种 PDF。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

根目录 cv.json 与 dotcv.config.json 管理简历数据和站点设置

02

双 PDF 导出:/print/ats 面向 ATS 解析,/print/design 匹配网页主题

03

内置 classic、sidebar、timeline 三套主题,支持 /preview/<theme> 预览

04

内置 en、de 多语言支持,包含 OpenGraph、Twitter Card 与 Schema.org Person 结构化数据

05

使用 Zod 对配置和简历数据进行校验,主题与解析器按目录组织

06

静态生成,可部署到 GitHub Pages、Cloudflare Pages、Vercel、Netlify 或自托管静态服务器

模板详细介绍

dotcv 是一个使用 Astro 构建的静态简历与作品集平台模板,灵感来自 readcv。它把简历内容与站点设置分别放在项目根目录的 cv.json 和 dotcv.config.json 中,通过 JSON 配置驱动页面渲染与 PDF 导出。模板内置 classic、sidebar、timeline 三套主题,可在配置中切换,也提供 /preview/<theme> 路由用于在线预览各主题效果。

在输出方面,dotcv 提供双 PDF 导出:/print/ats 生成单栏、标准化排版的 ATS 简历,面向 Workday、Greenhouse 等招聘系统解析;/print/design 生成与当前网页主题视觉一致的 PDF,用于面试或作品展示。站点本身为静态生成,可部署到 GitHub Pages、Cloudflare Pages、Vercel、Netlify 或任意静态服务器。

模板还包含 i18n 多语言支持(内置 en、de)、OpenGraph 与 Twitter Card 元数据、Schema.org Person 结构化数据,以及基于 Zod 的配置与简历数据校验。项目结构把主题、PDF 组件、解析器和 i18n 翻译分目录组织,方便替换或扩展。需要注意的是,简历数据字段、主题名称和 PDF 选项均以 README 中列出的配置项为准,使用前应核对实际仓库中的 schema 与示例文件。

Astro作品集

适合你的项目吗?

适用场景

  • 用 JSON 维护个人简历并生成在线简历页面
  • 向招聘系统投递时导出单栏 ATS 简历 PDF
  • 面试或作品展示时导出与网页主题一致的设计版 PDF
  • 在 classic、sidebar、timeline 主题间切换或基于主题目录扩展自定义布局
  • 部署到 GitHub Pages 等静态托管平台作为个人主页

适合人群

  • 需要同时维护在线简历与可打印 PDF 的开发者或设计师
  • 偏好用 JSON 文件而非后台系统管理简历内容的用户
  • 需要 ATS 友好简历格式的求职者
  • 希望以 Astro 静态站点方式部署个人作品集或简历页的团队或个人

上手与定制指南

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

  1. 1

    克隆仓库后执行 npm install,并将 cv.example.json 复制为 cv.json 填入个人数据

  2. 2

    在 dotcv.config.json 中设置 theme、locale 以及 pdf 相关选项

  3. 3

    本地开发使用 npm run dev,构建静态文件使用 npm run build,输出目录为 dist

  4. 4

    部署前在 astro.config.mjs 中配置 site 为实际域名

  5. 5

    演示图片、字体、图标等第三方素材需按各自许可单独核对

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: ff5c1f058b18fa0a993c895a7efa120f7a38c78ffe84cdd6ed841bab39f87067

2026-10-02T15:30:52.524Z

来源文件 / 仓库
# dotcv

> A modern, minimalist, and ATS-friendly CV and portfolio platform inspired by *readcv*, built with [Astro](https://astro.build).

[**Live Demo ↗**](https://tjaugust01.github.io/dotcv/) · [Features](#features) · [Themes](#available-themes) · [Quick Start](#quick-start) · [Documentation](#configuration-reference)

Manage your resume data and preferences in simple root configuration files and get an elegant online presence alongside a machine-readable, printable PDF resume.

[![dotcv Preview](docs/images/hero-preview.png)](https://tjaugust01.github.io/dotcv/)

---

## Features

- **Root-Level Configuration:** Maintain your resume data (`cv.json`) and settings (`dotcv.config.json`) directly in the project root.
- **Dual PDF Export:**
  - **ATS Resume:** A standardized, single-column vector layout optimized for Applicant Tracking Systems (Workday, Greenhouse, etc.) with precise print pagination.
  - **Design PDF:** A styled PDF matching the visual layout of your chosen web theme for personal presentations.
- **Pluggable Theme System:** Switch between pre-built themes (`classic`, `sidebar`, `timeline`) or create custom layouts.
- **Internationalization (i18n):** Built-in multi-language support (e.g., English, German).
- **SEO & Social Sharing:**
  - OpenGraph and Twitter Card metadata for rich previews on LinkedIn, X, and other platforms.
  - Structured data with Schema.org (`Person`) JSON-LD.
  - Dynamic keyword and canonical URL generation.
- **Static & Fast:** 100% Static Site Generation (SSG) with zero runtime dependencies. Deployable on GitHub Pages, Cloudflare Pages, Vercel, Netlify, or any static web server.

---

## Available Themes

`dotcv` includes three themes out of the box. You can configure the active theme in `dotcv.config.json` or preview each theme live via the links below:

### 1. Classic Theme (`classic`)
An elegant, centered single-column layout with clean typography and subtle accents. Suitable for any industry.

[**View Classic Demo ↗**](https://tjaugust01.github.io/dotcv/) *(Local: `http://localhost:4321/preview/classic`)*

![Classic Theme Preview](docs/images/theme-classic.png)

---

### 2. Sidebar Theme (`sidebar`)
A modern two-column layout featuring a sticky profile sidebar on the left and chronological career milestones on the right.

[**View Sidebar Demo ↗**](https://tjaugust01.github.io/dotcv/preview/sidebar) *(Local: `http://localhost:4321/preview/sidebar`)*

![Sidebar Theme Preview](docs/images/theme-sidebar.png)

---

### 3. Timeline Theme (`timeline`)
A timeline layout designed for engineers and creatives, complete with a dark mode toggle, hero profile header, and tagged cards.

[**View Timeline Demo ↗**](https://tjaugust01.github.io/dotcv/preview/timeline) *(Local: `http://localhost:4321/preview/timeline`)*

![Timeline Theme Preview](docs/images/theme-timeline.png)

---

## Dual PDF Export

`dotcv` provides two distinct PDF formats:

![ATS PDF vs. Design PDF Comparison](docs/images/pdf-comparison.png)

1. **ATS Resume (`/print/ats`):** 
   - Strict single-column layout, standard typography, and clean text flow.
   - Ensures optimal parsing rates across automated HR and recruiting software.
2. **Design PDF (`/print/design`):** 
   - Visually styled to match your chosen web theme.
   - Ideal for direct recruiter contact, interviews, or portfolio presentations.

---

## Quick Start

### 1. Clone the repository & install dependencies

```bash
git clone https://github.com/your-username/dotcv.git
cd dotcv
npm install
```

### 2. Add your CV data

Create your personal `cv.json` (or use `cv.example.json` as a starting point):

```bash
cp cv.example.json cv.json
```

### 3. Start the local development server

```bash
npm run dev
```

Open [http://localhost:4321](http://localhost:4321) in your browser.

---

## Configuration Reference

### 1. `dotcv.config.json` (Settings)

This file controls the theme, localization, and PDF export behaviors:

```json
{
  "theme": "classic",
  "locale": "en",
  "pdf": {
    "theme": "classic",
    "format": "a4",
    "showAtsButton": true,
    "showDesignButton": true,
    "filename": "CV_{name}.pdf"
  }
}
```

#### Available Options

| Option | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| **`theme`** | `string` | `"classic"` | Active web theme (`classic`, `sidebar`, `timeline`). |
| **`locale`** | `string` | `"en"` | Language code for UI strings and date formatting (`en`, `de`). |
| **`pdf.theme`** | `string` *(optional)* | `theme` | Theme override for the Design PDF export (e.g., use `classic` for PDF while keeping `timeline` on web). |
| **`pdf.format`** | `"a4" \| "letter"` *(optional)* | `"a4"` | Page size for print and PDF generation (`"a4"` or `"letter"`). |
| **`pdf.showAtsButton`** | `boolean` *(optional)* | `true` | Toggles the visibility of the ATS PDF download button on the website. |
| **`pdf.showDesignButton`** | `boolean` *(optional)* | `true` | Toggles the visibility of the Design PDF download button on the website. |
| **`pdf.filename`** | `string` *(optional)* | `"{name} — CV"` | Default filename suggested in browser save dialogs. Supports `{name}` and `{title}` placeholders. |

---

### 2. `cv.json` (Resume Data)

The `cv.json` file contains all structured profile information:

```json
{
  "profile": {
    "name": "Jane Example",
    "title": "Senior Software Engineer & Architect",
    "email": "[email protected]",
    "phone": "+1 234 567 8900",
    "location": "San Francisco, CA",
    "website": "https://example.com",
    "avatar": "/avatar.svg",
    "bio": "Brief overview about your professional background and core strengths.",
    "socials": [
      {
        "plattform": "GitHub",
        "url": "https://github.com/example",
        "username": "example"
      }
    ]
  },
  "experience": [
    {
      "company": "Tech Company",
      "role": "Senior Engineer",
      "location": "San Francisco, CA",
      "startDate": "2022-01",
      "endDate": null,
      "current": true,
      "description": "Core responsibilities and team leadership.",
      "highlights": [
        "Architected scalable frontend components using Astro and TypeScript",
        "Improved website loading performance and Core Web Vitals by 40%"
      ],
      "technologies": ["TypeScript", "Astro", "React", "Node.js"]
    }
  ],
  "education": [
    {
      "institution": "University of Technology",
      "degree": "Master of Science",
      "fieldOfStudy": "Computer Science",
      "startDate": "2018-10",
      "endDate": "2020-09",
      "location": "San Francisco, CA",
      "highlights": ["Focus on distributed systems and web performance"]
    }
  ],
  "skills": [
    {
      "category": "Frontend",
      "skills": ["Astro", "TypeScript", "React", "Tailwind CSS"]
    }
  ],
  "projects": [
    {
      "title": "Open Source Project",
      "description": "Project overview and key features.",
      "url": "https://github.com/example/project",
      "technologies": ["Astro", "TypeScript"]
    }
  ],
  "certifications": [
    {
      "title": "Cloud Architect Certificate",
      "issuer": "Cloud Provider",
      "date": "2023-05",
      "url": "https://example.com/cert"
    }
  ],
  "languages": [
    {
      "language": "English",
      "fluency": "Native"
    },
    {
      "language": "German",
      "fluency": "Professional working proficiency"
    }
  ]
}
```

---

## Project Structure

```
dotcv/
├── cv.json                   # Personal CV data (or cv.yaml / cv.xml)
├── cv.example.json           # Template with placeholder data
├── dotcv.config.json         # Settings (Theme, locale, PDF options)
├── public/                   # Static assets (Avatar, Favicon, Fonts)
├── src/
│   ├── components/
│   │   └── pdf/
│   │       └── AtsResume.astro  # Standardized ATS-optimized PDF layout
│   ├── lib/
│   │   ├── configSchema.ts   # Zod validation schema for config
│   │   ├── cvSchema.ts       # Zod validation schema for CV data
│   │   ├── i18n/             # Translations (en, de, ...)
│   │   └── parser/           # Format-agnostic loaders & parsers
│   ├── pages/
│   │   ├── index.astro       # Public CV website
│   │   ├── preview/
│   │   │   └── [theme].astro # Live preview routes for each theme (/preview/<theme>)
│   │   ├── print/
│   │   │   ├── ats.astro     # Route for ATS PDF (/print/ats)
│   │   │   └── design.astro  # Route for Design PDF (/print/design)
│   │   └── print.astro       # Default print fallback route
│   └── themes/
│       ├── classic/          # Classic Theme (index.astro & pdf.astro)
│       ├── sidebar/          # Sidebar Theme (index.astro & pdf.astro)
│       ├── timeline/         # Timeline Theme (index.astro & pdf.astro)
│       └── registry.ts       # Theme registry
├── astro.config.mjs
└── package.json
```

---

## Deployment

Since `dotcv` generates static HTML, CSS, and JS, it can be hosted on any static hosting provider or web server:

### 1. Configure site URL (`astro.config.mjs`)
```js
import { defineConfig } from 'astro/config';

export default defineConfig({
  site: 'https://your-domain.com',
});
```

### 2. Choose your hosting provider
- **Vercel / Netlify / Cloudflare Pages:**
  - Build Command: `npm run build`
  - Output Directory: `dist`
- **GitHub Pages:**
  - Deploy using the standard [Astro GitHub Pages Action](https://docs.astro.build/en/guides/deploy/github/).
- **Self-hosted (Nginx / Caddy / Docker):**
  - Serve the generated static files from the `dist/` directory.

---

## Available Scripts

| Command | Action |
| :--- | :--- |
| `npm run dev` | Starts the Astro development server with hot module reloading |
| `npm run build` | Builds the production-ready static website to the `dist/` folder |
| `npm run preview` | Starts a local preview server for the built `dist/` directory |
| `npm run screenshots` | Automatically captures all theme previews and PDF comparison graphics in `docs/images/` |

---

## License

MIT License – Free for personal and commercial use.
反馈内容错误

看看同类模板

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