code16 / sharp
Laravel Content Management Framework
Installs: 45 278
Dependents: 1
Suggesters: 0
Security: 0
Stars: 727
Watchers: 19
Forks: 73
Open Issues: 13
Requires
- php: 8.2.*|8.3.*
- code16/laravel-content-renderer: ^1.1.0
- intervention/image: ^3.4
- intervention/image-laravel: ^1.2
- laravel/framework: ^10.0|^11.0
- league/commonmark: ^2.4
- spatie/image-optimizer: ^1.6
Requires (Dev)
- brianium/paratest: ^6.3|^7.4
- dms/phpunit-arraysubset-asserts: ^0.4|^0.5
- doctrine/dbal: ^3.5
- friendsofphp/php-cs-fixer: ^3.8
- laravel/pint: ^1.18
- mockery/mockery: ^1.5.0
- nunomaduro/collision: ^7.0|^8.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^9.5|^10.5
- spatie/laravel-ray: ^1.26
- dev-main
- 9.0.x-dev
- v8.6.0
- v8.5.0
- v8.4.4
- v8.4.3
- v8.4.2
- v8.4.1
- v8.4.0
- v8.3.7
- v8.3.6
- v8.3.5
- v8.3.4
- v8.3.3
- v8.3.2
- v8.3.1
- v8.3.0
- v8.2.1
- v8.2.0
- v8.1.2
- v8.1.1
- v8.1.0
- v8.0.7
- v8.0.6
- v8.0.5
- v8.0.4
- v8.0.3
- v8.0.2
- v8.0.1
- v8.0.0
- v7.30.0
- v7.29.7
- v7.29.6
- v7.29.5
- v7.29.4
- v7.29.3
- v7.29.2
- v7.29.1
- v7.29.0
- v7.28.0
- v7.27.1
- 7.27.0
- v7.26.2
- v7.26.1
- v7.26.0
- v7.25.2
- v7.25.1
- v7.25.0
- v7.24.1
- v7.24.0
- v7.23.2
- v7.23.1
- v7.23.0
- v7.22.0
- v7.21.0
- v7.20.0
- v7.19.1
- v7.19.0
- v7.18.0
- v7.17.3
- v7.17.2
- v7.17.1
- v7.17.0
- v7.16.0
- v7.15.0
- v7.14.0
- v7.13.0
- v7.12.0
- v7.11.0
- v7.10.0
- v7.9.0
- v7.8.0
- 7.7.2
- v7.7.1
- v7.7.0
- v7.6.0
- v7.5.2
- v7.5.1
- v7.5.0
- v7.4.0
- v7.3.0
- v7.2.5
- v7.2.4
- v7.2.3
- v7.2.2
- v7.2.1
- v7.2.0
- v7.1.0
- 7.0.x-dev
- v7.0.2
- v7.0.1
- v7.0.0
- v7.0.0-beta.6
- v7.0.0-beta.5
- v7.0.0-beta.4
- v7.0.0-beta.3
- v7.0.0-beta.2
- v7.0.0-beta.1
- 7.0.0-alpha.1
- v6.5.5
- v6.5.4
- v6.5.3
- v6.5.2
- v6.5.1
- v6.5.0
- v6.4.1
- v6.4.0
- v6.3.3
- v6.3.2
- v6.3.1
- v6.3.0
- v6.2.0
- v6.1.5
- v6.1.4
- v6.1.3
- v6.1.2
- v6.1.1
- v6.1.0
- 6.0.x-dev
- v6.0.1
- v6.0.0
- v6.0.0-beta.3
- v6.0.0-beta.2
- v6.0.0-beta.1
- v6.0.0-alpha.7
- v6.0.0-alpha.6
- v6.0.0-alpha.5
- v6.0.0-alpha.4
- v6.0.0-alpha.3
- v6.0.0-alpha.2
- v6.0.0-alpha.1
- v5.4.6
- v5.4.5
- v5.4.4
- v5.4.3
- v5.4.2
- v5.4.1
- v5.4.0
- v5.3.5
- v5.3.4
- v5.3.3
- v5.3.2
- v5.3.1
- v5.3.0
- v5.2.0
- v5.1.2
- v5.1.1
- v5.1.0
- 5.0.x-dev
- v5.0.1
- v5.0.0
- v5.0.0-alpha.10
- v5.0.0-alpha.9
- v5.0.0-alpha.8
- v5.0.0-alpha.7
- v5.0.0-alpha.6
- v5.0.0-alpha.5
- v5.0.0-alpha.4
- v5.0.0-alpha.3
- v5.0.0-alpha.2
- v5.0.0-alpha.1
- 4.2.x-dev
- v4.2.6
- v4.2.5
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- 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
- 4.0.x-dev
- v4.0.21
- v4.0.20
- v4.0.19
- v4.0.18
- v4.0.17
- v4.0.16
- v4.0.15
- v4.0.14
- v4.0.13
- v4.0.12
- v4.0.11
- v4.0.10
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v4.0-BETA6
- v4.0-BETA5
- v4.0-BETA4
- v4.0-BETA3
- v4.0-BETA2
- v4.0-BETA1
- dev-refactor-embeds-templates
- dev-refactor-html-fields-templates
- dev-poc-autocomplete-closure
- dev-9.0-oklch
- dev-poc-blade-icons
- dev-sharp-context-and-request-helpers
- dev-work-on-autocomplete
- dev-implementing-text-align-in-SharpEditorField
- dev-conditionable-layout
- dev-update-doc-vue2
- dev-new-reorder-el-authorization
- dev-add-php-extensions-into-composer-json
- dev-refactor-meta
- dev-fix-upload-validation
- dev-v9/filter-field
- dev-entitylist-ui
- dev-layout-field-factory
- dev-refactor-filters
- dev-add-demo-dashboard-ordered-list
- dev-entity-list-state-field
- dev-generator
- dev-generator-with-provider
- dev-config-builder
- dev-shadcn-vue
- dev-useSharp-gate
- dev-editor-embeds-formatter
- dev-show-fields-formatter
- dev-l11
- dev-install-command
- dev-new-thumbnail-facade
- dev-9.0-laravel-11
- dev-migrate-9-contents
- dev-simple-uploads-validation
- dev-poc-file-rule
- dev-formatter-after-update
- dev-phpdocs-advanced-closures
- dev-upload-embed
- dev-refactor-editor
- dev-explicit-collapse-option
- dev-set-seconds-to-zero
- dev-extract-content-renderer
- dev-quickfix-empty-el
- dev-better-2fa-demo-helper
- dev-reorganize-folders
- dev-9.0-with-packages
- dev-vitepress
- dev-test-assertions
- dev-instances-request-cache
- dev-conditionnable
- dev-refactor-formatters-and-validation
- dev-post-state-enum
- dev-link-to-dashboard
- dev-impersonate
- dev-form-filter-html-fields
- dev-pwd-fogotten
- dev-hide-menu
- dev-thumbnail-quality-in-path
- dev-inertia
- dev-vite
- dev-reset-all-filters
- dev-new-figure-widget
- dev-global-search
- dev-better-sharp-link-to
- dev-translate-login
- dev-implement-2fa
- dev-implement-totp-2fa
- dev-refactor-login
- dev-move-delete-action
- dev-improve-ui
- dev-menu-manager
- dev-bulk-commands
- dev-dashboard-sections
- dev-section-based-filters
- dev-update-tiptap-markdown
- dev-media-model-as-config
- dev-simplify-list-api
- dev-better-global-filter
- dev-demo-L10
- dev-fix-crop-when-isTransformOriginal-is-true
- dev-editor-count
- dev-handle-vite-assets
- dev-dev
- dev-autocomplete
- dev-l10-compatibility
- dev-user-menu
- dev-refactor-menu-items
- dev-command-modal-button-label
- dev-non-collapsible-menu-section
- dev-improve-show-entity-lists
- dev-work-on-generators
- dev-show-title
- dev-list-drag-handle
- dev-docs-update-vuepress
- dev-upload-transform-config
- dev-fix-commands-json-object
- dev-dark-mode
- dev-update-bootstrap
- dev-number-field-float
- dev-editor-filter-paste
- dev-convert-jpg
- dev-empty-embed
- dev-refactor-content-component
- dev-embed-slot
- dev-logout-helper
- dev-field-blade-components
- dev-demo-display-role
- dev-allow-accessing-form-instance
- dev-refactor-date
- dev-update-docs
- dev-bind-upload-model
- dev-allow-custom-content-props
- dev-native-date-input
- dev-fix-upgrade-guide-v7-markdown
- dev-fix-doc-remove-command-key
- dev-dashboard-entity
- dev-fix-doc
- dev-styleci
- dev-docs-upgrade
- dev-preload-requests
- dev-html-extension
- dev-editor-tables
- dev-sharp-components
- dev-fix/wysiwyg
- dev-feature/localized-list-form-and-instance-commands
- dev-entity-list-cards
- dev-fix-document-title
- dev-refactor-api
- dev-fix-autocomplete-dropdown
- dev-handle-svg-thumbnail
- dev-blade-templating
- dev-form-live-update
- dev-feature/release-script
- dev-feature/gh-actions
- dev-legacy-components
This package is auto-updated.
Last update: 2024-11-14 16:51:39 UTC
README
Sharp is a content management framework, a toolset which provides help to build a CMS section in a website, with some rules in mind:
- the public website should not have any knowledge of the CMS — the CMS is a part of the system, not the center of it. In fact, removing the CMS should not have any effect on the project.
- Content administrators should work with their data and terminology, not CMS terms. I mean, if the project is about spaceships, space travels and pilots, why would the CMS talk about articles, categories and tags?
- Developers should not have to work on the front-end development for the CMS. Because life is complicated enough, Sharp takes care of all the responsive / CSS / JS stuff.
- The CMS should not have any expectations from the persistence layer: MySQL is cool — but it's not the perfect tool for every problem. And more important, the DB structure has nothing to do with the CMS.
Sharp intends to provide a clean solution to the following needs:
- create, update or delete any structured data of the project, handling validation and errors;
- display, search, sort or filter data;
- execute custom commands on one instance, a selection or all instances;
- handle authorizations and validation;
- all without writing a line of front code, and using a clean API in the PHP app.
Sharp needs Laravel 8+ and PHP 8.0+.
Documentation 📖
The full documentation is available here: sharp.code16.fr/docs.
Online example 🖥️
A Sharp instance for a demo project is online here: sharp.code16.fr/sharp/.
Data of this demo is reset each hour.
Additional resources 🖊️
See Code 16's blog, and start with this introduction post: Leveraging Sharp, an open source content management framework, in a Laravel project.