Skip to content

项目介绍

  • 技术栈:VitePress + 自定义主题(BlogHome/BlogSidebar 等)+ 数据生成脚本(generate_blog_data.js)
  • 渲染数据:生产环境使用静态 blogData.js(由脚本生成);开发环境也可复用静态数据,确保稳定
  • 排序规则:按 frontmatter.date 降序;同一天按标题升序;URL 兜底

推荐目录结构(关键路径):

text
yijiebuyi/
├─ docs/
│  ├─ .vitepress/
│  │  ├─ config.ts          # 站点配置(可能在项目内)
│  │  └─ theme/
│  │     ├─ components/     # BlogHome.vue、BlogSidebar.vue 等
│  │     └─ data/           # blogData.js(生成)、seriesData.js
│  ├─ blog/                 # 博客文章、使用指南
│  └─ series/               # 系列文章(llm-2025 等)
├─ scripts/                 # 增量构建、部署、修复脚本
└─ package.json             # 脚本命令(dev/build/preview 等)

快速开始

  1. 安装依赖
bash
npm ci  # 或 npm install
  1. 常用脚本
bash
npm run dev             # 启动开发(生成数据 + vitepress dev)
npm run build           # 构建静态站点(vitepress build)
npm run preview         # 本地预览构建产物
npm run generate:data   # 仅生成 blogData.js(读取 frontmatter 并排序)
  1. 本地预览要点
  • 如首页列表为空,先执行 npm run generate:data
  • 构建提示 “The language 'env' is not loaded, falling back to 'txt'” 可忽略

写作与组织

1. 基本设置方法

在文章的 frontmatter 中设置 date 字段:

yaml
---
title: 你的文章标题
description: 文章描述
date: 2024-05-15  # 👈 这里设置你想要的发布日期
author: 一介布衣
tags:
  - 标签1
  - 标签2
categories:
  - 分类名称
---
```

### 2. 支持的日期格式

~~~yaml
# 标准日期格式(推荐)
date: 2024-05-15

# 包含时间
date: 2024-05-15 14:30:00

# 斜杠分隔
date: 2024/05/15

# ISO 8601 格式
date: 2024-05-15T14:30:00.000Z
```

### 3. 在文章中显示发布时间

有两种方式在文章中显示格式化的发布时间:

**方式1:使用 DateFormatter 组件(推荐)**
~~~markdown
<div class="article-meta">
  <p><strong>发布时间:</strong><DateFormatter :date="$frontmatter.date" /></p>
  <p><strong>作者:</strong>\{\{ $frontmatter.author \}\}</p>
  <p><strong>标签:</strong>\{\{ $frontmatter.tags.join(', ') \}\}</p>
</div>
```

**方式2:使用全局格式化函数**
~~~markdown
> **发布时间:** \{\{ $formatDate($frontmatter.date) \}\}
> **作者:** \{\{ $frontmatter.author \}\}
> **标签:** \{\{ $frontmatter.tags.join(', ') \}\}
```

**支持的日期格式:**
- `YYYY年MM月DD日` (默认) - 2024年05月15日
- `YYYY-MM-DD` - 2024-05-15
- `MM/DD/YYYY` - 05/15/2024

## 🚀 完整示例

### 示例1:技术文章

~~~yaml
---
title: AI技术分享 - 大模型应用开发实践
description: 分享大模型应用开发的实践经验
date: 2024-05-15  # 设置为历史日期
author: 一介布衣
tags:
  - AI
  - 大模型
  - 技术分享
categories:
  - AI技术
---

# AI技术分享 - 大模型应用开发实践

> 发布时间:\{\{ $frontmatter.date \}\}  
> 作者:\{\{ $frontmatter.author \}\}

