derekscott_mm/sage-nine-svg

WordPress扩展包,用于在Sage 9中使blade指令能够内联使用SVG图像

dev-master 2018-04-29 01:51 UTC

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模板一起工作。