ardenthq/nova-enhanced-markdown 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ardenthq/nova-enhanced-markdown

最新稳定版本:2.2.2

Composer 安装命令:

composer require ardenthq/nova-enhanced-markdown

包简介

Custom Markdown Field for Nova with image upload support

README 文档

README

A custom Markdown Field for Nova with image upload support

Stable Version License PHP Version Require

Features

  • For Laravel Nova ^4.0
  • Image upload
  • Accepts Drag & Drop / Copy & Paste

Installation

composer require ardenthq/nova-enhanced-markdown

Use

  1. Add the EnhancedMarkdown field to your Nova Resource.
<?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. By default, this package only validates the attachment as an actual file. If you require more rules (let's say that you only want to accept images), define the rules with the new attachmentRules method.
EnhancedMarkdown::make('Content', 'content')
    ->attachmentRules('dimensions:min_width=20,min_height:20', 'image'),
  1. In some cases, you may want to parse the file before storing it (for example, apply some optimizations). To do that, you can add a callback by using the parseFile method.
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();
    });

If needed, you can also return a new instance of the file, that instance is the one that is going to be stored.

Important: You need to return an instance of Illuminate\Http\UploadedFile, Illuminate\Http\File or a string.

EnhancedMarkdown::make('Content', 'content')
    ->parseFile(function (EnhancedMarkdown $field, UploadedFile $file) {
        return new File('some/path');
    });
  1. The files are stored by default with / as a path and using public storage disk. You can change the path and the storage disk with the disk and path methods:
EnhancedMarkdown::make('Content', 'content')
    ->disk('s3')
    ->path('articles')

Development

  1. Run yarn nova:install and yarn install to install all the necessary dependencies for compiling the view components.
  2. Run yarn run dev (or yarn run watch) while making changes to the components in your local environment.
  3. If you change the vue components, ensure to compile for production before making a PR.

Compile for production

  1. Run yarn nova:install and yarn install to install all the necessary dependencies for compiling the view components.
  2. Run yarn run production.

Analyze the code with phpstan

composer analyse

Refactor the code with php rector

composer refactor

Format the code with php-cs-fixer

composer format

Run tests

composer test

Security

If you discover a security vulnerability within this package, please send an e-mail to security@ardenthq.com. All security vulnerabilities will be promptly addressed.

Credits

This project exists thanks to all the people who contribute.

License

MIT © Ardent

统计信息

  • 总下载量: 14.85k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-20