markup-carve/symfony-carve
Composer 安装命令:
composer require markup-carve/symfony-carve
包简介
Symfony bundle to render Carve markup to HTML via carve-php.
README 文档
README
Symfony bundle that renders Carve markup to HTML using carve-php.
Carve is "Djot minus the footguns": a lightweight markup language with consistent, unambiguous syntax.
Installation
composer require markup-carve/symfony-carve
Register the bundle (Symfony Flex does this automatically; otherwise add it to config/bundles.php):
return [ // ... MarkupCarve\SymfonyCarve\CarveBundle::class => ['all' => true], ];
Usage
Service
use MarkupCarve\SymfonyCarve\CarveRenderer; public function show(CarveRenderer $carve): Response { $html = $carve->render('# Hello *world*'); return new Response($html); }
Twig
{# filter #} {{ article.body|carve }} {# function #} {{ carve('# Inline /snippet/') }}
Output is marked safe, so Twig does not double-escape it. The renderer sanitizes input according to the configured safe mode before that point.
Configuration
# config/packages/carve.yaml carve: safe_mode: true # sanitize HTML (default: true) raw_html: strip # strip | escape | allow (default: strip)
| Key | Type | Default | Description |
|---|---|---|---|
safe_mode |
bool | true |
Enable HTML sanitization. Keep this on for untrusted input. |
raw_html |
enum | strip |
How raw HTML is handled when safe_mode is on: strip, escape, allow. |
Setting safe_mode: false disables sanitization entirely. Only do this for fully trusted input.
Demo
A full runnable demo app lives at symfony-carve-demo: the Twig filter and function, the CarveRenderer service, a live editor, a safe-mode comparison, and a syntax gallery.
License
MIT
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-09
