Skip to content

v1.7.1-stable

Latest

Choose a tag to compare

@ZemuZzz ZemuZzz released this 14 May 19:24
· 2 commits to main since this release

v1.7.1 是 v1.7.0 后的小版本迭代,核心是给个人剪贴板装上了 Markdown 实时预览能力,以及把所有第三方静态库完全本地化

📋 剪贴板编辑器升级

把原来的纯 textarea 改成了左右分屏编辑器:

  • 左侧 Markdown 编辑器 + 右侧实时预览
  • 节流 150ms 渲染,滚动同步(编辑滚到哪里,预览跟着滚)
  • 字数 / 行数实时统计
  • 字号、单色高亮、整体观感参考 Typora 风格

支持的渲染能力

  • 代码高亮:highlight.js 11.10.0,支持 C/C++/Python/JS/Go/Rust 等所有主流语言
  #include <iostream>
  int main() { std::cout << "Hello"; return 0; }
  • 数学公式:KaTeX 0.16.11,支持行内 $...$、块级 $$...$$\[...\]\(...\) 四种分隔符
    $$\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}$$
  • Markdown 完整功能:表格、引用、列表、链接、图片、嵌入 HTML

查看页同步升级

剪贴板查看页(/clipboard/<id>)也用了完全一致的渲染管线 - 编辑器右侧看到什么,保存后查看页就是什么。

🌐 静态资源全本地化

之前页面依赖 BootCDN / staticfile / jsDelivr 这些 CDN,实际在中国大陆访问经常1.5 秒以上甚至 timeout。本次彻底改造:

  • 把 markdown-it / highlight.js / KaTeX 全部下载到 host 服务器
  • 通过 docker-compose bind-mount 挂到容器内 /app/static/self/lib/
  • 浏览器访问 /self/lib/*.js - 同源加载,平均 < 50ms

仓库内新增

custom/static-libs/
├── markdown-it.min.js              (213 KB)
├── highlight.min.js                (797 KB)
├── highlight-atom-one-light.min.css
├── katex.min.js                    (1.4 MB)
├── katex.min.css
├── katex-auto-render.min.js
└── fonts/                          (KaTeX 字体 ~30 个文件)

总大小约 950 KB,对服务器来说毫无压力。

📖 README 完整翻新

之前的 README 停留在 v1.5.0 时代,这次整个重写:

  • 顶部"主要特性"按当前实际功能重组,按用户视角排序(UI → 通知 → 关注 → 犇犇 → 剪贴板 → 牌子 → ...)
  • 补齐 v1.5.1 / v1.6.0 / v1.7.0 / v1.7.1 所有功能描述
  • SQL 初始化脚本补全所有新表:
    • problem_solution.reviewer_id + reviewed_at(v1.6.0)
    • notification(v1.6.0)
    • homepage_banner(v1.6.0)
    • user_follow(v1.7.0)
    • benben_post + benben_image(v1.7.0)
  • 仓库结构图加 static-libs/uploads/banneruploads/benben 等新目录
  • 部署脚本加本地化静态库下载步骤
  • 版本历史按版本号倒序展示

🚀 升级方式

cd /etc/docker/compose/AlgoBeat
git pull origin main

# 拉取新增的 static-libs/ 目录(已 commit 在仓库)
# 如果只想自己下载新版:见 README 部署步骤 5

# 重启容器使新挂载生效
docker compose up -d --force-recreate web

升级后强制刷新(Ctrl+F5)以清除 CSS / JS 缓存。

📜 升级 checklist

新部署到新环境时,确认:

  1. custom/static-libs/ 目录存在且包含 6 个 JS/CSS 文件 + fonts/ 子目录
  2. docker-compose.yml./custom/static-libs:/app/static/self/lib 挂载
  3. 容器内 /app/static/self/lib/ 能 ls 出所有文件
  4. 浏览器访问 https://你的站点/self/lib/markdown-it.min.js 返回 200