---
title: 'Про пакет Canvas в Laravel'
url: 'https://graker.ru/news/2026/04/16/laravel-canvas-package'
language: ru
type: post
author: 'Роман Грачев'
published: '2026-04-16T10:00:00+03:00'
updated: '2026-10-28T18:51:44+03:00'
categories:
  - Разработка
  - Laravel
  - AI
translations:
  en: 'https://graker.ru/en/news/2026/04/16/laravel-canvas-package.md'
---

# Про пакет Canvas в Laravel

![Про пакет Canvas в Laravel](https://graker.ru/sites/default/files/styles/max_1300x1300/public/uploads/2026-04/docturist_blog.png.webp?itok=4Sjv3w7E)

Когда готовил [Доктурист](https://docturist.ru) к открытию, решил что должна быть все-таки у проекта какая-никакая новостная лента. До этого я сделал самый примитивный вариант: вывод ленты заголовков и текстовых сообщений с датами.

Решил, что этого конечно мало и какой-никакой джентльменский набор функций для постинга надо иметь. Хотя бы:
— редактор с форматированием и загрузкой картинок
— рубрики и/или теги
— редактируемые адреса страниц
— минимальную админку, чтобы из панели Orchid туда заходить

Конечно, писать я все это не хотел. Точнее я может и хотел бы, но каждый день старался сокращать число задач до запуска, а не увеличивать. Стал смотреть готовое.

Поиск и чат жопотэ присоветовали пакет [Canvas](https://github.com/austintoddj/canvas/) для Laravel, его и взял. Редактор Quill внутри, небольшая админка на Vue.js с тёмной темой, есть немного лишних приблуд типа счётчика просмотров, есть базовое SEO, топики и теги. В общем, достаточно, чтобы не делать самому.

Прикрутил SSO, чтобы отдельно в эту админку не логиниться. Немного смутило, что в последнее время пакет не поддерживается. Но для ограниченного применения — ленты новостей и страниц документации — хватит. Стал пользоваться.

В процессе, правда, оказалось что админка почему-то не дружит с транслитом и не генерирует слаги с русскоязычных заголовков. Да вдобавок не даёт писать слаги для тегов и топиков самому: поле слага зачем-то блокируется во фронте, хотя бэк не против принять ручной ввод.

Взял Клода под мышку и пошёл это недоразумение исправлять. Клод говорит — смотри, эта фигня только во фронте, сейчас пару контролов попатчим, через композер патчи подключим, пересоберем и вуаля.

Стали делать — чото не работает, патченые контролы не собираются. И тут Клод такой: Je m'en fous, не патчатся исходники — я тебе попатчу билд! И написал скрипт на питоне, который транслит и ручные слаги просто втыкает в минифицированный джаваскипт. И прописал в пост-инсталл скрипты композера.

И я ведь как раз это недавно упоминал в [статье про вайбкодинг](https://graker.ru/news/2026/04/08/robots-code-we-take-responsibility). Машине всё равно, минимизирован код или нет, она его прочитает. Прочитает, воткнёт питоньим скриптом ещё нечитаемого кода, который через месяц никто не поймёт уже что делает, и будет такова. А для нас это неподдерживаемый код, которым ситуативно, в краткосрочной перспективе можно попользоваться (и я попользуюсь конечно). Но в долгосрочной надо форкать этот Canvas. Тем более редактор Quill в него так крепко встроен, что если я захочу кнопочек добавить в панель и плагинов всяких — всё равно придётся.

А в остальном, пакет пригодный, если не хочется ставить целую CMS, или руками весь процесс публикаций создавать в админ-панели. Накатал в Канвасе уже несколько страниц документации для проекта, и продолжу пользоваться.

P.S. Ещё недавно на другом проекте поработал с [BookStack](https://www.bookstackapp.com/) — прикольным wiki-решением для документации. Но оно для моих целей чересчур. И к тому же не прокатывает как ещё одна зависимость: её надо на отдельный сабдомен втыкать. И композером не обновляется — авторы предлагают обновления через git pull ставить.
