jacksleight/ statamic-bard-mutator
此包的最新版本(3.0.0)没有可用的许可信息。
3.0.0
2024-09-03 16:44 UTC
Requires
- statamic/cms: ^5.0
Requires (Dev)
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^9.2
- pestphp/pest: ^2.0
- dev-main
- 3.0.0
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.2.0
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-feature/built-in-plugins
- dev-feature/meta-info
- dev-feature/new-data-helpers
- dev-feature/advanced-data-helpers
- dev-feature/field-plugins
- dev-feature/agents
- dev-fix/manual-binding
This package is auto-updated.
Last update: 2024-09-05 14:20:55 UTC
README
Bard Mutator
此Statamic插件允许您修改Bard字段类型渲染的数据和标签,让您完全控制最终HTML。您可以添加、删除和修改属性,包裹标签和内容,或完全重命名和替换标签。您还可以在渲染HTML之前对原始数据进行更改。
示例
以下是一些可能的示例。有关更多信息及更多示例,请查看文档。
为所有外部链接添加类
use JackSleight\StatamicBardMutator\Facades\Mutator; use Statamic\Facades\URL; Mutator::html('link', function ($value) { if (URL::isExternal($value[1]['href'])) { $value[1]['class'] = 'external'; } return $value; });
为所有2级标题添加自动生成的ID
use Illuminate\Support\Str; use JackSleight\StatamicBardMutator\Facades\Mutator; Mutator::html('heading', function ($value, $item) { if ($item->attrs->level === 2) { $value[1]['id'] = Str::slug(collect($item->content)->implode('text', '')); } return $value; });
为所有标题添加永久链接锚点
use Illuminate\Support\Str; use JackSleight\StatamicBardMutator\Facades\Mutator; use JackSleight\StatamicBardMutator\Support\Data; Mutator::data('heading', function ($data) { $slug = Str::slug(collect($data->content)->implode('text', '')); array_unshift( $data->content, Data::html('<a id="'.$slug.'" href="#'.$slug.'">#</a>') ); });
文档
兼容性
为了给您提供访问Tiptap渲染过程,Bard Mutator需要覆盖Tiptap编辑器类,并用自己的扩展替换内置扩展。只有在没有其他插件(或用户代码)尝试做同样的事情时,它才能可靠地做到这一点。为了帮助最小化不兼容性,Bard Mutator只会替换正在被修改的扩展。
赞助
此插件完全免费使用。然而,修复错误、添加功能和帮助用户需要时间和精力。如果您觉得这个插件很有用,并想支持其开发,任何贡献都将非常感激。谢谢!😄