Open
Conversation
- 新建 build.rs 自动扫描 posts/ 目录 - 通过 include_str!() 在编译时嵌入 Markdown 文章 - 生成 posts_manifest.rs 消除手动注册需要 - 支持增量编译,posts/ 变化自动触发重新构建
- 使用 build.rs 生成的 posts_manifest 替代硬编码文章列表 - 实现中英文双模式阅读时间计算(CJK 300字/分钟 + Latin 200词/分钟) - 新增 TOC 提取与标题 ID 注入,支持文章目录导航 - 完整搜索索引系统,支持权重匹配(标题10分、标签5分、摘要2分) - 从 once_cell::Lazy 迁移到 std::sync::LazyLock - 新增 Post/PostSummary/SearchEntry/TocEntry/ArchiveYear 数据结构 - 完全重写 Markdown → HTML 转换管线,集成 syntect 语法高亮 - 新增 11 个单元测试覆盖阅读时间、标题转换、搜索、提取 TOC
- Seo 组件:注入 Open Graph、Twitter Card、文章元数据 - SearchModal 组件:全屏搜索界面,全文搜索、实时过滤、ESC 关闭 - SearchButton 组件:导航栏搜索入口 + Ctrl/Cmd+K 快捷键 - ThemeToggle 组件:暗亮色模式切换,localStorage 持久化 - 主题初始化策略:localStorage > prefers-color-scheme > 默认亮色 - 导出新组件模块,更新 components/mod.rs
- 添加 .dark 类选择器支持,支持页面强制暗色模式 - tokens.css 完整重写,CSS 变量支持亮色/暗色双主题 - 新增代码块样式变量(--code-bg、--code-text 等) - prose.css 重构:所有颜色替换为 CSS 变量,支持任务列表、脚注样式 - main.css 新增全局暗色模式支持、平滑滚动、.search-open 隐藏溢出 - tailwind.css v4 配置:@custom-variant dark 支持类选择器 - 新增 ikb-hover 过渡动画,同时过渡 border-color - 保留 IKB Art Edition 零圆角与 Klein Blue (#002FA7) 设计基因
- config.rs:统一导航标签为中文(Tags → 标签) - main.rs:路由改进,404 页面移入 NavbarLayout 保留导航+页脚 - main.rs:全局 SEO 元数据注入(og:site_name、og:type) - main.rs:Route 枚举补充文档注释 - Dioxus.toml:移除 style 配置避免 Tailwind 二次加载 - navbar.rs:集成 SearchButton 与 ThemeToggle - navbar.rs:支持移动端汉堡菜单 - navbar_layout.rs:全局搜索模态框集成,Ctrl/Cmd+K 快捷键 - markdown.rs:移除 Tailwind prose-* 修饰符(CSS 优先) - hero.rs 和 footer.rs:添加过期色彩过渡动画
- home.rs:添加全局 SEO 组件 - blog.rs:新增 TOC 侧边栏(sticky 布局,h2-h4 链接),SEO 元数据 - blog.rs:移除变量遮蔽,"返回博客" 导向归档页 - archives.rs:新增 SEO,移除不必要回链 - tag_index.rs:新增 SEO,清理导入 - tagpage.rs:新增动态 SEO,标签作为标题前缀 - page_not_found.rs:新增 SEO,移入光栅布局内保留导航
- 新增 Node.js 22 + pnpm 9 环境,支持 Tailwind CSS 编译 - 新增 pnpm install && pnpm build:css 构建步骤 - dx bundle 添加 --features syntax-highlighting 支持 - 路径触发器优化:新增 posts/、assets/、build.rs、package.json - Rust 编译缓存优化:registry + git + target 统一管理 - 自动擂成 robots.txt(含 sitemap 引用) - 改进构建输出日志验证 - 步骤可读性提升
- package.json:完善 pnpm 脚本(build:css、dev、build) - pnpm-lock.yaml:更新依赖锁定文件 - .gitignore:补充构建产物与缓存目录
- 移除 syntax-highlighting 可选 feature,syntect 改为默认依赖 - 删除 markdown_to_html 无高亮版本,简化条件编译 - 代码块新增标题栏,显示语言标签(大写,等宽字体) - 优化代码块容器样式,改进视觉层次与可读性 - 更新 CI/CD 和 npm 脚本,移除 --features 参数 - 保持 IKB 零圆角设计基因 Breaking Change: 不再支持无语法高亮构建
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
全面重构个人博客系统
概述
这是一次完整的 Dioxus 博客系统重构,涵盖编译系统、文章引擎、UI 组件、样式系统和部署流程等全方位优化。整个重构遵循 IKB Art Edition 设计系统,保留零圆角与 Klein Blue (#002FA7) 的设计基因。
核心改进
1. 编译系统与文章发现 (
build.rs)posts/目录,通过include_str!()编译时嵌入2. 博客文章引擎完全重构 (
src/blog.rs)std::sync::LazyLock,移除once_cell依赖3. 新增功能组件
4. 样式系统与暗色模式
5. 全局路由与布局体系
6. 所有视图页面重构
7. CI/CD 与部署
8. 代码质量
-D warnings)once_cell::Lazy迁移至std::sync::LazyLock技术栈
提交历史(10 个原子提交)
验证状态
破坏性变更
syntax-highlightingfeature,语法高亮改为默认功能--features syntax-highlighting后续改进方向
相关 Issue:#refactor
关联分支:
refactor/blog-comprehensive-redesign→dev