{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/canvas/","markdown":"https://findsoftware.frbit.cloud/canvas.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"canvas","name":"Canvas","urls":{"home":"https://trycanvas.app","repository":"https://github.com/austintoddj/canvas","docs":"https://github.com/austintoddj/canvas/blob/main/docs/installation.md"},"category":["cms"],"description":"Publishing platform package for Laravel applications, with an admin interface for writing posts and an optional starter blog reader.","maintainer":"Todd Austin","maintainerType":"individual","firstRelease":2016,"hosting":["php"],"language":"php","runtime":["php"],"runtimeMin":"php 8.3","basedOn":["laravel"],"contentStore":["database"],"adminUi":true,"templating":"blade","installMethod":"composer require","licenseModel":"open-source","license":"MIT","currentMajor":"7","latestReleaseDate":"2026-10-19T00:00:00.000Z","githubStargazers":3357,"packagistDownloads":138150,"npmWeeklyDownloads":null,"packagistMonthlyDownloads":3991,"dependentRepos":10,"checkedAt":"2026-10-20T00:00:00.000Z","addedAt":"2026-10-19T00:00:00.000Z","sources":[{"field":"urls","url":"https://trycanvas.app/","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"urls","url":"https://github.com/austintoddj/canvas","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"urls","url":"https://github.com/austintoddj/canvas/blob/main/docs/installation.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/austintoddj/canvas/blob/main/license","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"category","url":"https://github.com/austintoddj/canvas/blob/main/readme.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"basedOn","url":"https://github.com/austintoddj/canvas/blob/main/readme.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"language","url":"https://github.com/austintoddj/canvas","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"runtime","url":"https://github.com/austintoddj/canvas/blob/v7.2.4/composer.json","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"runtimeMin","url":"https://github.com/austintoddj/canvas/blob/v7.2.4/composer.json","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/austintoddj/canvas/blob/main/docs/installation.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"contentStore","url":"https://github.com/austintoddj/canvas/blob/main/docs/content.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"adminUi","url":"https://github.com/austintoddj/canvas/blob/main/docs/content.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"templating","url":"https://trycanvas.app/","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"license","url":"https://github.com/austintoddj/canvas/blob/main/readme.md","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"currentMajor","url":"https://packagist.org/packages/austintoddj/canvas","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://github.com/austintoddj/canvas/releases/tag/v7.2.4","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"firstRelease","url":"https://github.com/austintoddj/canvas/releases","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"githubStargazers","url":"https://github.com/austintoddj/canvas","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"packagistDownloads","url":"https://packagist.org/packages/austintoddj/canvas","checkedAt":"2026-10-20T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/packagist.org/packages/austintoddj%2Fcanvas","checkedAt":"2026-10-25T00:00:00.000Z"},{"field":"packagistMonthlyDownloads","url":"https://packagist.org/packages/austintoddj/canvas/stats.json","checkedAt":"2026-10-25T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"Canvas adds a publishing admin to an existing Laravel application. It is installed with Composer, keeps published content in the application's database, and separates contributor, editor and admin roles in its admin interface. An optional starter reader frontend renders a public blog from Blade views that the site owner can customize. The [installation guide](https://github.com/austintoddj/canvas/blob/main/docs/installation.md) describes the setup.\n\n## Worth knowing\n\nThe [content guide](https://github.com/austintoddj/canvas/blob/main/docs/content.md) calls Canvas headless, but its JSON routes serve only the admin interface and are not a public blog API. A public site reads posts through Canvas's Eloquent models or an API the site owner builds."}