derekscott_mm / sage-nine-svg
WordPress扩展包,用于在Sage 9中使blade指令能够内联使用SVG图像
Requires
- nothingworks/blade-svg: ^0.2.2
This package is auto-updated.
Last update: 2024-09-29 04:14:39 UTC
README
_______ _______ __ _______ ___ ___ _______
| __|.---.-.-----.-----.| | |__|.-----.-----.| __| | | __|
|__ || _ | _ | -__|| | || | -__||__ | | | | |
|_______||___._|___ |_____||__|____|__||__|__|_____||_______|\_____/|_______|
===============|_____|========================================================
Sage SVG
Sage 9内置了Laravel Blade模板的一个版本。
如果你从未使用过Blade模板,那么你将会获得惊喜。它们为WordPress主题开发带来了急需的改进。
此包通过添加对SVG内联的支持来构建在现有的Sage 9安装之上。虽然并非唯一一个这样做,但它似乎是唯一一个不会破坏随Sage 9标准提供的Webpack 3+功能的包。
特别是,使用SVGO加载器,它默认查找放置在resources/assets/images
目录中的SVG文件。而其他Sage SVG包则要求你将SVG文件移动到resources/assets/icons
或要求你将它们在图像目录中进行深度嵌套。
相反,此包将所有配置留给你自己!最好的是,这种配置只需要在文件名前加一个目录名即可,例如:@svg('images/filename')或@svg('icons/iconfile'),而不是被锁定在某个文件夹中,并且脱离webpack。
安装
您可以通过在Sage 9安装根目录中运行以下命令来通过Composer安装此包。
composer require derekscott_mm/sage-nine-svg
入门指南
安装后,该包将自动注册一个blade指令以内联你的SVG。
<?php
// Example:
// @param 'Pumpkin_Logo' is the filename, 'images' is the directory
// @param 'brand-logo' is the class that will get applied to the SVG.
?>
<a class="nav-item" href="/">
@svg('images/Pumpkin_Logo', 'brand-logo')
</a>
<!-- Renders -->
<a href="/" class="nav-item">
<svg class="icon brand-logo" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<!-- |pumpkin svg code| -->
</svg>
</a>
在这个例子中,我们正在加载一个SVG图标。
<?php
// Example:
// @param 'Horseman' is the filename, 'icons' is the directory
// @param 'tiny-icon' is the class that will get applied to the SVG.
?>
<a class="nav-item" href="/">
@svg('icons/Horseman', 'tiny-icon')
</a>
站在巨人的肩膀上
此存储库是Adam Wathan的Blade SVG(用于Laravel)的包装器,因此该存储库中的许多概念与该存储库相同。
如果您想添加更多功能或扩展此包,Adam的存储库将是您的首要资产。
目前,此库不支持非内联SVG。但这不更好吗?
致谢
此存储库的大部分工作归功于Adam Wathan。这只是一个包装器,以便与Sage 9 blade模板一起工作。