dada-amater / latte-svg
Latte 宏,将 SVG 文件嵌入 HTML
v1.4.1
2022-10-11 21:08 UTC
Requires
- php: >=7.1.0
- latte/latte: ^2.5.0
- milo/embedded-svg: ^1.0.0
This package is not auto-updated.
Last update: 2024-10-01 17:05:33 UTC
README
<h1> Publications {svgFallback icon-group} </h1>
在 IE 中生成的 HTML 代码结果可能如下
<h1> Publications <svg xmlns="..." class="..." ...> ... content of symbol-defs.svg file ... </svg> </h1>
图标示例
{svg bin, some-class, icon-group}
在 IE 中生成的 HTML 代码结果可能如下
<svg class="some-class" aria-hidden="true"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-bin"></use> </svg>
在 Chrome、Firefox、Opera 中的结果可能如下
<svg class="some-class" aria-hidden="true"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/images/svg/icon-group/symbol-defs.svg?v=1531909866#icon-bin"></use> </svg>
目的
这是一个单用途的辅助库,它为 Latte 模板引擎定义了一个宏。它在编译时加载 SVG 源文件并将其嵌入到 HTML 代码中。
这样做的动机是可以通过 CSS 来样式化 SVG。如果像 <img src="icons/help.svg"> 那样将 SVG 链接为图像,则无法(容易地)实现这一点。
安装
使用 Composer 安装库
composer require dada-amater/latte-svg
在您的 config.neon 中注册扩展并配置它
extensions: latteSvg: DadaAmater\LatteSvg\Extension latteSvg: baseDir: %wwwDir% wwwPathMask: 'images/svg/{group}/symbol-defs.svg' defaultGroup: base defaultIconClass: svg-icon iconNamePrefix: icon
注意事项和限制
由于 svg 是一个宏,它只编译一次并缓存。因此,当您更改宏配置(可能在 NEON 中)时,您可能需要清除 Latte 缓存。