- 新增 .drone.yml 文件用于定义 CI/CD 流程 - 配置了基于 Docker 的部署步骤 - 设置了工作区和卷映射以支持持久化数据 - 添加了构建准备阶段和 Docker 部署阶段 - 定义了环境变量和代理设置 - 配置了 artifacts 目录的处理逻辑 - 添加了 timezone 映射以确保时间同步 - 设置了 docker.sock 映射以支持 Docker in Docker
180 lines
4.2 KiB
Markdown
180 lines
4.2 KiB
Markdown
# ZhuHJay Blog
|
||
|
||
[](https://nodejs.org/)
|
||
[](https://vuepress.vuejs.org/)
|
||
[](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 来帮助改进项目!
|
||
|
||
---
|
||
|
||
⭐ 如果这个项目对你有帮助,请给它一个星标! |