{"id":18654795,"url":"https://github.com/wieni/wmpathauto","last_synced_at":"2026-03-07T02:02:49.086Z","repository":{"id":57080592,"uuid":"235798888","full_name":"wieni/wmpathauto","owner":"wieni","description":"Dynamic path aliases, pathauto patterns \u0026 automatic updating of aliases","archived":false,"fork":false,"pushed_at":"2025-06-03T12:14:04.000Z","size":143,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-24T16:42:13.497Z","etag":null,"topics":["drupal-8","drupal-module","drupal8-module","path-alias","pathauto","pathauto-patterns"],"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/wieni.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2020-01-23T13:19:43.000Z","updated_at":"2025-06-03T12:13:33.000Z","dependencies_parsed_at":"2025-02-18T11:50:58.374Z","dependency_job_id":"00a16998-c244-4f7f-aca8-5f4e58349f1c","html_url":"https://github.com/wieni/wmpathauto","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/wieni/wmpathauto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieni%2Fwmpathauto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieni%2Fwmpathauto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieni%2Fwmpathauto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieni%2Fwmpathauto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wieni","download_url":"https://codeload.github.com/wieni/wmpathauto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieni%2Fwmpathauto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30205893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["drupal-8","drupal-module","drupal8-module","path-alias","pathauto","pathauto-patterns"],"created_at":"2024-11-07T07:16:37.964Z","updated_at":"2026-03-07T02:02:49.063Z","avatar_url":"https://github.com/wieni.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"wmpathauto\n======================\n\n[![Latest Stable Version](https://poser.pugx.org/wieni/wmpathauto/v/stable)](https://packagist.org/packages/wieni/wmpathauto)\n[![Total Downloads](https://poser.pugx.org/wieni/wmpathauto/downloads)](https://packagist.org/packages/wieni/wmpathauto)\n[![License](https://poser.pugx.org/wieni/wmpathauto/license)](https://packagist.org/packages/wieni/wmpathauto)\n\n\u003e Dynamic path aliases, pathauto patterns \u0026 automatic updating of\n\u003e aliases\n\n## Why?\n- **Create dynamic path aliases and pathauto patterns**, for the cases\n  where tokens are too limited\n- **Automatically update an entity alias** when other entities that were\n  used to build this alias are updated\n\n## Installation\n\nThis package requires PHP 7.1 and Drupal 8 or higher. It can be\ninstalled using Composer:\n\n```bash\n composer require wieni/wmpathauto\n```\n\n## How does it work?\n### Dynamic path aliases\nSometimes when defining pathauto patterns, you'll notice the token\nsystem is just too limited. This module supports building patterns and\naliases in code using plugins with annotations, respectively\n`@AliasBuilder` and `@PatternBuilder`.\n\n### Dependencies\nWhen updating an entity with a path alias, all entities, configs and\nother path aliases that were used to build that alias are stored in the\ndatabase. In the future, when one of those path aliases, entities or\nconfigs are updated, the path alias that depends on them will be\nautomatically regenerated.\n\nThere are multiple ways to define dependencies:\n\n### Automatic dependencies with tokens\nWhen your pathauto pattern uses supported tokens, dependencies will be\nautomatically added based on those tokens. For example, if your pattern\ncontains the `[site:name]` token, the aliases using this pattern will be\nregenerated when the site name is changed.\n\nSupport for more token types can be added by creating plugins with the\n`@PatternTokenDependencyProvider` annotation, defining the token type in the\n`type` parameter and implementing the\n[`PatternTokenDependencyProviderInterface`](src/PatternTokenDependencyProviderInterface.php) interface.\n\n### Manual dependencies using plugins\nDependencies can also be added manually by creating plugins with the\n`@EntityAliasDependencyProvider` annotation, implementing the\n[`EntityAliasDependencyProviderInterface`](src/EntityAliasDependencyProviderInterface.php) interface. Plugins with `AliasBuilder` or\n`PatternBuilder` annotations implementing the same interface are also\nconsidered.\n\n## Changelog\nAll notable changes to this project will be documented in the\n[CHANGELOG](CHANGELOG.md) file.\n\n## Security\nIf you discover any security-related issues, please email\n[security@wieni.be](mailto:security@wieni.be) instead of using the issue\ntracker.\n\n## License\nDistributed under the MIT License. See the [LICENSE](LICENSE) file\nfor more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieni%2Fwmpathauto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwieni%2Fwmpathauto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieni%2Fwmpathauto/lists"}