ardenthq/nova-enhanced-markdown

Nova的Markdown字段,支持图片上传

2.2.2 2023-11-16 16:41 UTC

This package is auto-updated.

Last update: 2024-09-22 00:02:31 UTC


README

为Nova创建的Markdown字段,支持图片上传

Stable Version License PHP Version Require

特性

  • 适用于Laravel Nova ^4.0
  • 图片上传
  • 支持拖放/复制粘贴

安装

composer require ardenthq/nova-enhanced-markdown

使用

  1. EnhancedMarkdown字段添加到您的Nova资源中。
<?php
namespace App\Nova;

use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Resource;
use Ardenthq\EnhancedMarkdown\EnhancedMarkdown;

final class ResourceName extends Resource
{
    // ....
    public function fields(NovaRequest $request)
    {
        return [
            // ....
            EnhancedMarkdown::make('body'),
            // ...
        ];
    }
    // ...
}
  1. 默认情况下,此包仅验证附件为实际文件。如果您需要更多规则(例如,您只想接受图片),请使用新的attachmentRules方法定义规则。
EnhancedMarkdown::make('Content', 'content')
    ->attachmentRules('dimensions:min_width=20,min_height:20', 'image'),
  1. 在某些情况下,您可能希望在存储之前解析文件(例如,应用一些优化)。为此,您可以使用parseFile方法添加回调。
EnhancedMarkdown::make('Content', 'content')
    ->parseFile(function (EnhancedMarkdown $field, UploadedFile $file) {
        $image = \Spatie\Image\Image::load($file->getPathname());
        $image->fit(\Spatie\Image\Manipulations::FIT_MAX, 100, 100);
        $image->save();
    });

如果需要,您还可以返回文件的新实例,该实例将用于存储。

重要:您需要返回Illuminate\Http\UploadedFileIlluminate\Http\Filestring的实例。

EnhancedMarkdown::make('Content', 'content')
    ->parseFile(function (EnhancedMarkdown $field, UploadedFile $file) {
        return new File('some/path');
    });
  1. 默认情况下,文件以/作为路径,使用public存储磁盘存储。您可以使用diskpath方法更改路径和存储磁盘。
EnhancedMarkdown::make('Content', 'content')
    ->disk('s3')
    ->path('articles')

开发

  1. 运行yarn nova:installyarn install以安装编译视图组件所需的所有必要依赖项。
  2. 在本地环境中修改组件时,运行yarn run dev(或yarn run watch)。
  3. 如果您更改了vue组件,请确保在提交PR之前进行生产编译。

编译生产版本

  1. 运行yarn nova:installyarn install以安装编译视图组件所需的所有必要依赖项。
  2. 运行yarn run production

使用phpstan分析代码

composer analyse

使用php rector重构代码

composer refactor

使用php-cs-fixer格式化代码

composer format

运行测试

composer test

安全性

如果您在此包中发现安全漏洞,请发送电子邮件至security@ardenthq.com。所有安全漏洞都将得到及时处理。

致谢

此项目得益于所有贡献者

许可证

MIT © Ardent