austintoddj / canvas
A Laravel publishing platform
Fund package maintenance!
Requires
- php: ^8.3
- ext-json: *
- illuminate/auth: ^12.0|^13.0
- illuminate/bus: ^12.0|^13.0
- illuminate/console: ^12.0|^13.0
- illuminate/container: ^12.0|^13.0
- illuminate/contracts: ^12.0|^13.0
- illuminate/database: ^12.0|^13.0
- illuminate/events: ^12.0|^13.0
- illuminate/filesystem: ^12.0|^13.0
- illuminate/http: ^12.0|^13.0
- illuminate/mail: ^12.0|^13.0
- illuminate/pagination: ^12.0|^13.0
- illuminate/queue: ^12.0|^13.0
- illuminate/routing: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
- illuminate/translation: ^12.0|^13.0
- illuminate/validation: ^12.0|^13.0
- illuminate/view: ^12.0|^13.0
Requires (Dev)
- larastan/larastan: ^3.10
- laravel/pint: ^1.29
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.8|^11.0
- pestphp/pest: ^3.8|^4.0
- pestphp/pest-plugin-arch: ^3.8|^4.0
- pestphp/pest-plugin-laravel: ^3.2|^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v7.0.1
- v7.0.0
- v6.0.56
- v6.0.55
- v6.0.54
- v6.0.53
- v6.0.52
- v6.0.51
- v6.0.50
- v6.0.49
- v6.0.48
- v6.0.47
- v6.0.46
- v6.0.45
- v6.0.44
- v6.0.43
- v6.0.42
- v6.0.41
- v6.0.40
- v6.0.39
- v6.0.38
- v6.0.37
- v6.0.36
- v6.0.35
- v6.0.34
- v6.0.33
- v6.0.32
- v6.0.31
- v6.0.30
- v6.0.29
- v6.0.28
- v6.0.27
- v6.0.26
- v6.0.25
- v6.0.24
- v6.0.23
- v6.0.22
- v6.0.21
- v6.0.20
- v6.0.19
- v6.0.18
- v6.0.17
- v6.0.16
- v6.0.15
- v6.0.14
- v6.0.13
- v6.0.12
- v6.0.11
- v6.0.10
- v6.0.9
- v6.0.8
- v6.0.7
- v6.0.6
- v6.0.5
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.4.1
- v5.4.0
- v5.3.11
- v5.3.10
- v5.3.9
- v5.3.8
- v5.3.7
- v5.3.6
- v5.3.5
- v5.3.4
- v5.3.3
- v5.3.2
- v5.3.1
- v5.3.0
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- v5.1.1
- v5.1.0
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.2.9
- v4.2.8
- v4.2.7
- v4.2.6
- v4.2.5
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.39
- v4.1.38
- v4.1.37
- v4.1.36
- v4.1.35
- v4.1.34
- v4.1.33
- v4.1.32
- v4.1.31
- v4.1.30
- v4.1.29
- v4.1.28
- v4.1.27
- v4.1.26
- v4.1.25
- v4.1.24
- v4.1.23
- v4.1.22
- v4.1.21
- v4.1.20
- v4.1.19
- v4.1.18
- v4.1.17
- v4.1.16
- v4.1.15
- v4.1.14
- v4.1.13
- v4.1.12
- v4.1.11
- v4.1.10
- v4.1.9
- v4.1.8
- v4.1.7
- v4.1.6
- v4.1.5
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.4.5
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.2.0
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- dev-copilot/fix-postseo-panel-space-issue
- dev-develop
This package is auto-updated.
Last update: 2026-09-08 21:23:22 UTC
README
About Canvas
Canvas is an open-source publishing platform for Laravel. Drop it into an existing application, use your own authentication, and start writing.
- Distraction-free editor with tags, topics, and media uploads
- Monthly trends and reader insights
- Contributor, Editor, and Admin roles
- Integrations: Unsplash, AI writing, outbound webhooks, and weekly digest
- Optional starter reader frontend via
canvas:ui
Requirements
- PHP >= 8.3
- Laravel >= 12
- Working authentication for the guard Canvas uses (
webby default)
Installation
composer require austintoddj/canvas php artisan canvas:install
Grant admin access to an existing user:
php artisan canvas:make-admin your@email.com
Visit /canvas.
Optional Frontend
Use the canvas:ui Artisan command to publish a starter reader frontend — Blade views, a controller stub, and routes. It gets you a public blog at /canvas-ui without building one from scratch. Customize whatever you like!
php artisan canvas:ui
Visit /canvas-ui.
Upgrading
Canvas follows Semantic Versioning and increments versions as MAJOR.MINOR.PATCH.
- Major versions may contain breaking changes — follow the upgrade guide for a step-by-step breakdown.
- Minor and patch versions should never contain breaking changes, so you can safely update by following the steps below.
composer update austintoddj/canvas php artisan canvas:publish
To publish assets automatically after Composer updates, add this to your application’s composer.json:
{
"scripts": {
"post-update-cmd": ["@php artisan canvas:publish --ansi"]
}
}
Contributing
Thank you for considering contributing to Canvas! The contribution guide can be found here.
Testing
composer test
License
Canvas is open-sourced software licensed under the MIT license.