ammardev/commonmark-image-tools

league/commonmark 的图像 markdown 渲染增强

v0.1.0-beta 2022-10-23 16:21 UTC

This package is auto-updated.

Last update: 2024-09-15 23:55:34 UTC


README

警告

[WIP] 本包的公共 API 可能会有破坏性更改。

league/commonmark 包的扩展,添加了显示图像的额外实用工具。

特性

  • 轻松修改 src 路径。
  • 自动将 widthheight 属性添加到 img 元素,以避免布局偏移。

安装

composer require ammardev/commonmark-image-tools

使用

您可以直接使用扩展,例如这样

$environment = new Environment();

$environment->addExtension(new Ammardev\CommonMarkImageTools\ImageToolsExtension());

在这种情况下。扩展将使用提供的图像链接来获取图像的宽度和高度,并将它们添加为属性。在这种情况下,不会修改 src

您可以通过实现 Ammardev\CommonMarkImageTools\ImagePathManagerContract 接口修改公共路径(在 src 属性中使用的路径)。您还可以通过实现 Ammardev\CommonMarkImageTools\ImagePathManagerContract 接口修改存储路径(从存储中获取图像并获取宽度和高度信息的路径)。

<?php

use Ammardev\CommonMarkImageTools\ImagePathManagerContract;

class ImagePathManager implements ImagePathManagerContract
{
    /**
    * This method will update the storage path that is used to get
    * the image and extract width and height info.
    */
    public function getImageStoragePath(string $originalSrc): string
    {
        return __DIR__ . '/storage/my-assets-folder/' . $originalSrc;
    }

    /**
    * This method will update the public path that will be used in
    * the src attribute.
    */
    public function getImagePublicSrcPath(string $originalSrc): string
    {
        return '/public/assets/' . $originalSrc;
    }
}

有关使用扩展的更多详细信息,请参阅 commonmark 插件文档

待办事项

  • 为该包添加测试。
  • 添加一种轻松更改图像扩展的方法。
  • 响应式图像选项