{"id":16266477,"url":"https://github.com/thormeier/slides-generator-bundle","last_synced_at":"2026-05-16T11:34:24.771Z","repository":{"id":57069096,"uuid":"65907335","full_name":"thormeier/slides-generator-bundle","owner":"thormeier","description":"Symfony bundle for easy generation of sprint review slides from git history","archived":false,"fork":false,"pushed_at":"2016-08-18T14:11:40.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-11T18:47:05.546Z","etag":null,"topics":["git-history","slides","symfony-bundle"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thormeier.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}},"created_at":"2016-08-17T12:52:37.000Z","updated_at":"2016-08-17T12:54:49.000Z","dependencies_parsed_at":"2022-08-24T14:54:14.639Z","dependency_job_id":null,"html_url":"https://github.com/thormeier/slides-generator-bundle","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/thormeier/slides-generator-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thormeier%2Fslides-generator-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thormeier%2Fslides-generator-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thormeier%2Fslides-generator-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thormeier%2Fslides-generator-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thormeier","download_url":"https://codeload.github.com/thormeier/slides-generator-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thormeier%2Fslides-generator-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git-history","slides","symfony-bundle"],"created_at":"2024-10-10T17:42:07.813Z","updated_at":"2026-05-16T11:34:24.737Z","avatar_url":"https://github.com/thormeier.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"SlidesGeneratorBundle\n=====================\n\n[![Build Status](https://travis-ci.org/thormeier/slides-generator-bundle.png?branch=master)](https://travis-ci.org/thormeier/slides-generator-bundle)\n\n## Introduction\n\nThis Symfony bundle provides a command to generate slides for Sprint review presentations based on the git commit history.\n\n## Installation\n\n### Step 1: Composer require\n\n    $ php composer.phar require \"thormeier/breadcrumb-bundle\"\n\n### Step 2: Enable the bundle in the kernel\n\n    \u003c?php\n    // app/AppKernel.php\n    \n    public function registerBundles()\n    {\n        $bundles = array(\n            // ...\n            new Thormeier\\SlidesGeneratorBundle\\ThormeierSlidesGeneratorBundle(),\n            // ...\n        );\n    }\n\n## Configuration\n\nEnable the bundle in your config.yml:\n\n    # config.yml\n    thormeier_slides_generator:\n        identifier_pattern: \"/(TICKET [0-9]+)/\"\n\nNote that the `identifier_pattern` is required. There's no default. More on this further down.\n\nThe complete configuration is as follows:\n\n    # config.yml\n    thormeier_slides_generator:\n        identifier_pattern:   ~ # Required\n        keyword_add:          ':slides'\n        repository_service:   thormeier_slides_generator.repository.git\n        renderer_service:     thormeier_slides_generator.renderer.markdown\n        generator_service:    thormeier_slides_generator.generator\n\n## Usage\n\nStart adding `:slides` to your git commit messages if you want to add them to the slides. Execute the Symfony command `slides:generate` to generate an output of the slides in the console.\n\n### Changing the keyword to add a commit to the slides\n\nIf you want to use something different then `:slides` in your commit messages to indicate an adding to the slides of a commit, you can configure it like so:\n\n    # config.yml\n    thormeier_slides_generator:\n        keyword_add: \"add this to the slides\"\n\nThe repository will look for the occurrence of this string in a commit message and adds the commit as a slide.\n\n### Using a different pattern for ticket names\n\nBy using the regex `\"/(TICKET [0-9]+)/\"`, the first matching occurrence of something like `TICKET 1234` is used as the slides title/identifier. Multiple commits with the same identifier that contain the configured slides keyword are squashed into a single slide. \n\nYou can configure the `identifier_pattern` like so:\n\n    # config.yml\n    thormeier_slides_generator:\n        identifier_pattern: \"/(TICKET [0-9]+)/\"\n\nAny valid regex will do.\n\n### Replacing the git storage\n\nTo replace the git storage (default), define a service that implements the `Thormeier\\SlidesGeneratorBundle\\Repository\\SlideRepositoryInterface` interface. You can then configure this service as your desired repository service in the config:\n\n    # config.yml\n    thormeier_slides_generator:\n        repository_service: \"acme.slides_renderer\" # Replace `acme.slides_repository` with your service ID\n\nYou could then, for instance, use a database as your storage or implement something else entirely.\n\n### Replacing the markdown renderer\n\nTo replace the markdown renderer (default), define a service that implements the `Thormeier\\SlidesGeneratorBundle\\Renderer\\RendererInterface` interface. You can then configure this service as your desired rendering service in the config:\n\n    # config.yml\n    thormeier_slides_generator:\n        renderer_service: \"acme.slides_renderer\" # Replace `acme.slides_renderer` with your service ID\n\nYou could then, for instance, make a Twig renderer or something else entirely.\n\n### Replacing the whole generator\n\nTo replace the default generator, define a service that implements the `Thormeier\\SlidesGeneratorBundle\\Generator\\SlidesGeneratorInterface` interface. You can then configure this service as your desired rendering service in the config:\n\n    # config.yml\n    thormeier_slides_generator:\n        generator_service: \"acme.slides_generator\" # Replace `acme.slides_generator` with your service ID\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthormeier%2Fslides-generator-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthormeier%2Fslides-generator-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthormeier%2Fslides-generator-bundle/lists"}