主题
主题
@ant-design/x-markdown/themes/主题名.css 引入主题。import XMarkdown from '@ant-design/x-markdown';import '@ant-design/x-markdown/themes/light.css';return <XMarkdown className="x-markdown-light" content="Hello XMarkdown!" />;
在浏览器中使用 script 和 link 标签直接引入文件,并注入类名到组件 。
<script src="**/dist/themes/light.css"></script>
我们欢迎社区贡献新的主题!请按照以下规范进行主题开发:
主题文件应遵循以下命名规则:
主题名.cssx-markdown-主题名x-markdown-ocean.css 对应类名 x-markdown-ocean将你的主题文件放置在 packages/x-markdown/src/themes/ 目录下:
packages/x-markdown/src/themes/├── light.css # 默认亮色主题├── dark.css # 默认暗色主题├── ocean.css # 自定义主题示例└── 你的主题名.css # 你的主题文件
主题样式必须遵循以下命名规范:
/* 基础容器 */.x-markdown-主题名 {/* 基础样式变量 */--x-markdown-color-text: #333;--x-markdown-color-bg: #fff;--x-markdown-color-border: #e8e8e8;/* 代码块样式 */--x-markdown-color-code-bg: #f5f5f5;--x-markdown-color-code-text: #333;/* 标题样式 */--x-markdown-color-heading: #262626;/* 链接样式 */--x-markdown-color-link: #1890ff;--x-markdown-color-link-hover: #40a9ff;}/* 代码块高亮 */.x-markdown-主题名 .x-markdown-highlight-code {background: var(--x-markdown-color-code-bg);border: 1px solid var(--x-markdown-color-border);}/* 表格样式 */.x-markdown-主题名 .x-markdown-table {border-color: var(--x-markdown-color-border);}/* 引用样式 */.x-markdown-主题名 .x-markdown-blockquote {border-left-color: var(--x-markdown-color-link);}
创建主题文件:
touch packages/x-markdown/src/themes/你的主题名.css
定义基础变量:使用 CSS 变量定义颜色、间距等基础样式。
实现组件样式:为各个 Markdown 元素实现样式:
测试主题:在 demo 中测试你的主题:
import '@ant-design/x-markdown/themes/你的主题名.css';<XMarkdown className="x-markdown-你的主题名" content="# 测试内容" />;
在提交你的主题前,请确保:
代码规范:
npm run lint 检查npm run test 测试文档完善:
themes.zh-CN.md 中添加你的主题说明Pull Request:
master 分支创建新分支以下是一个完整的主题示例:
/* x-markdown-ocean.css */.x-markdown-ocean {/* 海洋主题配色 */--x-markdown-color-text: #2c3e50;--x-markdown-color-bg: #f8fafc;--x-markdown-color-border: #e2e8f0;--x-markdown-color-primary: #0ea5e9;--x-markdown-color-secondary: #64748b;/* 代码块 */--x-markdown-color-code-bg: #f1f5f9;--x-markdown-color-code-border: #cbd5e1;/* 标题 */--x-markdown-color-h1: #0f172a;--x-markdown-color-h2: #1e293b;--x-markdown-color-h3: #334155;}.x-markdown-ocean h1 {color: var(--x-markdown-color-h1);border-bottom: 2px solid var(--x-markdown-color-primary);}.x-markdown-ocean pre {background: var(--x-markdown-color-code-bg);border: 1px solid var(--x-markdown-color-code-border);border-radius: 6px;}
我们欢迎社区贡献各种风格的主题,如:
请将你的主题提交到 GitHub Issues 或发送 Pull Request!