A beautiful and customizable knowledge card component for React
npm install @oscloudlab/knowledge-card一个功能丰富的知识卡片组件库,专为教育和学习场景设计,支持多种内容类型的展示和交互。
``bash
npm install @oscloudlab/knowledge-card
使用方法
$3
`tsx
import React from 'react'
import { KnowledgeCard } from '@oscloudlab/knowledge-card'function App() {
return (
knowledgeId="1"
content="# React Hooks 入门\n\nReact Hooks 是 React 16.8 引入的新特性,它允许我们在函数组件中使用状态和其他 React 特性..."
contentType="text"
isEdit={false}
textSelectionEnable={true}
/>
)
}
`$3
`tsx
import React from 'react'
import { TextExplanation } from '@oscloudlab/knowledge-card'function App() {
return (
content="# JavaScript 闭包\n\n闭包是指有权访问另一个函数作用域中变量的函数..."
knowledgeId="2"
textSelectionEnable={true}
editCallBack={(data) => console.log('编辑回调:', data)}
/>
)
}
`$3
`tsx
import React from 'react'
import { CodePlayer } from '@oscloudlab/knowledge-card'function App() {
return (
code="function fibonacci(n) {\n if (n <= 1) return n;\n return fibonacci(n - 1) + fibonacci(n - 2);\n}\n\nconsole.log(fibonacci(10));"
language="javascript"
title="斐波那契数列"
/>
)
}
`API
$3
| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| knowledgeId | string | - | 知识卡片唯一标识 |
| content | string | - | 卡片内容(支持Markdown) |
| contentType | string | 'text' | 内容类型:text, code, video, question |
| isEdit | boolean | false | 是否可编辑 |
| textSelectionEnable | boolean | false | 是否启用文本选择功能 |
| editCallBack | (data: { id: string, content: string, showTip: boolean }) => void | - | 编辑回调函数 |
| aiCreateContentCallback | (content: string) => void | - | AI优化生成的知识内容回调 |
| textAiConsultCallback | (text: string, question: string) => void | - | 文本AI咨询回调 |
| swapContentCallback | (content: string) => void | - | 替换原文回调 |
| insertContentCallback | (content: string) => void | - | 插入下方回调 |
$3
| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| content | string | - | 文本内容(支持Markdown) |
| knowledgeId | string | - | 知识ID |
| textSelectionEnable | boolean | false | 是否启用文本选择 |
| editCallBack | (data: { id: string, content: string, showTip: boolean }) => void | - | 编辑回调 |
| contentEditable | boolean | false | 内容是否可编辑 |
开发
`bash
安装依赖
npm install启动开发服务器
npm run dev构建组件库
npm run build:lib发布到npm
npm run publish
``- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
MIT License