我的第三代个人博客,于 2024 年 8 月 11 日上线。
- 纸鹿摸鱼处 @L33Z22L11 · 开发经历
- 希乐博客 @Xlenco
- SteinsNote @Labmem-00 · 迁移经历
- 月空人 @Whbbit1999 · 迁移评价
- 地球驿站 @mugzx · 迁移记录
- 克喵Kemeow @Kemeow815
项目使用 Nuxt 4 项目目录结构,可以参照 Nuxt 3 目录结构(左侧栏有导航)。
.
├── app # 前端
│ ├── assets # 资源文件
│ ├── components # 组件
│ │ ├── content # MDC组件
│ │ ├── partial # 微型组件
│ │ ├── widget # 侧边栏组件
│ │ ├── zhilu # 个人标识组件
│ │ └── ... # 布局组件
│ ├── composables # Vue 组合式函数
│ ├── pages # 页面
│ │ ├── [...slug].vue # 正文、404页面
│ │ ├── page.vue # 首页
│ │ ├── page/[[id]].vue # 首页动态路由
│ │ ├── archive.vue # 归档
│ │ ├── link.vue # 友链
│ │ └── preview.vue # 预览的文章
│ ├── plugins # Nuxt / Vue 插件
│ ├── stores # Pinia 状态管理
│ ├── types # 类型定义
│ ├── utils # 工具函数
│ ├── app.config.ts # 前端响应式配置
│ ├── app.vue # 基本布局
│ └── error.vue # 意外错误页
├── content # 文章
│ ├── posts # 文章
│ ├── previews # 预览文章,可被站内搜索
│ ├── link.md # 友链要求
│ └── theme.md # 主题介绍
├── patches # npm 包补丁
├── public # 静态资源,生成在站点根目录
│ └── fonts # 字体
├── server # 服务端
│ ├── api # 接口
│ │ └── stats.get.ts # 博客静态统计
│ ├── plugins # Nitro 插件
│ │ ├── anti-mirror.ts # 恶意反代跳转
│ │ └── fix-post.ts # 修复文章时区/链接
│ └── routes # 路由
│ └── atom.xml.get.ts # Atom 订阅源
├── blog.config.ts # 博客静态公共配置
├── headers.ts # 静态路径响应头配置
├── nuxt.config.ts # Nuxt 配置
└── redirects.ts # 旧站点重定向配置
pnpm i
pnpm dev
content/
目录下仅保留 link.md
,在 app.config.ts
中将 footer.nav[2].items[1].url
由 /theme
改为 https://blog.zhilu.cyou/theme
即可。
pnpm new my-post-title
pnpm generate
pnpm preview
推荐使用 Vercel 进行部署,同时也支持 Netlify、Cloudflare Pages 等平台。建议采用静态(SSG)部署方式,也可直接使用“Nuxt 预设”部署。我的部署配置如下:
- 构建命令:
pnpm generate
- 输出目录:
dist
- 安装命令:
pnpm i
欢迎参与项目:如果有具体问题或功能建议,可以发起 Issue;如果愿意在已确定的方向上增加功能或修复问题,可以提交 Pull Request。
使用需要具备一定的前端项目基础。如果你不确定代码是否有问题,可以加入 QQ 群 169994096
讨论(也欢迎闲聊),我很乐意在空闲时解答问题。
- 项目本体:MIT
- 博客文章:CC BY-NC-SA 4.0
- 不得以“纸鹿”或我的相关名义发布网站。
- 希望你在页脚保留此项目链接,助力开源传播。