{"id":21277979,"url":"https://github.com/b13/bolt","last_synced_at":"2025-07-02T08:08:56.166Z","repository":{"id":37742830,"uuid":"80770222","full_name":"b13/bolt","owner":"b13","description":"Easier integrations for TYPO3 sites","archived":false,"fork":false,"pushed_at":"2024-06-03T12:14:39.000Z","size":87,"stargazers_count":28,"open_issues_count":8,"forks_count":13,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-28T02:19:55.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-02T21:26:09.000Z","updated_at":"2025-02-21T22:43:39.000Z","dependencies_parsed_at":"2024-06-21T04:49:45.386Z","dependency_job_id":null,"html_url":"https://github.com/b13/bolt","commit_stats":{"total_commits":60,"total_committers":14,"mean_commits":4.285714285714286,"dds":0.6166666666666667,"last_synced_commit":"f448212a7b7ad223be67c138b0e190dbc1bd04ea"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/b13/bolt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fbolt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fbolt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fbolt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fbolt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13","download_url":"https://codeload.github.com/b13/bolt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fbolt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262834797,"owners_count":23371851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T10:08:31.668Z","updated_at":"2025-07-02T08:08:56.102Z","avatar_url":"https://github.com/b13.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easier Integrations for TYPO3 sites\n\n\n## Introduction\n\nThis package is a TYPO3 extension that makes integration work easier.\n\nSimply put, the extension allows running a TYPO3 instance without any\ndatabase driven TypoScript template (sys_template) records and without\nPageTsConfig page record entries, enabling file-driven (as in: not database-driven)\ndeployment of TypoScript and PageTsConfig. This is done by connecting a Site configuration\n(those `.yaml` site configuration files) with a \"Site extension\" and using some simple\nevents or hooks of the TYPO3 core.\n\n\n## Background\n\nWe consider it best practice to run a site and all custom Backend Layouts, TypoScript, PageTS,\nFluid templates and similar in one place: In a \"site extension\". We prefix them with \"site_\", something\nlike `site_myproject`. This site extension is the general entry point for configuration of a\nsingle Site page tree.\n\nThe \"bolt\" extension provides a Site configuration setting called \"sitePackage\" that connects a\nSite with this site package / extension. This is simply an entry in the Site's .yaml\nfile, and can be manually added to the file, or clicked in the TYPO3 \"Sites\" Backend module.\n\nProviding \"everything\" as files without database records is in general possible for nearly\neverything in current TYPO3, except for sys_template records and PageTsConfig settings. The\nextension thus provides some hooks that look up the connected \"site extension\" of a site,\nto TypoScript \"constants\" and \"setup\", as well as PageTsConfig, from files, provided\nby the site extension. This avoids these database entries.\n\n\n## Installation\n\n* Require the extension via composer (`composer require b13/bolt`) or load it from\n[TER](https://extensions.typo3.org/extension/bolt/) (extension name \"bolt\") using the\nextension manager.\n\n* Create a site extension, having at least a composer.json and an ext_emconf.php file,\n  prefixed with `site_`. Have this extension loaded.\n\n* Either manually edit the Site Configuration `.yaml` file and add `sitePackage: '\u003cmy_extension_key\u003e'`\n  as top-level key, or edit the Site Configuration in the Backend \"Sites\" module, select\n  the site package / extension in the drop and save it.\n\n* Add extension file `Configuration/TypoScript/constants.typoscript`. This is the main\n  TypoScript \"constants / settings\" entry point for this Site in the page tree. It should\n  typically contain `@import` lines to load further \"static includes\" from other extensions\n  as well as own TypoScript provided by the site extension itself. This file is automatically\n  loaded by convention using a hook or event of the bolt extension. Since TYPO3 v12, the Backend\n  \"Template Analyzer\" reflects such includes.\n\n* Add extension file `Configuration/TypoScript/setup.typoscript`. This is the main TypoScript \"setup\"\n  entry point for this Site in the page tree. It should typically contain `@import` lines to load further\n  \"static includes\" from other extensions as well as own TypoScript provided by the site extension itself.\n  This file is automatically loaded by convention using a hook or event of the bolt extension. Since\n  TYPO3 v12, the Backend \"Template Analyzer\" reflects such includes.\n\n* Add extension file `Configuration/PageTs/main.tsconfig` (if needed). This is the main PageTsConfig entry\n  point for this Site in the page tree. It should typically contain further `@import` lines. This file is\n  automatically loaded by convention using a hook or event of the bolt extension.\n\n* Add further files like Frontend rendering Templates, ViewHelper classes or TCA overrides as needed: Make\n  the site extension the single entry point of your Site configuration that provides all site specific\n  settings!\n\n\n## Disabled Backend settings\n\nExtension `bolt` adds default PageTsConfig that disallows adding new `sys_template` records in the\nbackend, and it hides the `PageTsConfig` related fields when editing page records. Those defaults are\nadded  in `ext_tables.php`, they follow our best practices, but can be rewritten again if really needed.\n\n\n## License\n\nThe extension is licensed under GPL v2+, same as the TYPO3 Core. See the LICENSE file.\n\n\n## Sharing our expertise\n\n[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help\nus deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure\nlong-term performance, reliability, and results in all our code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fbolt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13%2Fbolt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fbolt/lists"}