DragonRster`s Void
Banner Image
目录
2026年4月 · 最近在干些什么

从 ESP32 到云服务器:一个 90s 个人博客的诞生


网站框架搭建

  • 从 ESP32 到云服务器
  • 心血来潮打算做一个偏 WEB 1.0 风格的个人博客。上一次开放个人博客还是在疫情之前。最初服务器部署在 ESP32-S3 上,后来迁移到了云服务器——ESP32 的性能还是有些力不从心。

    近两年越来越偏爱中古硬件,因此整体采用接近 Windows 95 时代的技术风格:纯静态 HTML 构建,1024×768 分辨率最佳,特别针对 IE5.5 做了兼容性优化。

  • 组件化模板 & 自动化构建
  • 网站采用 PowerShell 构建脚本驱动,HTML 模板分离到 src/components/ 目录。header、banner、sidebars、footer 各自独立,通过 placeholder 注入数据。构建时自动扫描博客元数据(date、title、tags),支持草稿模式(<!-- draft: true -->)。

  • 脚注 & 自定义 TOC
  • 实现了 [^N] 脚注系统,引用自动转上标锚点,定义列表渲染在文末,双向跳转。支持跨行定义和多段落脚注。文章顶部可用 <!-- toc: 标题 | #锚点 --> 自定义侧边栏目录,为空时回退到标题自动提取。

    留言板进化

  • CGI + TXT 存储
  • 留言板采用 CGI 处理提交,pipe 分隔的 txt 文件存储。构建时读取最后 20 条留言注入页面,无需数据库。支持填写邮箱、显示/隐藏 IP(复选框)。

  • 邮件回复通知
  • 留言中 @用户名 会自动检测并发送邮件通知。支持 QQ Foxmail SMTP(端口 465 SSL),邮件模板为 90s 复古风格——表格布局 + 3D 边框 + Win95 配色。回复按钮自动填入 @mention。

  • 博客编辑器
  • 开发了 Web 端编辑器(/cgi-bin/editor.py),格式化工具栏、表格生成、脚注插入、字符计数、新窗口预览。兼容 IE5.5(TextRange 选区回退、String.trim polyfill)。支持中英双语内容编辑和文章列表管理。

    中英双语 & 国际化

  • 全站支持中英双语切换,构建脚本支持 -Lang 参数
  • 全部 8 篇博文及首页完成英文翻译,英文内容目录分离至 blog/en/
  • 双侧边栏、归档页、标签云全部双语化
  • 新增英文版侧边栏(sidebar-left-en.html、sidebar-right-en.html)
  • 修复归档/标签页语言切换 URL 占位符问题
  • 工具箱 & 实用功能

  • 新增工具箱页面(/cgi-bin/toolbox.py):Base64/URL 编解码、MD5/SHA 哈希、时间戳转换、字符字数统计、大小写转换、密码生成器(随机/PIN/可记忆单词)、IP 查询
  • 站内搜索(免 JS),CGI 全文匹配 search_index.txt
  • RSS 订阅源 + sitemap.xml,修复中文乱码
  • 文章标签云页面,支持按标签筛选
  • 文章归档页,按年-月分组展示
  • 自定义 404 页面
  • 服务器日志记录与旧日志自动 gzip 压缩
  • 其他改进

  • 全站文件统一 UTF-8 编码,修复 UTF-16LE 兼容问题
  • 去除主内容区全局 <center> 包裹,标题独立居中
  • /index.html/ 301 重定向
  • 老网站收藏 扩充至 26 个站点(OldWeb.today、ClassicReload、Marginalia Search 等)
  • 新增功能示例文章,覆盖全部功能用法
  • 侧边栏增加最新文章列表 + 更新日志
  • 博客底部上一篇/下一篇导航,按日期自动排序
  • web_server.py 新增 nolog 参数
  • 修 Bug 记录

  • 脚注跨行匹配:多行定义不再被 </font> 截断
  • editor.py CGI POST 重复读取:stdin 被消费两次导致表单字段丢失
  • 留言板 Email 输入框 name 属性重复,邮箱从未被保存
  • RSS 中文乱码:Get-Content 需显式指定 -Encoding UTF8
  • 路径穿越漏洞:/cgi-bin/../../data/ 可绕过保护目录
  • 构建脚本 $ 字符转义错误导致脚注定义移除失败
  • editor.py 换行符往返编辑时 \r 残留导致多余空行

  • —— 写于 2026 年 4 月 27 日,一个漫长的四月周末

    « Wiki.js搭建说明 « 返回主页 留言板架构记录 »
    工具
    English   [工具箱]

    最新文章

    » 当前站点架构更新分析...
    » 2026年5月 · ...
    » 哈基米观察日记
    » 站点框架的缺陷分析与...
    » 脚本详解:build.ps1

    » 文章归档

    本文标签

    日常 更新日志 网站建设

    DRAGONRSTER
    CC BY-NC-SA
    © 2004-2026 DragonRster • Made with HTML • 本站支持IE5.5+
    最佳浏览分辨率:1024x768 • 本页最后更新于 2026年05月03日 01:49:10