Theme Folio
Package docs status
Section titled “Package docs status”This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.
| Field | Value |
|---|---|
| Composer package | capell-app/theme-folio |
| Package slug | theme-folio |
| Product group | Capell Themes |
| Tier | premium |
| Bundle | themes |
| Runtime contexts | frontend |
| Capell version | ^1.0 |
| Catalogue role | extension |
| Release channel | Beta |
| Source repository | capell-app/packages |
| Source path | packages/theme-folio |
| Docs source | packages/theme-folio/docs |
| Manifest | capell.json |
What This Plugin Adds
Section titled “What This Plugin Adds”Theme Folio is an Available, No schema impact Capell theme in the Capell Themes product group. It ships as capell-app/theme-folio and extends these surfaces: frontend.
Theme Folio presents finite publications as numbered bound editions with responsive spreads, section navigation, and package-owned integrations for figures, enquiries, bookings, and indexes.
Use Preview Theme Folio on existing content before Apply Theme Folio, which changes the selected site’s public design; reapply its previous theme to restore that selection. Shared Theme Studio settings saves can affect public pages. For fictional demo content, name a disposable target with —sites and review —url and —languages; unscoped setup refuses existing sites, scoped repeats preserve site configuration unless —force deliberately replaces its theme, enabled state, requested site translations and domains, while demo pages, widgets and demo layouts are rewritten on scoped repeats.
Status details:
- Status: Available
- Tier: premium
- Bundle: themes
- Composer package:
capell-app/theme-folio - Namespace:
Capell\ThemeFolio - Theme key:
folio
Why It Matters
Section titled “Why It Matters”For developers: Typed Folio Actions and Data objects keep edition numbering, section resolution, and public rendering inside the theme package rather than leaking theme logic into Core or the host app.
For teams: Teams can publish an annual review, prospectus, or catalogue with the visual rhythm of a designed book while retaining ordinary web navigation and accessible fallbacks.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: docs/screenshots.json.




