前些天,我在这是一个正经的2023总结这篇文章中提到了我有在着手重构我的 Blog。现在,经过了不少的面向文档编程,一个具备基本功能的 demo 已经上线了。
此处应有撒花
目前,这个项目被我命名为allenyou-blog-v2-next
,部署地址为 https://blog-ng.allenyou.wang/ ,欢迎大家提出意见。
项目结构
这个项目是一个静态网站生成器,在构建时,前端将从后端的 API 获取数据并生成静态页面。
规划中,生成器将以 Docker 的形式存在,当后端数据更新时将自动触发构建,通过 Docker API 拉起生成器容器生成站点并部署。
前端
前端采用了 Next.js 框架。这是一个非常有名的 React 框架,提供了良好的 SSR 支持。
才不是那个 SSR 呢~这里 SSR 是 Server Side Rending ,即服务端渲染的缩写
在 UI 设计上,我选用了 Tailwind CSS,一个基于 Utility-first 思想构建的CSS框架,成功让我实现了不用写 CSS 的网页设计。取而代之的是,HTML 元素的样式可以直接在class
属性中用简短的类名组合构建而成。
例如,这个 demo 的 footer 部分就可以这样子写:
import Link from "next/link"; export default function Footer() { return ( <footer className="bottom-0 relative items-center flex-col flex my-3 gap-3 justify-center w-full text-center py-4"> <p>Copyright © 2024-{new Date().getFullYear()} 秋实-Allenyou</p> <p className="opacity-70"> Powered by <Link href="https://nextjs.org">Next.JS</Link> &{" "} <Link href="https://tailwindcss.com">TailwindCSS</Link> </p> </footer> ); }
书写体验非常好~
后端
后端采用的是 Flask 全家桶,没什么理由,单纯就是觉得 Flask 写起来顺手。
以后可能考虑重构。
目前实现的功能
- 文章列表
- 文章展示
- 友链
- ”关于“页面
- 留言板
- 针对移动端的响应式布局优化(可以把浏览器窗口缩小看看x)
- 夜间模式
计划实现的功能
- 文章 tag 功能
- 评论
- 管理后台(是的,现在数据库里面的测试文章还是我直接用 Postman 调 API 怼进去的)
- 重构后端
呐,这下可不能说我鸽子了吧(溜)