🚀已通过NitroJS多平台部署(NitroJS是Nuxt3的官方引擎)
Vercel:https://blog.yunyuyuan.net
Cloudflare Page:https://blog-cfpage.yunyuyuan.net
🚀self hosted部署(参考我的文章)
Drone:https://blog-drone-cf.yunyuyuan.net,这里的
cf
意思是使用cloudflare做内网穿透
English Readme | 中文说明
- 💻 5分钟完成搭建。快速搭建,不用写一行代码。
- 🤝 方便使用。全能的后台管理界面,只需一个token,就可在网页端更新配置,新增/修改/删除博客内容,不用
notepad
,更不用git push
。 - 📷 集成图床。集成smms图床和tinypng图片压缩,网页端一键上传博客图片。
- 🌐 纯静态。打包为纯静态网站,无需后端。
- 🔍 SEO友好。每个HTML页面都是已经渲染完毕的,搜索引擎可收录。
- 🔒 可加密。可以对任意单篇文章/记录/文化加密,也可以对某些内容单独加密,只有输入密码才可查看。
- Fork 这个项目。
- 在
config.ts
中将githubName
更改为您当前的 Github 账户。如果您的存储库名称不是 nuxt3-blog,也请修改githubRepo
。 - 在 Nitro 支持的平台 上部署。
- 前往 https://github.com/settings/tokens/new,选择 repo 范围,然后点击
Generate
。 - 前往 https://your-blog-domain/manage,输入您的 github 令牌。
- 享受创作的乐趣。
- 若要使用浏览量统计功能,则需要注册MongoDB账号,然后创建一个名为
nuxt3-blog
的database, 并设置Mongodb环境变量(参考env.sample
) - 若要使用评论功能,则需要为Github安装giscus,并开启discussion,然后填写
config.ts
中的CommentRepoId
和CommentDiscussionCategoryId
参考giscus.app,填写 你的仓库 的地址后,复制data-repo-id
和data-category-id
,分别对应CommentRepoId
和CommentDiscussionCategoryId
,位置在data-repo-id和data-category-id
- 404页面
- 在本地
npm run dev
下更新数据 - 自动化测试
- 纯静态网站生成(SSG)
- 插件系统
- 支持serverless function上传图片
- 数据库集成(浏览量统计)
- algolia全站搜索
- 博客图片备份与迁移
- 密码修改(目前仅支持在
npm run dev
下修改)
- 夜间模式
- 国际化
- 多种布局主题(缺少UI设计)
- 自定义主题色
- 不同加密页面可使用不同的密码
- 让monaco editor支持额外的markdown语法高亮
- 一键拉取上游github仓库更新
- IV for AES encryption
- 块级加密
- SSR, 用于自建(参考)
- 支持 cloudflare page,netlify 以及其他服务
/assets
/image
vite引入的图片/style
公共/功能样式/svg
所有svg文件,通过/components/svg-icon.vue
动态加载
/components
vue组件,被nuxt自动加载/composables
vue响应式,被nuxt自动加载/vite-plugins
vite插件/i18n
国际化翻译文件/layouts
nuxt布局文件/pages
所有网页视图/plugins
nuxt插件/public
/rebuild
所有博客数据/sticker
所有表情图片
/scripts
Gulp执行的脚本/server
api服务器(Nodejs)/utils
/api
/server
调用的函数./nuxt
nuxt相关的功能代码/common
javascript相关的功能代码(不依赖vue或nuxt)
/config.ts
博客配置,必须修改
"scripts": {
"build": "nuxt build", // 编译为ssr
"dev": "nuxt dev", //开发
"generate": "nuxt generate", // 编译为static
"chpwd": "gulp change-passwd", // 全局修改密码
"genimg": "gulp generate-image-map", // 收集全站图片,输出到img.json
"downimg": "gulp download-image", // 读取img.json,下载所有图片到imgs/
"subimg": "gulp substitute-image", // 读取img.json,替换为新的图片(运行此脚本前,请先修改img.json里的newUrl为需要替换的url)
"lint": "eslint --fix --ext .ts,vue --ignore-path .gitignore .", //执行eslint
"preview": "nuxt preview", // 预览编译后的网站
"prepare": "husky install" // 安装husky
}
- 技术解答/交流qq群:745105612
- 邮箱:[email protected]
- discord: https://discord.gg/HtSehSMYXa