dorkhub

canvas

Publishing on your own terms

austintoddj
PHP3.3k519 forksMITupdated 1 day ago
git clone https://github.com/austintoddj/canvas.gitaustintoddj/canvas

Homepage for trycanvas.app

Build Status Total Downloads Latest Stable Version License

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 (web by 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.

more like this

wizard

🍳Wizardoc is a WEBAPP for managing documents and knowledge.

TypeScript58

search

search projects, people, and tags