build(www): 添加 Drone CI 流水线配置

- 新增 .drone.yml 文件用于定义 CI/CD 流程
- 配置了基于 Docker 的部署步骤
- 设置了工作区和卷映射以支持持久化数据
- 添加了构建准备阶段和 Docker 部署阶段
- 定义了环境变量和代理设置
- 配置了 artifacts 目录的处理逻辑
- 添加了 timezone 映射以确保时间同步
- 设置了 docker.sock 映射以支持 Docker in Docker
This commit is contained in:
2025-11-01 13:36:00 +08:00
commit 22e48d9558
272 changed files with 44007 additions and 0 deletions

180
README.md Normal file
View File

@@ -0,0 +1,180 @@
# ZhuHJay Blog
[![Node.js](https://img.shields.io/badge/Node.js-20.19.2-339933?style=flat-square&logo=node.js)](https://nodejs.org/)
[![VuePress](https://img.shields.io/badge/VuePress-1.9.7-4fc08d?style=flat-square&logo=vue.js)](https://vuepress.vuejs.org/)
[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
一个基于 VuePress 和 vuepress-theme-reco 主题构建的个人技术博客,专注于 Java、JavaScript、数据库等技术分享。
## 🌟 特性
- **现代化设计**: 使用 vuepress-theme-reco 主题,界面简洁美观
- **技术导向**: 涵盖 Java、JavaScript、Redis 等主流技术栈
- **容器化部署**: 支持 Docker 容器化部署
- **移动端适配**: 响应式设计,完美支持移动设备
- **搜索功能**: 内置搜索,快速定位文章内容
## 📁 项目结构
```
├── blogs/ # 博客文章目录
│ ├── database/ # 数据库相关文章
│ │ └── redis/ # Redis 文章
│ ├── frontend/ # 前端技术文章
│ └── java/ # Java 技术文章
│ ├── java8/ # Java 8 特性
│ └── jvm/ # JVM 相关
├── .vuepress/ # VuePress 配置
│ ├── config.js # 站点配置
│ └── public/ # 静态资源
├── public/ # 构建输出目录
├── Dockerfile # Docker 镜像构建
├── compose.yaml # Docker Compose 配置
└── package.json # 项目依赖配置
```
## 🛠️ 技术栈
- **静态站点生成器**: VuePress 1.9.7
- **主题**: vuepress-theme-reco 1.6.16
- **运行时**: Node.js 20.19.2
- **容器化**: Docker + Nginx
- **部署**: Docker Compose
## 🚀 快速开始
### 环境要求
- Node.js >= 20.19.2
- npm 或 yarn
- Docker (可选,用于容器化部署)
### 本地开发
1. **克隆项目**
```bash
git clone <repository-url>
cd www-master
```
2. **安装依赖**
```bash
npm install
# 或
yarn install
```
3. **启动开发服务器**
```bash
npm run dev
```
访问 http://localhost:8080 查看博客
4. **构建生产版本**
```bash
npm run build
```
### Docker 部署
1. **构建镜像**
```bash
docker build -t www:latest .
```
2. **使用 Docker Compose 部署**
```bash
docker-compose up -d
```
访问 http://localhost:3000 查看部署的博客
## 📝 文章管理
### 添加新文章
1. 在相应的 `blogs/` 子目录下创建 Markdown 文件
2. 使用以下格式的 Front Matter
```markdown
---
title: 文章标题
date: 2022-01-25
sidebar: 'auto'
tags:
- 标签1
- 标签2
categories:
- 分类名
---
文章内容...
```
### 文章分类
- **Java 技术**: `blogs/java/`
- Java 8 特性: `blogs/java/java8/`
- JVM 深入: `blogs/java/jvm/`
- **前端技术**: `blogs/frontend/`
- **数据库技术**: `blogs/database/`
## ⚙️ 配置说明
### 站点配置
主要配置文件位于 `.vuepress/config.js`,包含:
- **基本信息**: 站点标题、描述、作者信息
- **主题配置**: 导航栏、侧边栏、友链等
- **功能设置**: 搜索、分类、标签等
### 主要配置项
- **title**: 站点标题
- **description**: 站点描述
- **author**: 作者信息
- **nav**: 导航栏配置
- **sidebar**: 侧边栏配置
- **blogConfig**: 博客相关配置
## 🔧 开发指南
### 自定义主题
如需自定义主题样式,可以在 `.vuepress/styles/` 目录下添加样式文件。
### 插件扩展
可以通过修改 `.vuepress/config.js` 添加 VuePress 插件来扩展功能。
## 🚢 部署
### 生产环境部署
1. 构建静态文件:`npm run build`
2. 将 `public/` 目录部署到 Web 服务器
3. 或使用提供的 Docker 镜像进行容器化部署
### 持续集成
项目支持通过 Docker 进行自动化部署,可以集成到 CI/CD 流水线中。
## 📄 许可证
本项目基于 MIT 许可证开源,详见 [LICENSE](LICENSE) 文件。
## 👤 作者
**ZhuHJay**
- 邮箱: zhuhjay@qq.com
- 码云: https://gitee.com/ZhuHJay
## 🤝 贡献
欢迎提交 Issue 和 Pull Request 来帮助改进项目!
---
⭐ 如果这个项目对你有帮助,请给它一个星标!