diff --git a/src/App/templates/JSON-LD/index.jsonld.twig b/src/App/templates/JSON-LD/index.jsonld.twig index 704e37d..7c5fd54 100644 --- a/src/App/templates/JSON-LD/index.jsonld.twig +++ b/src/App/templates/JSON-LD/index.jsonld.twig @@ -1,103 +1,100 @@ +{% autoescape false %} +{# + Canonical origin for @id values. These are stable entity identifiers, not links — + they must NOT follow absolute_url() while the site is served from new.dotkernel.com, + or every entity gets a new identity at cutover. +#} +{% set site_url = 'https://www.dotkernel.com/' %} +{% set license_url = 'https://opensource.org/licenses/MIT' %} + +{# Every value goes through |json_encode(json_flags) so quotes, apostrophes and dashes + can never break the document. The flags only keep view-source readable. #} +{% set json_flags = constant('JSON_UNESCAPED_SLASHES') b-or constant('JSON_UNESCAPED_UNICODE') %} + +{% set products = [ + { + slug: 'api', + name: 'Dotkernel API', + description: 'An alternative to legacy Laminas API Tools (Apigility). A linear PSR-15 middleware pipeline instead of a framework kernel — OAuth2 authorisation, RBAC, HAL responses and a generated OpenAPI spec, wired together and configured on install.' + }, + { + slug: 'admin', + name: 'Dotkernel Admin', + description: 'A ready-to-go admin skeleton for managing your platform\'s records with a simple, table-based approach - plus the tools to build reports and dashboards.' + }, + { + slug: 'queue', + name: 'Dotkernel Queue', + description: 'Asynchronous task queuing built on Symfony Messenger, wired into the Laminas Service Manager container via netglue/laminas-messenger.' + }, + { + slug: 'light', + name: 'Dotkernel Light', + description: 'The smallest complete Mezzio application — a PSR-15 pipeline, routing and templating, with nothing to strip out. A real starting point for a simple site. Outside the API/Admin/Queue platform.' + }, + { + slug: 'frontend', + name: 'Dotkernel Frontend', + description: 'A web starter skeleton for building frontend applications on Mezzio and Laminas - a standalone alternative, separate from the Headless Platform.' + } +] %} +{% endautoescape %}