riclep/laravel-storyblok

A Laravel wrapper around the Storyblok API to provide a familiar experience for Laravel devs

Fund package maintenance!
Ko Fi

2.37.0 2024-12-14 11:57 UTC

README

Latest Version on Packagist Total Downloads

GitHub Workflow Status Packagist PHP Version

Build Quality Score

ko-fi Twitter

This package allows you to use fantastic Storyblok headless CMS with the amazing Laravel PHP framework. It’s designed to try and feel natural to Laravel developers and part of the ecosystem whilst also converting Storyblok’s API JSON responses into something powerful with minimal effort.

Key Features

  • Pages from Storyblok mapped to PHP Pages classes giving access to the nested content (Blocks) and meta data for SEO, OpenGraph and more.
  • Quickly and easily resolve relations and inverse relations between content.
  • Each Storyblok component is automatically transformed into a PHP class using a simple naming convention - just match your class and component names.
  • Fields in your components are converted to a Field PHP class allowing you to manipulate their data. The package automatically detects common types like richtext fields, assets and markdown. Easily cast fields to classes.
  • Asset fields are converted to Assets and Image classes allowing you to manipulate them as required. Images can be easily transformed using Storyblok’s Asset CDN or external services like Imgix.
  • Blocks and fields know where they sit in relation to their ancestors and CSS classes can be created to help your styling.
  • The structure of the JSON data is preserved but super powered making it simple to loop over in your views.
  • It’s simple to link to the Storyblok visual composer by including one view and printing a string in a Block’s Blade template.
  • Request ‘Folders’ of content such as a list of articles or a team of people complete with support for pagination.
  • Richer Typography using a supporting package utilising PHP Typography.

Documentation

Read the full docs

Contribute to the docs

Other Packages

Laravel Storyblok Embed

Embed all types of media in your Storyblok site using only their URL. Package Docs

Laravel Storyblok Typography

Improve your content’s typography. Package Docs

Laravel Storyblok Layout & CSS

Helpers for layout, block positioning and CSS class name generation. Package Docs

Laravel Storyblok Form builder (BETA)

Build forms with Storyblok complete with Laravel’s validation. Package Docs

Laravel Storyblok CLI

Useful Artisan commands to help manage your content? Check out my Laravel Storyblok CLI package

Testing

The tests are mostly up-to-date and cover the majority of the code. A few areas that would require hitting the Storyblok API are not tested. If you have experience mocking API please feel free to contribute tests.

Changelog

See it here

Contributing

Please feel free to help expand and improve this project.

Security

If you discover any security related issues, please email ric@sirric.co.uk instead of using the issue tracker.

Credits

img

License

The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.