### Standalone Installation Commands Source: https://tallcms.com/docs/installation Use these commands to initialize a new project, install dependencies, and start the development server. ```bash # Create new project composer create-project tallcms/tallcms my-site # Navigate to project cd my-site # Install frontend dependencies and build assets npm install && npm run build # Start development server php artisan serve ``` -------------------------------- ### Setup Shield Source: https://tallcms.com/docs/roles-authorization Performs the initial installation of the Shield package. ```bash php artisan shield:setup ``` -------------------------------- ### Install Registration Plugin Source: https://tallcms.com/docs/multisite Install the upstream package and run migrations to prepare the database. ```bash composer require tallcms/filament-registration php artisan migrate ``` -------------------------------- ### Install a Theme Source: https://tallcms.com/docs/cli-commands Installs a theme by publishing its assets and running the build process. ```bash php artisan theme:install ``` ```bash php artisan theme:install corporate ``` -------------------------------- ### Install a plugin Source: https://tallcms.com/docs/cli-commands Installs a plugin from a local ZIP file path. ```bash php artisan plugin:install ``` ```bash # Install plugin php artisan plugin:install ~/Downloads/acme-gallery.zip # Install without migrations php artisan plugin:install ~/Downloads/acme-gallery.zip --no-migrate ``` -------------------------------- ### Run TallCMS Installer Source: https://tallcms.com/docs/installation Executes the internal installer to handle migrations, roles, and initial setup. ```bash php artisan tallcms:install ``` -------------------------------- ### Install TallCMS Source: https://tallcms.com/docs/cli-commands Initializes the CMS with migrations, roles, and permissions. ```bash php artisan tallcms:install ``` ```bash # Fresh install php artisan tallcms:install # Reinstall without running migrations php artisan tallcms:install --force --skip-migrations ``` -------------------------------- ### TallCMS Full Setup Source: https://tallcms.com/docs/roles-authorization Executes the complete setup process for TallCMS, including role configuration. ```bash php artisan tallcms:setup ``` -------------------------------- ### List installed plugins Source: https://tallcms.com/docs/cli-commands Displays all installed plugins with optional filtering and detailed output. ```bash php artisan plugin:list ``` ```bash # List all plugins php artisan plugin:list # Show detailed info php artisan plugin:list --detailed # Filter by vendor php artisan plugin:list --vendor=acme ``` -------------------------------- ### Setup TallCMS Source: https://tallcms.com/docs/cli-commands Configures initial roles, permissions, and the admin user account. ```bash php artisan tallcms:setup ``` ```bash # Interactive setup php artisan tallcms:setup # Non-interactive setup (CI/CD) php artisan tallcms:setup --name="Admin" --email="admin@example.com" --password="secret123" ``` -------------------------------- ### Install via Git Clone Source: https://tallcms.com/docs/installation Use these commands to set up a development environment for contributing to TallCMS. ```bash # Clone the repository git clone https://github.com/tallcms/tallcms.git cd tallcms # Install PHP dependencies composer install # Install frontend dependencies and build assets npm install && npm run build # Start development server with hot reload composer dev ``` -------------------------------- ### Run Development Mode Source: https://tallcms.com/docs/themes Starts the development server with hot reloading for the specified theme. ```bash cd themes/my-theme npm run dev # Hot reloading ``` -------------------------------- ### Deploy via Git Source: https://tallcms.com/docs/updating Example post-deploy script for standalone Git-based deployments. ```bash #!/bin/bash set -e cd /path/to/app # Code & deps git stash git pull origin main composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev ``` -------------------------------- ### Manual Configuration Commands Source: https://tallcms.com/docs/installation Use these commands to set up the environment and database manually if bypassing the web installer. ```bash # Copy environment file cp .env.example .env # Generate application key php artisan key:generate # Configure your .env file with database credentials # Then run migrations php artisan migrate --force # Create storage symlink php artisan storage:link # Create admin user interactively php artisan make:user ``` -------------------------------- ### Plugin Management Source: https://tallcms.com/docs/updating Commands to list installed plugins and their compatibility status. ```bash php artisan tallcms:plugin-list ``` -------------------------------- ### Install and Configure Laravel Cashier Source: https://tallcms.com/docs/billing Commands to install the Cashier package and prepare the database migrations. ```bash composer require laravel/cashier "^15.0" php artisan vendor:publish --tag=cashier-config php artisan vendor:publish --tag=cashier-migrations php artisan migrate ``` -------------------------------- ### Install Filament Panel Source: https://tallcms.com/docs/installation Initializes a new Filament panel if one is not already present in the application. ```bash php artisan filament:install --panels ``` -------------------------------- ### Build and Activate Theme Assets Source: https://tallcms.com/docs/themes Install dependencies and build assets before activating the theme via Artisan. ```bash # Install dependencies npm install # Navigate to theme cd themes/my-awesome-theme # Build assets npm run build # Return and activate cd ../.. php artisan theme:activate my-awesome-theme ``` -------------------------------- ### Build Custom Caddy with Cloudflare Plugin Source: https://tallcms.com/docs/multi-tenant-saas-on-digitalocean-with-caddy-cloudflare-nginx-and-ploi Installs Go, xcaddy, and builds a custom Caddy binary with the Cloudflare DNS provider module. ```bash # Install Go and git sudo apt install -y golang-go git # Install xcaddy go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest # Add Go bin to PATH echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc source ~/.bashrc # Build Caddy with Cloudflare DNS plugin (takes 2-3 minutes) cd ~ xcaddy build --with github.com/caddy-dns/cloudflare # Install the binary sudo mv ~/caddy /usr/bin/caddy sudo chmod +x /usr/bin/caddy # Verify the plugin is included caddy list-modules | grep cloudflare # Expected: dns.providers.cloudflare ``` -------------------------------- ### Install Redirect Manager Plugin Source: https://tallcms.com/docs/redirects Run these commands after placing the plugin files to clear the cache and apply database migrations. ```bash php artisan cache:clear php artisan migrate ``` -------------------------------- ### Start and Verify Caddy Service Source: https://tallcms.com/docs/multi-tenant-saas-on-digitalocean-with-caddy-cloudflare-nginx-and-ploi Starts the Caddy service and verifies that it is correctly bound to ports 80 and 443. ```bash sudo systemctl start caddy sudo systemctl status caddy # Verify Caddy owns ports 80 and 443 sudo ss -tlnp | grep ':80\|:443' # Expected: # *:80 caddy # *:443 caddy # 127.0.0.1:8080 nginx ``` -------------------------------- ### Verify Plugin Installation Source: https://tallcms.com/docs/mega-menu Use this command to confirm the Mega Menu plugin is active in your project. ```bash php artisan plugin:list ``` -------------------------------- ### Supervisor Configuration Source: https://tallcms.com/docs/pro-email-marketing Example configuration for managing the queue worker process using Supervisor. ```ini [program:tallcms-queue] command=php /path/to/tallcms/artisan queue:work --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true user=www-data numprocs=1 redirect_stderr=true stdout_logfile=/var/log/tallcms-queue.log ``` -------------------------------- ### Install a Filament Plugin Source: https://tallcms.com/docs/filament-ecosystem Use Composer to add a Filament plugin package to your project. ```bash composer require vendor/filament-plugin-name ``` -------------------------------- ### Package a plugin Source: https://tallcms.com/docs/cli-commands Creates a distributable ZIP file from an installed plugin, automatically excluding development files. ```bash php artisan plugin:package [slug] ``` ```bash # Package by slug php artisan plugin:package registration # Package by vendor/slug php artisan plugin:package tallcms/pro # Interactive — choose from installed plugins php artisan plugin:package # Custom output directory php artisan plugin:package registration --output=~/Desktop ``` -------------------------------- ### Install the TallCMS Redirect Manager plugin Source: https://tallcms.com/docs/why-redirects-matter Commands to clone the plugin repository and update the application cache and database schema. ```bash # In your TallCMS plugins directory git clone https://github.com/tallcms/redirect-manager-plugin.git plugins/tallcms/redirect-manager php artisan cache:clear php artisan migrate ``` -------------------------------- ### Generate API Documentation with Scribe Source: https://tallcms.com/docs/installation Install Scribe as a dev dependency and run the generation commands to create interactive API documentation. ```bash composer require --dev knuckleswtf/scribe php artisan vendor:publish --tag=tallcms-scribe-config php artisan scribe:generate ``` -------------------------------- ### Define Registration Configuration Fallback Source: https://tallcms.com/docs/email-verification Create a configuration file to manage the email verification toggle if the registration plugin is not installed. ```php [ 'enabled' => env('REGISTRATION_EMAIL_VERIFICATION', false), ], ]; ``` -------------------------------- ### Implement Service Provider Methods Source: https://tallcms.com/docs/plugins Use register for binding services and boot for loading resources like views, migrations, and event listeners. ```php public function register(): void { // Merge config, bind services, register singletons } public function boot(): void { // Load views $this->loadViewsFrom(__DIR__.'/../../resources/views', 'acme-myplugin'); // Load migrations $this->loadMigrationsFrom(__DIR__.'/../../database/migrations'); // Register event listeners Event::listen(SomeEvent::class, SomeListener::class); } ``` -------------------------------- ### Install TallCMS via Composer Source: https://tallcms.com/docs/installation Installs the TallCMS package and its required dependencies. ```bash composer require tallcms/cms ``` -------------------------------- ### Start Queue Worker Source: https://tallcms.com/docs/pro-email-marketing Starts a manual queue worker process with specified retry and timeout settings. ```bash php artisan queue:work --sleep=3 --tries=3 --max-time=3600 ``` -------------------------------- ### Uninstall a plugin Source: https://tallcms.com/docs/cli-commands Removes an installed plugin using its vendor/slug identifier. ```bash php artisan plugin:uninstall ``` ```bash # Uninstall with confirmation php artisan plugin:uninstall acme/gallery # Force uninstall php artisan plugin:uninstall acme/gallery --force ``` -------------------------------- ### Querying CmsPage Source: https://tallcms.com/docs/page-settings Examples of querying the CmsPage model using Eloquent. ```APIDOC ## Querying CmsPage ### Description Common query patterns for retrieving pages from the database. ### Examples - **Published pages**: `CmsPage::where('status', 'published')->get();` - **Homepage**: `CmsPage::where('is_homepage', true)->first();` - **Child pages**: `CmsPage::where('parent_id', $parentId)->orderBy('sort_order')->get();` ``` -------------------------------- ### Navigate to Package Directory Source: https://tallcms.com/docs/architecture Use this command to enter the package directory for development and testing. ```bash cd packages/tallcms/cms # Make changes # Test immediately in standalone app ``` -------------------------------- ### Webhook Payload Format Source: https://tallcms.com/docs/api Example structure of a webhook event notification. ```json { "id": "wh_del_abc123", "event": "page.published", "attempt": 1, "max_attempts": 3, "timestamp": "2026-01-27T10:30:00Z", "data": { "id": 123, "type": "page", "attributes": { "title": "About Us", "status": "published" } }, "meta": { "triggered_by": { "id": 1, "name": "Admin User" } } } ``` -------------------------------- ### Configure Onboarding Redirects Source: https://tallcms.com/docs/multisite Environment variables to control or disable the automatic redirect to the Template Gallery for new users. ```env REGISTRATION_ONBOARDING_REDIRECT_URL=/somewhere REGISTRATION_ONBOARDING_ENABLED=false ``` -------------------------------- ### Implement License Validation in Service Provider Source: https://tallcms.com/docs/plugin-licensing Use the boot method to perform license checks, ensuring local environments are skipped and network errors fail open. ```php namespace YourVendor\YourPlugin\Providers; use Illuminate\Support\ServiceProvider; class YourPluginServiceProvider extends ServiceProvider { public function boot(): void { // Skip license check in local/testing environments if (app()->environment('local', 'testing')) { return; } if (! $this->isLicenseValid()) { // Option A: Disable features silently return; // Option B: Show admin notice // $this->showLicenseNotice(); } // Register your plugin's features here $this->loadViewsFrom(__DIR__.'/../../resources/views', 'your-plugin'); $this->loadMigrationsFrom(__DIR__.'/../../database/migrations'); } protected function isLicenseValid(): bool { // Implement your own validation logic: // - Check a locally stored license key // - Validate against your own API // - Check an expiry date // - Verify a signed token $key = config('your-plugin.license_key'); if (empty($key)) { return false; } // Example: validate against your API (cache the result) return cache()->remember("your_plugin_license_{$key}", 86400, function () use ($key) { try { $response = \Illuminate\Support\Facades\Http::timeout(5) ->post('https://your-api.com/validate', [ 'key' => $key, 'domain' => request()->getHost(), ]); return $response->successful() && ($response->json('valid') === true); } catch (\Throwable $e) { // Fail open on network errors — don't break the site return true; } }); } } ``` -------------------------------- ### GET /api/v1/tallcms/pages Source: https://tallcms.com/docs/api Retrieves a list of pages using a valid bearer token. ```APIDOC ## GET /api/v1/tallcms/pages ### Description Retrieves a list of pages using a valid bearer token. ### Method GET ### Endpoint /api/v1/tallcms/pages ### Parameters #### Headers - **Authorization** (string) - Required - Bearer token ``` -------------------------------- ### Verify sodium extension Source: https://tallcms.com/docs/updating Checks if the required sodium PHP extension is installed and enabled. ```bash php -m | grep sodium ``` -------------------------------- ### Update TallCMS in Plugin Mode Source: https://tallcms.com/docs/updating Standard update sequence for Plugin mode installations. ```bash composer update tallcms/cms php artisan migrate php artisan config:clear php artisan view:clear php artisan cache:clear ``` -------------------------------- ### Define Plugin Configuration Source: https://tallcms.com/docs/plugin-licensing Create a configuration file to store the license key, typically retrieved from environment variables. ```php // your-plugin/src/config.php return [ 'license_key' => env('YOUR_PLUGIN_LICENSE_KEY'), ]; ``` -------------------------------- ### Register Plugin Views Source: https://tallcms.com/docs/plugins Use the boot method to register plugin views with a specific namespace. ```php public function boot(): void { $this->loadViewsFrom(__DIR__.'/../../resources/views', 'acme-plugin'); } ``` -------------------------------- ### Implement Two-Layer Configuration Merging Source: https://tallcms.com/docs/going-full-native-how-to-extend-filament-v5s-register-page Use mergeConfigFrom in the service provider to load defaults, then merge database settings during the boot process to allow admin overrides. ```php public function register(): void { $this->mergeConfigFrom( __DIR__.'/../../config/filament-registration.php', 'filament-registration' ); } public function boot(): void { $this->mergeDbSettingsIntoConfig(); } private function mergeDbSettingsIntoConfig(): void { foreach ($map as $dbKey => $configKey) { $value = $stored[$dbKey] ?? null; if ($value === null || $value === '') { continue; // empty DB row → env wins } config([$configKey => $value]); } } ``` -------------------------------- ### GET /pages/{id} Source: https://tallcms.com/docs/api Retrieve a single page by ID with support for locale-specific translations. ```APIDOC ## GET /pages/{id} ### Description Retrieve a specific page. Supports fetching a single locale or all translations. ### Method GET ### Endpoint /pages/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the page #### Query Parameters - **locale** (string) - Optional - Specific locale to return - **with_translations** (boolean) - Optional - If true, returns all available translations ``` -------------------------------- ### Create a New Theme via Artisan Source: https://tallcms.com/docs/themes Use the make:theme command to scaffold a new theme directory structure. ```bash # Interactive mode (recommended) php artisan make:theme # Or with options php artisan make:theme my-awesome-theme \ --description="A modern theme" \ --author="Your Name" ``` -------------------------------- ### GET /pages Source: https://tallcms.com/docs/api Retrieve a list of pages with support for filtering, sorting, includes, and pagination. ```APIDOC ## GET /pages ### Description Retrieve a collection of pages. Supports filtering by status, author, and other attributes, as well as sorting, including related resources, and pagination. ### Method GET ### Endpoint /pages ### Parameters #### Query Parameters - **filter[status]** (string) - Optional - Filter by status (e.g., published) - **filter[author_id]** (integer) - Optional - Filter by author ID - **sort** (string) - Optional - Field to sort by - **order** (string) - Optional - Sort order (asc or desc) - **include** (string) - Optional - Comma-separated list of relations to include - **with_counts** (string) - Optional - Relations to include counts for - **page** (integer) - Optional - Page number - **per_page** (integer) - Optional - Items per page (max 100) ``` -------------------------------- ### Create a New Theme Source: https://tallcms.com/docs/cli-commands Scaffolds a new theme with daisyUI integration. Supports interactive mode and various configuration flags. ```bash php artisan make:theme [name] ``` ```bash # Interactive theme creation php artisan make:theme # Create with preset php artisan make:theme "Corporate" --preset=corporate --author="Acme Inc." # Create with dark mode php artisan make:theme "Modern" --preset=light --prefers-dark=dark # Create custom theme php artisan make:theme "Brand" --custom --interactive ``` -------------------------------- ### Execute Theme CLI Commands Source: https://tallcms.com/docs/themes Commands for listing, building, and activating themes via Artisan. ```bash php artisan theme:list # List themes php artisan theme:list --detailed # Detailed info php artisan theme:build my-theme # Build assets php artisan theme:activate my-theme # Activate theme ``` -------------------------------- ### Configure Test Isolation Source: https://tallcms.com/docs/architecture Ensures a clean state by resetting the tallcms.mode configuration during test setup. ```php // Base test case ensures clean state protected function setUp(): void { parent::setUp(); config(['tallcms.mode' => null]); // Auto-detect } ``` -------------------------------- ### Initialize Jobs Table Source: https://tallcms.com/docs/pro-email-marketing Creates and migrates the necessary database table for storing queued jobs. ```bash php artisan queue:table php artisan migrate ``` -------------------------------- ### Configure onboarding middleware Source: https://tallcms.com/docs/multisite-architecture Register the onboarding redirect middleware in the Filament panel provider to steer new users toward the template gallery. ```php use Tallcms\\\Registration\\\Http\\\Middleware\\\EnsureOnboardingRedirect; use Tallcms\\\Registration\\\Services\\\OnboardingResolver; return $panel ->emailVerification(isRequired: fn () => (bool) config('registration.email_verification.enabled')) ->homeUrl(fn () => auth()->user() ? app(OnboardingResolver::class)->resolveFor(auth()->user()) ?? filament()->getPanel('app')->getUrl() : filament()->getPanel('app')->getUrl()) ->middleware([ // ...standard panel middleware... EnsureOnboardingRedirect::class, ]); ``` -------------------------------- ### JSON Translation Structure Source: https://tallcms.com/docs/i18n Example of the JSON structure used for storing translatable content in the database. ```json { "en": "About Us", "zh_CN": "关于我们" } ``` -------------------------------- ### Run Plugin Migrations Source: https://tallcms.com/docs/mega-menu Execute this command to apply necessary database migrations for the Mega Menu plugin. ```bash php artisan plugin:migrate tallcms/mega-menu ``` -------------------------------- ### Update TallCMS in Standalone Mode Source: https://tallcms.com/docs/installation Use these commands to check for or apply updates to a standalone TallCMS installation. ```bash # Check for updates (dry run) php artisan tallcms:update --dry-run # Update to latest version php artisan tallcms:update # Update to specific version php artisan tallcms:update --target=4.0.3 ``` -------------------------------- ### Run Migrations Source: https://tallcms.com/docs/i18n Execute database migrations to apply i18n schema changes. ```bash php artisan migrate ``` -------------------------------- ### Rebuild Theme and Clear Caches Source: https://tallcms.com/docs/themes Standard sequence to resolve frontend styling issues. ```bash cd themes/my-theme && npm run build php artisan optimize:clear ``` -------------------------------- ### Create Manual Snapshots Source: https://tallcms.com/docs/publishing Capture a manual snapshot of a post with a descriptive note. ```php $post->createManualSnapshot('Ready for client review'); ``` -------------------------------- ### Button Variant Template Source: https://tallcms.com/docs/block-styling Example of mapping multiple button variants and sizes using the @class directive. ```blade ($variant ?? 'primary') === 'primary', 'btn-secondary' => $variant === 'secondary', 'btn-accent' => $variant === 'accent', 'btn-neutral' => $variant === 'neutral', 'btn-ghost' => $variant === 'ghost', 'btn-lg' => ($size ?? 'md') === 'lg', 'btn-sm' => $size === 'sm', ])> {{ $label }} ``` -------------------------------- ### Build Theme Assets Source: https://tallcms.com/docs/themes Compiles theme assets for production deployment. ```bash cd themes/my-theme npm run build ``` -------------------------------- ### Activate a TallCMS Theme Source: https://tallcms.com/docs/cli-commands Activates a theme by its slug. Use --force to activate themes that are not currently installed. ```bash php artisan theme:activate ``` ```bash php artisan theme:activate corporate ``` -------------------------------- ### Configure S3 as default filesystem Source: https://tallcms.com/docs/installation Set environment variables to route all media uploads to an S3-compatible provider. ```env # Storage credentials AWS_ACCESS_KEY_ID=your-access-key AWS_SECRET_ACCESS_KEY=your-secret-key AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET=your-bucket-name # Enable S3 storage FILESYSTEM_DISK=s3 # For non-AWS providers, add endpoint: AWS_ENDPOINT=https://nyc3.digitaloceanspaces.com ``` -------------------------------- ### Manage Model Translations Source: https://tallcms.com/docs/i18n Methods for interacting with translatable model attributes, including getting, setting, and checking for translations. ```php // Get translation $page->getTranslation('title', 'zh_CN'); // Set translation $page->setTranslation('title', 'zh_CN', '关于我们'); // Check if translation exists $page->hasTranslation('title', 'zh_CN'); // Get all translations $page->getTranslations('title'); // ['en' => 'About Us', 'zh_CN' => '关于我们'] ``` -------------------------------- ### Implement Theme Switching Logic Source: https://tallcms.com/docs/theme-switcher Handles theme application, persistence, UI updates, and Livewire navigation compatibility. ```javascript (function() { function setTheme(theme) { document.documentElement.setAttribute('data-theme', theme); localStorage.setItem('theme', theme); // Update active button styling document.querySelectorAll('.theme-btn').forEach(btn => { btn.classList.toggle('btn-active', btn.dataset.themeValue === theme); }); // Close drawer after selection const drawer = document.getElementById('theme-drawer'); if (drawer) drawer.checked = false; } function initThemeButtons() { const savedTheme = localStorage.getItem('theme') || document.documentElement.getAttribute('data-theme') || 'light'; document.querySelectorAll('.theme-btn').forEach(btn => { btn.classList.toggle('btn-active', btn.dataset.themeValue === savedTheme); btn.addEventListener('click', function() { setTheme(this.dataset.themeValue); }); }); } // Initialize on page load initThemeButtons(); // Re-initialize after Livewire navigation document.addEventListener('livewire:navigated', initThemeButtons); })(); ``` -------------------------------- ### Create Role Source: https://tallcms.com/docs/roles-authorization Creates a new role in the system. ```bash php artisan permission:create-role editor ``` -------------------------------- ### Manage Site Settings via Service Source: https://tallcms.com/docs/multisite-architecture Use the SiteSettingsService for explicit site-context operations. Site IDs must be provided for all write operations. ```php $service = app(SiteSettingsService::class); // Read for a specific site (override → global fallback) $service->getForSite($siteId, 'contact_email', $default); // Write an override for a specific site $service->setForSite($siteId, 'contact_email', 'hello@example.com'); // Remove override (site resumes inheriting global) $service->resetForSite($siteId, 'contact_email'); // Check if a site has an override $service->hasOverride($siteId, 'contact_email'); // Read global default (no site context) $service->getGlobal('contact_email', $default); ``` -------------------------------- ### Extend base models for standalone mode Source: https://tallcms.com/docs/architecture Example of extending a core package model within a standalone application environment. ```php // app/Models/CmsPage.php (Standalone) namespace App\Models; use TallCms\Cms\Models\CmsPage as BaseCmsPage; class CmsPage extends BaseCmsPage { // Standalone-specific additions } ``` -------------------------------- ### Implement Preview and Frontend Rendering Source: https://tallcms.com/docs/block-development Separates preview logic from frontend rendering to ensure sample data is used during block configuration. ```php public static function toPreviewHtml(array $config): string { // Provide sample data for preview return static::renderBlock(array_merge($config, [ 'title' => $config['title'] ?? 'Sample Title', ]), isPreview: true); } public static function toHtml(array $config, array $data): string { // Frontend uses actual data return static::renderBlock($config, isPreview: false); } protected static function renderBlock(array $config, bool $isPreview = false): string { return view('cms.blocks.my-block', [ 'isPreview' => $isPreview, 'title' => $config['title'] ?? '', ])->render(); } ``` -------------------------------- ### API Rate Limit Response Headers Source: https://tallcms.com/docs/api Example of the headers returned by the API to indicate current rate limit status and retry requirements. ```http X-RateLimit-Limit: 60 X-RateLimit-Remaining: 59 Retry-After: 45 (on 429 responses) ```