Skip to content

Theme Portfolio

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-portfolio
Package slug theme-portfolio
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-portfolio
Docs source packages/theme-portfolio/docs
Manifest capell.json

Theme Portfolio is an Available, No schema impact Capell theme in the Capell Themes product group. It ships as capell-app/theme-portfolio and extends these surfaces: frontend.

Theme Portfolio adds project showcase, credits, process notes, media, and next-project presentation for creative work. The theme presents Capell-owned case-study content rather than introducing its own records.

When selected, visitors can follow a project from visual overview through credits and process to the next case study.

Evidence: src/PortfolioThemeServiceProvider.php, resources/views/sections/filmstrip-project-showcase.blade.php, resources/views/sections/credits-grid-roster.blade.php, resources/views/sections/process-notes-timeline.blade.php, resources/views/sections/next-project-cta.blade.php, tests/Feature/SignatureWidgetsRenderTest.php, tests/Unit/PublicOutputSafetyTest.php.

Status details:

  • Status: Available
  • Tier: premium
  • Bundle: themes
  • Composer package: capell-app/theme-portfolio
  • Namespace: Capell\ThemePortfolio
  • Theme key: portfolio

For developers: The provider registers a Foundation-derived theme definition and a tested set of package-scoped section renderables.

For teams: Creative teams can publish case studies with clear attribution and process context while editing the source material in Capell.

Evidence: src/PortfolioThemeServiceProvider.php, tests/Unit/PortfolioThemeDefinitionTest.php, tests/Feature/SignatureWidgetsRenderTest.php, resources/views/sections/credits-grid-roster.blade.php, resources/views/sections/process-notes-timeline.blade.php, resources/views/sections/next-project-cta.blade.php.

Screenshot contract: docs/screenshots.json.

Portfolio Homepage Portfolio Homepage Portfolio Landing page Portfolio Landing page

Desktop, tablet, and mobile variants remain defined in the screenshot contract; this list groups them by workflow.

  • Portfolio Homepage (frontend, required evidence).
  • Portfolio Landing page (frontend, required evidence).
  • Portfolio List page (frontend, required evidence).
  • Portfolio Search results (frontend, required evidence).
  • Portfolio Contact form (frontend, supplementary evidence).
  • Portfolio Page Not Found (frontend, supplementary evidence).
  • Portfolio Call To Action (frontend, supplementary evidence).
  • Service providers: Capell\ThemePortfolio\PortfolioThemeServiceProvider.
  • Actions: InstallPortfolioThemeDemoAction.
  • Command signatures: capell:theme-portfolio-demo.
  • Console command classes: DemoCommand.
  • Manifest contributions: admin-page: Capell\ThemePortfolio\Manifest\ThemeManagementPageContribution.
  • Health checks: Capell\ThemePortfolio\Health\ThemePortfolioHealthCheck.
  • Blade views: packages/theme-portfolio/resources/views/page.blade.php, packages/theme-portfolio/resources/views/sections/content-listing.blade.php, packages/theme-portfolio/resources/views/sections/creator-hero.blade.php, packages/theme-portfolio/resources/views/sections/credits-grid-roster--rows.blade.php, packages/theme-portfolio/resources/views/sections/credits-grid-roster.blade.php, packages/theme-portfolio/resources/views/sections/credits-tools.blade.php, packages/theme-portfolio/resources/views/sections/cta.blade.php, packages/theme-portfolio/resources/views/sections/discipline-carousel-browse--sticky.blade.php, packages/theme-portfolio/resources/views/sections/discipline-carousel-browse.blade.php, packages/theme-portfolio/resources/views/sections/discipline-filters.blade.php, packages/theme-portfolio/resources/views/sections/filmstrip-project-showcase--compact.blade.php, packages/theme-portfolio/resources/views/sections/filmstrip-project-showcase.blade.php, and 15 more.
  • Cache tags: theme-portfolio.

Product group: Capell Themes

  • Product group: Capell Themes
  • Manifest extends: default
  • Runtime extends: default
  • Portfolio runtime inheritance uses extends: default and requires capell-app/frontend for the built-in default fallback.

This theme has no schema impact. It relies on core Capell site, page, locale, and theme records instead of declaring package-owned tables.

  • Required packages: capell-app/core, capell-app/theme-foundation, capell-app/frontend.
  • Admin navigation: declares admin-page: ThemeManagementPageContribution; each Filament page or resource controls its own navigation visibility.
  • Admin/editor extensions: none declared.
  • Permissions: none declared in capell.json.
  • 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-portfolio.
  • Commands: capell:theme-portfolio-demo.
  • Keep required Capell packages on compatible v4 releases: capell-app/core, capell-app/theme-foundation, capell-app/frontend.
  • 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-portfolio cache tags.
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
  1. Install the package: composer require capell-app/theme-portfolio.
  2. No package-specific setup command or migrations are declared.
  3. Open /theme-portfolio and confirm the public output renders without admin state.