惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
爱范儿
爱范儿
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
Latest news
Latest news
The Hacker News
The Hacker News
Cyberwarzone
Cyberwarzone
博客园 - 【当耐特】
Project Zero
Project Zero
小众软件
小众软件
T
Tailwind CSS Blog
量子位
博客园 - 聂微东
I
Intezer
美团技术团队
S
SegmentFault 最新的问题
T
Tor Project blog
Spread Privacy
Spread Privacy
V
Vulnerabilities – Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Jina AI
Jina AI
罗磊的独立博客
B
Blog RSS Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享
C
Cisco Blogs
L
LINUX DO - 热门话题
Last Week in AI
Last Week in AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
L
LINUX DO - 最新话题
Know Your Adversary
Know Your Adversary
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
Lohrmann on Cybersecurity
The Register - Security
The Register - Security
L
LangChain Blog
博客园 - 叶小钗
T
Tenable Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

秋实-Allenyou 的小窝

【笔记】人工智能与模式识别 复习笔记 - 秋实-Allenyou 的小窝 【教程】使用 Keyd 将 Copilot 键映射为可用的组合键并修复触摸板防误触失效问题 机械革命无界 15X 的 Arch Linux 开荒指南 我在用什么?(2026 版) - 秋实-Allenyou 的小窝 关于 Next.js SSG 生成 RSS Feed 文件的另一思路 从零开始的 NixOS 体验 - 秋实-Allenyou 的小窝 2025:迷茫中转向 - 秋实-Allenyou 的小窝 我在用什么?(2025 版) - 秋实-Allenyou 的小窝 【杂谈】关于 AIGC 的一些思考 - 秋实-Allenyou 的小窝 【记录】一种在主机通过 Docker 容器名解析容器 IP 的方法 【记录】如何在 Next.js 中优雅的调用 Matomo 统计 从信号与系统角度看 OI/XCPC 中的傅里叶变换运用 - 秋实-Allenyou 的小窝 【杂谈】答《博客作者呀,我想采访你这 9 个问题!》 - 秋实-Allenyou 的小窝 使用 Golang 重写 gh-proxy - 秋实-Allenyou 的小窝 FurryCTF 2024 寒假赛 调试窗口 题解 2024:“我”的大学生活 - 秋实-Allenyou 的小窝 【游记】CCPC 2024 重庆站尾杀记 - 秋实-Allenyou 的小窝 【游记】ICPC 2024 亚洲区域赛南京站打铁记 - 秋实-Allenyou 的小窝 【杂谈】这次 Furrygooo 结束后我的一些体验 - 秋实-Allenyou 的小窝 【教程】使用阿里云 OSS + CDN 加速 Gravatar 【记录】 一次罗技鼠标驱动冲突问题的排查经历 - 秋实-Allenyou 的小窝 【记录】我是如何用 Next.js 重构我的博客的 - 秋实-Allenyou 的小窝 【教程】如何用 Git 快速搭建简单的 CI - 秋实-Allenyou 的小窝 我的DN42 Peering信息 - 秋实-Allenyou 的小窝 这是一个正经的2023总结 - 秋实-Allenyou 的小窝 【题解】Luogu P9769 [HUSTFC 2023] 简单的加法乘法计算题 2023新年谜题总结 - 秋实-Allenyou 的小窝 【教程】浅谈Linux服务器的一些基础安全技巧 - 秋实-Allenyou 的小窝 Goodbye, 2022~ - 秋实-Allenyou 的小窝 【教程】使用 Docker 开服,优雅地隔离不同版本JDK - 秋实-Allenyou 的小窝 【旧文补档】2020年终总结 & 2021新年计划 - 秋实-Allenyou 的小窝 【旧文补档】写个脚本监控你的VPS SolusVM面板适用 - 秋实-Allenyou 的小窝 【旧文补档】建立自己的私人网盘!在CentOS VPS上安装NextCloud - 秋实-Allenyou 的小窝 【旧文补档】2019,再见!2020,你好! - 秋实-Allenyou 的小窝 【旧文补档】新一代USB来袭,一起捋一捋USB的“前世今生” - 秋实-Allenyou 的小窝 【旧文补档】矩阵学习笔记 - 秋实-Allenyou 的小窝
【进度】博客重构计划 - 秋实-Allenyou 的小窝
2024-01-04 · via 秋实-Allenyou 的小窝

【进度】博客重构计划

2024/1/4

本文最后修改于 887 天前,请注意文章内容的时效性。

先前,我在这是一个正经的 2023 总结这篇文章中提到了我有在着手重构我的 Blog。现在,经过了不少的面向文档编程,一个具备基本功能的 demo 已经上线了。

此处应有撒花

目前,这个项目被我命名为blog-ng-next,部署地址为 https://blog-ng.allenyou.wang/ ,欢迎大家提出意见。

UPD 2024-02-11: 该项目已经开源,仓库地址为Allenyou1126/blog-ng-next

UPD 2024-02-18: 新博客已经正式上线,原博客迁移至 https://blog-old.allenyou.wang

项目结构

这个项目是一个静态网站生成器。

前端

前端采用了 Next.js 框架。这是一个非常有名的 React 框架,提供了良好的 SSR 支持(虽然我用的是 SSG)。

才不是那个 SSR 呢~这里 SSR 是 Server Side Rending ,即服务端渲染的缩写

由于自己做不来设计, 博客的前端样式模仿自tcdw,感谢大佬授权!

在 UI 设计上,我选用了 Tailwind CSS,一个基于 Utility-first 思想构建的 CSS 框架,成功让我实现了不用写 CSS 的网页设计。取而代之的是,HTML 元素的样式可以直接在class属性中用简短的类名组合构建而成。

例如,一个 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>
	);
}

书写体验非常好~

后端

由于后端太难写我砍掉了原有规划的 RESTful API 后端,转而使用了一个自己写的非常简陋的 File-based CMS 作为数据来源。构建时,这个 CMS 会读取指定目录下面的所有文章,通过类似 Hexo 的 Front-matter 语法标记一些文章信息并传递给 Next.js。

不用 Hexo 其实是因为我太菜看不明白 Hexo Warehouse 的文档

构建

我在自己的服务器上建立了一个 Git Repo,在本地的 NPM Post-build Hook 中写了一个脚本,将构建结果复制到本地的 Deploy Repo 中并 push 到服务器上,服务器端使用 Git 提供的 post-receive Hook 自动将数据 checkout 到 NGINX 配置的网页根目录,并通过阿里云的 OSSUtils 将部分静态资源放到 OSS 上通过 CDN 分发提高访问速度。

阿里云那个文档真不是正常人能看懂的,谁家好人写文档里面所有 Source Path 和 Destination Path 都是反的啊摔

目前实现的功能

  • 文章列表
  • 文章展示
  • 友链
  • ”关于“页面
  • 留言板
  • 针对移动端的响应式布局优化(可以把浏览器窗口缩小看看 x)
  • 夜间模式
  • 评论(基于自建 Waline 与官方 @waline/client 修改样式)

计划实现的功能

  • 文章 tag 功能

呐,这下可不能说我鸽子了吧(溜)