前不久在 GitHub 上看到一个很惊艳我的个人网站:
- 网站地址:Ryan Aulia
- 代码仓库:aulianza/aulianza.id
我也想要这样一个网站
我一直没有一个很满意的个人网站,主要原因是个人审美/设计能力不达标,做出来的网站总感觉差点意思。
直到我看到今天的主角:这不就是我的「梦中情网」吗?刚好技术栈我也感兴趣(基于 Next.js, TypeScript, Tailwind CSS 构建),一切都刚刚好。
于是乎,我基于 aulianza/aulianza.id(GPL-3.0 license) 修改了上百个文件诞生了这个项目:wencaizhang/webjam.cn · GitHub
项目使用 Vercel 部署:webjam.cn
为什么要修改这么多文件?
答案很简单:不修改没法儿用啊。
原仓库的一些特点:
- 博客内容和评论都是通过 API 调用 dev.to 的数据
- 实时在线留言,使用 Firebase 数据库
- 支持 ChatGPT AI 对话
- 显示 Spotify 实时信息
- 通过 Cal.com 预约会议
- 使用 Web3Forms 填写联系表单
- 甚至一些本地数据(本地文件信息)都是以 API 接口形式调用
- 个人信息/站点信息硬编码到项目中
所以这个项目没办法直接使用的,我修改了上百个文件,现在就好多了:
- 博客文章是本地文件,评论可使用 giscus(可选择不用)
- 关闭在线留言功能(Guestbook)功能
- ChatGPT AI、Spotify、Cal.com、Web3Forms、Github 分析、wakatime 记录都改为可配置项,自由决定是否启用
- 「Project」和 「learn」功能取消 API 层,直接在 中完成数据获取
- 所有个人信息/站点信息改为可配置项
- 更容易扩展和定制(例如 menu 和技术栈)
- 增加「周刊」功能
- 一些优化:例如减少 数据体积、链接代替 js 跳转等等
- 更多小细节...
Roadmap
不过现在还是不够完美的,也就是能用,下一步我的计划是:
- 提供使用文档
- 增加 RSS 功能
- 增加自动化脚本,创建博客模版功能,这样就不需要手动复制粘贴 frontMattter
- 替换 markdown 渲染库,支持 mdx 渲染,提供更多组件增强 mdx 表现力
- 优化 「learn」 改成文档布局
- 扩展 「dashboard」 信息
- 优化 「weekly」 页面
- 增加 「代码段」模块
- 重构代码结构( contents 放在最外层,nextjs 代码作为主题放在某个子目录下)
如何运行
克隆代码
安装依赖
启动开发服务
然后修改 里面的内容即可。
如果你有一些想法或者建议
当然如果你有能力对代码进行优化也欢迎直接 PR。