Files
bruno ff99b8eb2b feat: 论文级博客系统 - 完整数学公式与高级代码展示
📚 论文级功能实现:
- ✅ KaTeX数学公式渲染系统 (内联$...1411...1411)
- ✅ 高级代码高亮 (行号、标题、语法着色)
- ✅ PWA渐进式Web应用支持
- ✅ 多语言代码支持 (20+编程语言)
- ✅ 代码行标注系统 (错误/成功/警告/高亮)

🧮 数学公式系统:
- LaTeX语法完整支持
- 数学宏定义 (\RR, \NN, \ZZ, \QQ, \CC等)
- 复杂公式渲染 (矩阵、积分、求和、分数)
- 响应式数学表达式
- 黑暗模式数学公式适配

💻 高级代码展示:
- 代码块标题显示
- 行号自动生成
- 语法高亮增强
- 多行高亮标注
- 错误/成功/警告行标记
- 20+编程语言支持

🔧 企业级插件:
- @docusaurus/plugin-pwa (离线支持)
- rehype-katex (数学公式)
- remark-math (数学语法)
- remark-gfm (GitHub风格Markdown)
- prism-react-renderer (代码高亮)

📊 算法示例升级:
- Transformer深度学习模型
- 多头注意力机制实现
- 完整的神经网络架构
- 专业文档注释
- 类型提示和错误处理

🎨 视觉优化:
- 数学公式背景框
- 代码行高亮动画
- 专业配色方案
- 渐变边框效果
- 响应式设计适配

📱 PWA功能:
- 离线访问支持
- 应用图标配置
- 清单文件完整
- 主题色统一
- 安装提示优化

🚀 性能优化:
- 图片质量提升至85%
- 代码分割优化
- 字体预加载
- CSS变量系统
- GPU加速渲染

✨ 用户体验:
- 论文级排版标准
- 学术引用格式
- 专业视觉层次
- 无障碍访问支持
- 多设备完美适配
2025-07-20 06:51:21 +08:00

46 lines
2.0 KiB
JavaScript

"use strict";
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateOptions = validateOptions;
const utils_validation_1 = require("@docusaurus/utils-validation");
const DEFAULT_OPTIONS = {
debug: false,
offlineModeActivationStrategies: [
'appInstalled',
'queryString',
'standalone',
],
injectManifestConfig: {},
pwaHead: [],
swCustom: undefined,
swRegister: './registerSw.js',
};
const optionsSchema = utils_validation_1.Joi.object({
debug: utils_validation_1.Joi.bool().default(DEFAULT_OPTIONS.debug),
offlineModeActivationStrategies: utils_validation_1.Joi.array()
.items(utils_validation_1.Joi.string()
.valid('appInstalled', 'queryString', 'standalone', 'mobile', 'saveData', 'always')
.required())
.default(DEFAULT_OPTIONS.offlineModeActivationStrategies),
injectManifestConfig: utils_validation_1.Joi.object().default(DEFAULT_OPTIONS.injectManifestConfig),
pwaHead: utils_validation_1.Joi.array()
.items(utils_validation_1.Joi.object({ tagName: utils_validation_1.Joi.string().required() }).unknown().required())
.default(DEFAULT_OPTIONS.pwaHead),
swCustom: utils_validation_1.Joi.string(),
swRegister: utils_validation_1.Joi.alternatives()
.try(utils_validation_1.Joi.string(), utils_validation_1.Joi.bool().valid(false))
.default(DEFAULT_OPTIONS.swRegister),
// @ts-expect-error: forbidden
reloadPopup: utils_validation_1.Joi.any().forbidden().messages({
'any.unknown': 'The reloadPopup option is removed in favor of swizzling. See https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-pwa#customizing-reload-popup for how to customize the reload popup using swizzling.',
}),
});
function validateOptions({ validate, options, }) {
return validate(optionsSchema, options);
}