## 内容开始...
```

### 示例2:开发经验文章

~~~yaml
---
title: 开发经验总结 - 从零到一的项目实践
description: 分享项目开发的完整经验
date: 2024-03-20  # 设置为更早的日期
author: 一介布衣
tags:
  - 开发经验
  - 项目管理
categories:
  - 开发经验
---

# 开发经验总结

> 发布时间:\{\{ $frontmatter.date \}\}

## 内容开始...
```

## 🛠️ 创建新文章的步骤

### 1. 使用模板文件

复制 `_template.md` 文件作为新文章的起点:

~~~bash
# 复制模板文件
cp docs/blog/_template.md docs/blog/your-new-article.md
```

### 2. 修改文章信息

编辑新文件,修改以下内容:

1. **标题和描述**
2. **发布日期**(设置为你想要的历史日期)
3. **标签和分类**
4. **文章内容**

### 3. 文件命名建议

```
docs/blog/
├── ai-tech-share.md          # AI技术分享
├── dev-experience.md         # 开发经验
├── project-architecture.md  # 项目架构
├── code-quality.md          # 代码质量
└── team-collaboration.md    # 团队协作
```

## 📊 文章组织建议

### 按时间组织

~~~markdown
## 2024年文章

### 5月
- [AI技术分享](./ai-tech-share.md) - 2024年5月15日
- [项目架构设计](./architecture.md) - 2024年5月10日

### 3月
- [开发经验总结](./dev-experience.md) - 2024年3月20日
- [代码质量提升](./code-quality.md) - 2024年3月15日
```

### 按分类组织

~~~markdown
## AI技术
- [大模型应用开发](./ai-tech-share.md)
- [RAG系统设计](./rag-system.md)

## 开发经验
- [项目实践总结](./dev-experience.md)
- [架构设计思考](./architecture.md)
```

## 🎨 样式自定义

### 文章元信息样式

博客已经包含了自定义CSS样式,支持:

- 发布时间高亮显示
- 标签样式美化
- 响应式设计
- 深色模式适配

### 自定义样式示例

如果你想进一步自定义样式,可以修改 `docs/.vitepress/theme/custom.css`:

~~~css
/* 自定义发布时间样式 */
.publish-date {
  font-weight: 600;
  color: var(--vp-c-brand-1);
  background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
```

## 🔧 高级功能

### 1. 自动生成文章列表

你可以创建一个脚本来自动生成按日期排序的文章列表:

~~~javascript
// scripts/generate-blog-index.js
const fs = require('fs');
const path = require('path');
const matter = require('gray-matter');

// 读取所有博客文章
// 按日期排序
// 生成索引页面
```

### 2. RSS订阅支持

可以添加RSS生成功能,让读者订阅你的博客:

~~~javascript
// 在构建时生成RSS文件
// 包含文章的自定义发布时间
```

## 📱 移动端适配

博客已经包含了响应式设计,在移动设备上也能很好地显示:

- 自适应布局
- 触摸友好的交互
- 优化的字体大小

## 🚀 部署建议

### 1. GitHub Pages

~~~yaml
# .github/workflows/deploy.yml
name: Deploy VitePress site to Pages

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - run: npm ci
      - run: npm run docs:build
      - uses: actions/deploy-pages@v2
```

### 2. Vercel/Netlify

直接连接GitHub仓库,自动部署。

## 💡 最佳实践

1. **保持一致的文章结构**
2. **使用有意义的文件名**
3. **添加合适的标签和分类**
4. **包含文章摘要和关键词**
5. **定期更新和维护**

## 🎉 总结

现在你已经掌握了如何在VitePress博客中设置自定义发布时间!你可以:

- ✅ 为任何文章设置历史发布日期
- ✅ 使用模板快速创建新文章
- ✅ 自定义文章样式和布局
- ✅ 组织和管理你的博客内容

开始创建你的第一篇带有自定义发布时间的文章吧!

---

**相关文章推荐:**
- [AI技术分享 - 大模型应用开发实践](./ai-tech-share.md)
- [开发经验总结 - 从零到一的项目实践](./dev-experience.md)

**有问题欢迎交流讨论!**