{"id":15184974,"url":"https://github.com/bayareawebpro/nova-field-ckeditor","last_synced_at":"2025-10-02T00:31:49.451Z","repository":{"id":49049220,"uuid":"259310134","full_name":"bayareawebpro/nova-field-ckeditor","owner":"bayareawebpro","description":"Laravel Nova - CkEditor v5 Field -  Media, Links \u0026 Snippet Browsers (VueJS)","archived":true,"fork":false,"pushed_at":"2022-05-10T06:41:41.000Z","size":10211,"stargazers_count":15,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-07T19:29:23.230Z","etag":null,"topics":["ckeditor","ckeditor5","laravel","media","nova","snippets","vue"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bayareawebpro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-27T12:28:36.000Z","updated_at":"2023-06-01T18:20:50.000Z","dependencies_parsed_at":"2022-09-01T04:32:27.176Z","dependency_job_id":null,"html_url":"https://github.com/bayareawebpro/nova-field-ckeditor","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayareawebpro%2Fnova-field-ckeditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayareawebpro%2Fnova-field-ckeditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayareawebpro%2Fnova-field-ckeditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayareawebpro%2Fnova-field-ckeditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bayareawebpro","download_url":"https://codeload.github.com/bayareawebpro/nova-field-ckeditor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234916159,"owners_count":18906643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ckeditor","ckeditor5","laravel","media","nova","snippets","vue"],"created_at":"2024-09-27T17:43:20.579Z","updated_at":"2025-10-02T00:31:48.709Z","avatar_url":"https://github.com/bayareawebpro.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003e EOL NOTICE: No further development is planned.  This repository will be archived eventually, feel free to fork it and maintain your own version. \n\n# Laravel Nova - CkEditor v5 Field\nMedia, Links \u0026 Snippet Browsers (VueJS)\n\n![Downloads](https://img.shields.io/packagist/dt/bayareawebpro/nova-field-ckeditor.svg)\n![Version](https://img.shields.io/github/v/release/bayareawebpro/nova-field-ckeditor.svg)\n![MIT](https://img.shields.io/badge/License-MIT-success.svg)\n\nIncludes custom written plugins for Media, Links \u0026 Snippet Modals.\nPublishable stubs for out-of-the-box usage. Implement rich content editing in minutes.\n\n**Fields Included:** \n- CkEditor Field\n- FeaturedMedia Field\n- MediaUpload Field\n\n**Packages Included:** \n- Spatie Image Optimizer\n- Intervention Image\n\n### Installation\n```shell script\ncomposer require bayareawebpro/nova-field-ckeditor\nphp artisan vendor:publish --tag=config\n```\n\n#### Install Optimizers\n\n\u003e See: https://github.com/spatie/laravel-image-optimizer\n\n### Publish Stubs: Models, Resources, Migrations, Views\n\n\u003e Review the included stubs to see the intended implementation.\n\nhttps://github.com/bayareawebpro/nova-field-ckeditor/tree/master/stubs\n\n```shell script\nphp artisan vendor:publish --tag=nova-ckeditor-stubs\n```\n\n---\n\n### Editor Field Usage:\n```php\nCkEditor::make('Content')\n    -\u003erules('required')\n    -\u003ehideFromIndex()\n    -\u003emediaBrowser()\n    -\u003elinkBrowser()\n    -\u003eheight(60)\n    -\u003estacked()\n    -\u003esnippets([\n        ['name' =\u003e'Cool Snippet1', 'html'=\u003e view('snippets.1')-\u003erender()],\n        ['name' =\u003e'Cool Snippet2', 'html'=\u003e view('snippets.2')-\u003erender()],\n        ['name' =\u003e'Cool Snippet3', 'html'=\u003e view('snippets.3')-\u003erender()],\n    ])\n    -\u003etoolbar([\n        'heading',\n        'horizontalLine',\n        '|',\n        'link',\n        'linkBrowser',\n        '|',\n        'bold',\n        'italic',\n        'alignment',\n        'subscript',\n        'superscript',\n        'underline',\n        'strikethrough',\n        '|',\n        'blockQuote',\n        'bulletedList',\n        'numberedList',\n        '|',\n        'insertTable',\n        'mediaEmbed',\n        'mediaBrowser',\n        'insertSnippet',\n        '|',\n        'undo',\n        'redo'\n    ]),\n```\n\n\u003e Note: Snippets will only render CkEditor Elements.  \n\u003e Standard HTML or Figures (table, image, video), see included views.\n\u003e https://ckeditor.com/docs\n\n##### Recommended Package: \nhttps://github.com/bayareawebpro/laravel-dom-pipeline\n\n---\n\n### FeaturedMedia Field Usage:\n\n```php\nFeaturedMedia::make('Image','media_id')\n    -\u003erules('nullable')\n    -\u003esizeOnDetail(800, 600)\n    -\u003esizeOnForms(600, 400)\n    -\u003esizeOnIndex(100,100)\n    -\u003estacked(),\n```\n\n---\n\n### MediaUpload Field Usage:\n\n\u003e Note this field is **not updatable** by default. \n\u003e Replacing media may result in broken images.\n\u003e Delete and re-upload is the intended methodology.\n\n```php\nMediaUpload::make('File', $disk='media')\n    -\u003erules('required','mimes:jpg,jpeg,png,gif', 'max:5000')\n    -\u003ehelp('5MB Max FileSize.')\n    -\u003emaxWidth(800),\n```\n\n#### Media Local Disk\n```php\n'media' =\u003e [\n    'driver' =\u003e 'local',\n    'root' =\u003e storage_path('app/public/media'),\n    'url' =\u003e env('APP_URL').'/storage/media',\n    'visibility' =\u003e 'public',\n],\n```\n\n#### Media Cloud Disk\n```php\n'media' =\u003e [\n    'driver' =\u003e 's3',\n    'key' =\u003e env('SPACES_KEY'),\n    'secret' =\u003e env('SPACES_SECRET'),\n    'endpoint' =\u003e env('SPACES_ENDPOINT'),\n    'region' =\u003e env('SPACES_REGION'),\n    'bucket' =\u003e env('SPACES_BUCKET'),\n    'root' =\u003e 'media',\n    'url' =\u003e 'https://'.env('SPACES_BUCKET').'.'.env('SPACES_REGION').'.cdn.digitaloceanspaces.com/media',\n    'options' =\u003e [ 'CacheControl' =\u003e 'max-age=31536000, public' ],\n],\n```\n\n#### MediaStorage \n\n\u003e Override the MediaStorage Service by binding your own extended version.\n\n```php\nuse Illuminate\\Http\\Request;\nuse BayAreaWebPro\\NovaFieldCkEditor\\MediaStorage;\nclass MyMediaStorage extends MediaStorage\n{\n    public function __invoke(Request $request)\n    {\n        // TODO: Change the default implementation.\n    }\n}\n$this-\u003eapp-\u003ebind('ckeditor-media-storage', MyMediaStorage::class);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayareawebpro%2Fnova-field-ckeditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbayareawebpro%2Fnova-field-ckeditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayareawebpro%2Fnova-field-ckeditor/lists"}