Desktop, tablet, and mobile variants remain defined in the screenshot contract; this list groups them by workflow.
- Folio Homepage (frontend, required evidence).
- Folio Directory (frontend, required evidence).
- Folio Detail (frontend, required evidence).
- Folio Contact (frontend, required evidence).
- Folio Empty state (frontend, supplementary evidence).
- Folio Not found (frontend, supplementary evidence).
- Folio Call to action (frontend, required evidence).
Technical Shape
Section titled “Technical Shape”Service providers
Section titled “Service providers”Capell\ThemeFolio\FolioThemeServiceProviderCapell\ThemeFolio\Providers\ConsoleServiceProvider
Actions
Section titled “Actions”BuildFolioBookDataActionInstallFolioThemeDemoActionResolveFolioSectionDataAction
Data objects
Section titled “Data objects”FolioBookDataFolioSectionDataFolioSpreadDataFolioThemePresetData
Command signatures
Section titled “Command signatures”capell:theme-folio-demo
Console command classes
Section titled “Console command classes”FolioDemoCommand
Manifest contributions
Section titled “Manifest contributions”admin-page: Capell\ThemeFolio\Manifest\ThemeManagementPageContribution
Health checks
Section titled “Health checks”Capell\ThemeFolio\Health\ThemeFolioHealthCheck
Blade views
Section titled “Blade views”packages/theme-folio/resources/views/components/folio-book.blade.phppackages/theme-folio/resources/views/components/folio-spread.blade.phppackages/theme-folio/resources/views/components/integrations/chronicle-journal.blade.phppackages/theme-folio/resources/views/components/integrations/chronicle-static.blade.phppackages/theme-folio/resources/views/components/integrations/enquiry-bookings.blade.phppackages/theme-folio/resources/views/components/integrations/enquiry-form.blade.phppackages/theme-folio/resources/views/components/integrations/enquiry-mailto.blade.phppackages/theme-folio/resources/views/components/integrations/figure-chart.blade.phppackages/theme-folio/resources/views/components/integrations/figure-table-only.blade.phppackages/theme-folio/resources/views/components/integrations/index-anchors.blade.phppackages/theme-folio/resources/views/components/integrations/index-search.blade.phppackages/theme-folio/resources/views/components/integrations/notice.blade.phppackages/theme-folio/resources/views/layout/main-content.blade.phppackages/theme-folio/resources/views/sections/content-listing--index-register.blade.phppackages/theme-folio/resources/views/sections/cta--colophon.blade.phppackages/theme-folio/resources/views/sections/hero--cover-plate.blade.phppackages/theme-folio/resources/views/widget/partials/colophon-page.blade.phppackages/theme-folio/resources/views/widget/partials/cover-plate.blade.phppackages/theme-folio/resources/views/widget/partials/index-register.blade.phppackages/theme-folio/resources/views/widget/section.blade.phppackages/theme-folio/resources/views/widget/sections/colophon-page.blade.phppackages/theme-folio/resources/views/widget/sections/content-listing--index-register.blade.phppackages/theme-folio/resources/views/widget/sections/contents-leaders.blade.phppackages/theme-folio/resources/views/widget/sections/cover-plate.blade.phppackages/theme-folio/resources/views/widget/sections/cta--colophon.blade.phppackages/theme-folio/resources/views/widget/sections/double-truck--blank-leaf.blade.phppackages/theme-folio/resources/views/widget/sections/double-truck--errata.blade.phppackages/theme-folio/resources/views/widget/sections/double-truck.blade.phppackages/theme-folio/resources/views/widget/sections/figure-table.blade.phppackages/theme-folio/resources/views/widget/sections/generic.blade.phppackages/theme-folio/resources/views/widget/sections/hero--cover-plate.blade.phppackages/theme-folio/resources/views/widget/sections/index-register.blade.phppackages/theme-folio/resources/views/widget/sections/marginalia-note.blade.phppackages/theme-folio/resources/views/widget/sections/plate-gallery.blade.phppackages/theme-folio/resources/views/widget/sections/pull-quote-leaf.blade.phppackages/theme-folio/resources/views/widget/sections/timeline-folio.blade.php
Cache tags
Section titled “Cache tags”theme-folio
Data Model
Section titled “Data Model”This theme has no schema impact. It relies on core Capell site, page, locale, and theme records instead of declaring package-owned tables.
Install Impact
Section titled “Install Impact”- Required packages:
capell-app/core,capell-app/theme-foundation,capell-app/frontend,capell-app/layout-builder. - Admin navigation: declares
admin-page: ThemeManagementPageContribution; each Filament page or resource controls its own navigation visibility. - Admin/editor extensions: none declared.
- Permissions: no package permission declarations or Shield gates detected; host access rules still apply.
- Public routes: none declared.
- Database changes: no package migrations declared.
- Config: no package config files.
- Settings: no package settings declared.
- Queues or schedules: none declared.
- Cache tags:
theme-folio. - Commands:
capell:theme-folio-demo.
Common Pitfalls
Section titled “Common Pitfalls”- Keep required Capell packages on compatible v4 releases:
capell-app/core,capell-app/theme-foundation,capell-app/frontend,capell-app/layout-builder. - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
- Custom write integrations must preserve invalidation for
theme-foliocache tags.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration | Reinstall the package, refresh Composer autoload, and clear host caches |
| Public output leaks unexpected state | Render data, cache variation, or authoring boundary has regressed | Check public Blade, cache tags, and public-output safety tests | Move data loading out of Blade and rerun the package public-output tests |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/theme-folio. - See it working on a disposable site: run
php artisan capell:theme-folio-demo --sites="Theme demo". Choose a new site name for your demo; keep customer sites for the Preview → Apply workflow above. - Run
php artisan listand verify the package command signatures are registered.
Upgrading
Section titled “Upgrading”No manual steps between minor versions.