标签的扩展指南 ">标签的扩展指南 " />
本教程将指导您如何在commonmark项目中利用`n0sz/commonmark-picture-extension`扩展,轻松实现对html5 `
在现代Web开发中,为了优化用户体验和页面加载性能,我们经常需要使用响应式图片。HTML5的
然而,标准的CommonMark(或Markdown)语法本身并不直接支持复杂的HTML标签如
本教程将介绍如何使用n0sz/commonmark-picture-extension扩展,让您的CommonMark解析器能够理解并渲染出正确的
首先,您需要通过Composer将n0sz/commonmark-picture-extension扩展添加到您的项目中。打开您的终端或命令行工具,并在项目根目录执行以下命令:
composer require n0sz/commonmark-picture-extension
这将会下载并安装所需的扩展包及其依赖项。
安装完成后,您需要将此扩展注册到您的CommonMark解析器环境中。这通常在初始化League\CommonMark\Environment\Environment实例时完成。
以下是一个配置CommonMark环境以支持PictureExtension的示例代码:
addExtension(new CommonMarkCoreExtension()); // 3. 添加PictureExtension,使其支持自定义的图片语法 $environment->addExtension(new PictureExtension()); // 4. 创建Markdown转换器实例 $converter = new MarkdownConverter($environment); // 示例Markdown内容,将在下一节详细介绍其语法 $markdown = <<convert($markdown); echo $html; ?>
在上述代码中:
n0sz/commonmark-picture-extension引入了一种简洁明了的自定义Markdown语法来表示
语法结构:
[[[
+ [source_url] {media:"(min-width:XXXpx)"}
+ [source_url] {type:"image/webp"}
- [img_url] {alt:"Description"}
]]]示例:WebP与JPG回退
假设您希望在屏幕宽度大于650px时使用flower-large.webp,在屏幕宽度大于465px时使用flower-medium.webp,否则使用flower.jpg作为回退。
Markdown 输入:
[[[
+ /images/flower-large.webp {media:"(min-width:650px)"}
+ /images/flower-medium.webp {media:"(min-width:465px)"}
- /images/flower.jpg {alt:"一朵美丽的鲜花"}
]]]生成的 HTML 输出:
@@##@@
这个示例清晰地展示了如何通过简洁的Markdown语法,生成复杂的响应式图片HTML结构。浏览器将根据媒体查询条件和支持的图片格式,自动选择最合适的图片进行加载。
通过n0sz/commonmark-picture-extension,您可以在CommonMark项目中轻松地利用HTML5的