1
0

feat(all): 初始化版本

This commit is contained in:
2025-08-30 10:10:11 +08:00
commit 7f3b61b854
55 changed files with 11289 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
import 'chart.js/auto'
import {MermaidDiagram} from '@lightenna/react-mermaid-diagram'
import EChartsReact from 'echarts-for-react'
import {trim} from 'licia'
import {Chart} from 'react-chartjs-2'
import Markdown from 'react-markdown'
import remarkGfm from 'remark-gfm'
type MarkdownOptions = {
content: string
}
function MarkdownRender(options: MarkdownOptions) {
return (
<Markdown
remarkPlugins={[
remarkGfm
]}
children={options.content}
components={{
code: ({children, className, node, ...rest}) => {
switch (trim(className || '')) {
case 'language-mermaid':
return (
<MermaidDiagram
children={children as string}
/>
)
case 'language-chartjs':
let chartjsData = eval(`(${children as string})`)
return (
<Chart
{...chartjsData}
/>
)
case 'language-echart':
let echartData = eval(`(${children as string})`)
return (
<EChartsReact option={echartData}/>
)
default:
return (
<code {...rest} className={className}>
{children}
</code>
)
}
}
}}
/>
)
}
export default MarkdownRender

View File

@@ -0,0 +1,15 @@
.markdown-enhance {
tr {
border-top: 1px solid #c6cbd1;
background: #fff;
}
th, td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
table tr:nth-child(2n) {
background: #f6f8fa;
}
}

View File

@@ -0,0 +1,22 @@
import {Renderer, type RendererProps} from "amis";
import {once} from "licia";
import React from "react";
import Markdown from "../Markdown.tsx";
import './MarkdownEnhance.scss'
const MarkdownEnhance: React.FC<RendererProps> = props => {
return (
<div className="markdown-enhance">
<Markdown content={props.content}/>
</div>
)
}
const register = once(() => {
Renderer({
type: 'markdown-enhance',
autoVar: true,
})(React.memo(MarkdownEnhance))
})
register()

View File

@@ -0,0 +1 @@
import './MarkdownEnhance.tsx'