如果您看到此文件,说明所有必需文件已创建完成。以下是快速使用指南:
resources/views/components/math-render.blade.php - Blade 组件app/Filament/Fields/MathEditor.php - Filament 字段app/Livewire/Traits/WithMathRender.php - Livewire Traitpublic/js/math-render.js - 全局渲染脚本public/css/katex/katex.min.css - KaTeX 样式public/js/katex.min.js - KaTeX 脚本resources/views/examples/math-render-example.blade.php - 示例页面app/Livewire/MathRenderTest.php - 测试组件resources/views/livewire/math-render-test.blade.php - 测试视图docs/math-render-system.md - 完整文档在 resources/views/layouts/app.blade.php 或您的主布局文件中添加:
@push('scripts')
<script src="/js/math-render.js"></script>
@endpush
@push('styles')
<link rel="stylesheet" href="/css/katex/katex.min.css">
@endpush
<x-math-render content="已知函数 $f(x) = ax^2 + bx + c$,求......" />
<?php
namespace App\Livewire;
use App\Livewire\Traits\WithMathRender;
use Livewire\Component;
class QuestionList extends Component
{
use WithMathRender;
public function render()
{
return view('livewire.question-list');
}
}
<div class="math-render">
{{ $this->getMathContent($question['content']) }}
</div>
use App\Filament\Fields\MathEditor;
public static function form(Form $form): Form
{
return $form
->schema([
// ...
MathEditor::make('stem')
->label('题目内容')
->required(),
]);
}
已知函数 $f(x) = ax^2 + bx + c$
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$
已知二次函数 $f(x) = ax^2 + bx + c$,求:
1. $f(2)$ 的值
2. 顶点坐标:$\left(-\frac{b}{2a}, \frac{4ac-b^2}{4a}\right)$
3. 判别式:$\Delta = b^2 - 4ac$
如果 $\Delta > 0$,方程有两个不同的实数根:
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
访问以下 URL 查看示例:
/math-render-example - 查看渲染示例/livewire/math-render-test - 测试 Livewire 组件系统会自动处理,如有问题可手动触发:
document.dispatchEvent(new Event('math:render'));
docs/math-render-system.mdexamples/ 和 livewire/ 目录docs/math-render-system.md