log1x/sage-svg

一个用于在Sage 10项目中使用内联SVG的简单包。

维护者

详细信息

github.com/Log1x/sage-svg

源代码

问题

资助包维护!
Log1x

安装量: 347 598

依赖项: 2

建议者: 5

安全性: 0

星标: 109

关注者: 6

分支: 14

类型:package

v2.0.1 2024-07-28 16:53 UTC

This package is auto-updated.

Last update: 2024-08-29 14:11:45 UTC


README

Latest Stable Version Total Downloads Build Status

Sage SVG是一个用于在您的Sage 10项目中使用内联SVG的简单包。

要求

安装

通过Composer安装

$ composer require log1x/sage-svg

使用

默认情况下,以下路径被检查以查找您的SVG(按顺序)

  • 如果传递了一个包含id的数组,则假定它是一个WordPress附件,并运行get_attached_file()
  • 您的默认资产清单(通常是mix-manifest.json)。
  • 相对于config('svg.path')的路径,默认情况下是public_path()
  • 绝对网络根路径。

Blade指令

除非您需要在某个地方(如控制器)使用高级功能,否则在模板中使用Sage SVG的最佳方式是通过Blade指令。

# Relative path (with dot notation) – resolves to `app/themes/<your theme>/dist/images/logo.svg` by default
@svg('images.logo')

# Absolute path from webroot with `w-32 h-auto` CSS classes and an aria-label
@svg('app/uploads/2019/07/logo.svg', 'w-32 h-auto', ['aria-label' => 'Logo'])

助手

在Blade模板之外使用SVG的最简单方法是全局的get_svg()助手函数。get_svg()如果未找到图像,将返回false

# Relative path
$image = get_svg('images.logo');

# Absolute path from webroot with `w-32 h-auto` CSS classes
$image = get_svg('app/uploads/2019/07/logo.svg', 'w-32 h-auto');

# WordPress attachment (e.g. ACF field) with `my-logo` CSS class
$image = get_svg(
    get_field('logo_svg'),
    'my-logo'
);

外观

渲染SVG的另一种选择是使用SageSvg外观。

use Log1x\SageSvg\Facades\SageSvg;

$image = SageSvg::render('images.logo');

配置

配置文件svg.php可以使用Acorn发布

$ wp acorn vendor:publish --provider='Log1x\SageSvg\SageSvgServiceProvider'

您可以在config/svg.php中阅读更多的DocBlocks以获取详细信息。

为什么还需要另一个SVG包?

你没有编写Blade SVG Sage?为什么还需要另一个SVG包?

虽然我有一个叫做Blade SVG的分支,名为Blade SVG Sage,但由于以下原因,我发现它相当令人失望:

  • 无法处理WordPress附件
  • 无法内联不在特定路径中设置的SVG
  • 无法正确使用资产清单。
  • 我知道QWp6t

错误报告

如果您在Sage SVG中发现错误,请创建一个问题

贡献

无论是通过PR、报告问题还是提出建议,都鼓励并感谢您的贡献。

许可

Sage SVG在MIT许可证下提供。