{"id":20773830,"url":"https://github.com/neurocracy/drupal-omnipedia-menu","last_synced_at":"2026-04-29T15:01:41.423Z","repository":{"id":49339101,"uuid":"499691397","full_name":"neurocracy/drupal-omnipedia-menu","owner":"neurocracy","description":"Provides menu items and menu-related functionality for Omnipedia.","archived":false,"fork":false,"pushed_at":"2025-05-04T23:27:15.000Z","size":94,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"4.x","last_synced_at":"2025-06-02T02:31:31.111Z","etag":null,"topics":["drupal","drupal-module","php"],"latest_commit_sha":null,"homepage":"https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-menu","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neurocracy.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2022-06-04T01:03:36.000Z","updated_at":"2025-05-04T23:27:18.000Z","dependencies_parsed_at":"2025-05-05T00:22:11.070Z","dependency_job_id":"a6d93d28-9459-4f66-a332-c2ea67f56ae5","html_url":"https://github.com/neurocracy/drupal-omnipedia-menu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/neurocracy/drupal-omnipedia-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurocracy%2Fdrupal-omnipedia-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurocracy%2Fdrupal-omnipedia-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurocracy%2Fdrupal-omnipedia-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurocracy%2Fdrupal-omnipedia-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neurocracy","download_url":"https://codeload.github.com/neurocracy/drupal-omnipedia-menu/tar.gz/refs/heads/4.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurocracy%2Fdrupal-omnipedia-menu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260511893,"owners_count":23020294,"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":["drupal","drupal-module","php"],"created_at":"2024-11-17T12:27:25.781Z","updated_at":"2026-04-29T15:01:41.415Z","avatar_url":"https://github.com/neurocracy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"This contains the source files for the \"*Omnipedia - Menu*\" Drupal module, which\nprovides menu items and menu-related functionality for\n[Omnipedia](https://omnipedia.app/).\n\n⚠️ ***[Why open source? / Spoiler warning](https://omnipedia.app/open-source)***\n\n*Please note that [all development and issue tracking is done on \u003cimg src=\"https://gitlab.com/neurocracy/omnipedia/omnipedia/-/raw/main/docs/assets/gitlab/gitlab-logo.svg\" alt=\"The GitLab logo\" width=\"16\" height=\"16\"\u003e GitLab](https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-menu).*\n\n----\n\n# Description\n\nThis contains most of Omnipedia's menu and menu item-related code.\n\nOf particular note is the custom menu link entity, its associated plug-in and\nderiver, forms, a constraint validator, access control handler, and route\ncontroller; this custom menu link is very similar to the one offered by Drupal\ncore with one crucial difference: instead of pointing to a discrete route or\npath, it points to a wiki node title which allows it to vary by the simulated\nwiki date.\n\nAdditionally, this module contains the [route controller for the random\npage](/src/Controller/RandomPageController.php) menu item.\n\n----\n\n# Requirements\n\n* [Drupal 9.5, 10, or 11](https://www.drupal.org/download) ([Drupal 8 is end-of-life](https://www.drupal.org/psa-2021-11-30))\n\n* PHP 8.1\n\n* [Composer](https://getcomposer.org/)\n\n## Drupal dependencies\n\nBefore attempting to install this, you must add the Composer repositories as\ndescribed in the installation instructions for these dependencies:\n\n* The [`omnipedia_core`](https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-core), [`omnipedia_date`](https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-date), and [`omnipedia_main_page`](https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-main-page) modules.\n\n----\n\n# Installation\n\n## Composer\n\n### Set up\n\nEnsure that you have your Drupal installation set up with the correct Composer\ninstaller types such as those provided by [the `drupal/recommended-project`\ntemplate](https://www.drupal.org/docs/develop/using-composer/starting-a-site-using-drupal-composer-project-templates#s-drupalrecommended-project).\nIf you're starting from scratch, simply requiring that template and following\n[the Drupal.org Composer\ndocumentation](https://www.drupal.org/docs/develop/using-composer/starting-a-site-using-drupal-composer-project-templates)\nshould get you up and running.\n\n### Repository\n\nIn your root `composer.json`, add the following to the `\"repositories\"` section:\n\n```json\n{\n  \"type\": \"vcs\",\n  \"url\": \"https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-menu.git\",\n  \"only\": [\"drupal/omnipedia_menu\"]\n}\n```\n\n### Patching\n\nThis module provides [one or more patches](#patches). These can be applied automatically by the the [`cweagans/composer-patches`](https://github.com/cweagans/composer-patches) Composer plug-in. If you're not already using it in your project, you need to install it:\n\n```shell\ncomposer require 'cweagans/composer-patches:^1.7 || ^2.0'\n```\n\nIf you're using the 1.x version of the plug-in, you'll also need to run:\n\n```shell\ncomposer config extra.enable-patching true\ncomposer config --json --merge extra.patchLevel '{\"drupal/core\": \"-p2\"}'\n```\n\nNote that you should remove these once you upgrade to `cweagans/composer-patches:^2.0` as 2.0 no longer uses that configuration.\n\n### Installing\n\nOnce you've completed all of the above, run `composer require\n\"drupal/omnipedia_menu:^4.0@dev\"` in the root of your project to have\nComposer install this and its required dependencies for you.\n\n## Patches\n\nThis module provides [a Drupal core\npatch](https://www.drupal.org/project/drupal/issues/3165305#comment-14058586);\nthis can be automatically applied if you have [`cweagans/composer-patches`\ninstalled and\nconfigured to allow patching from dependencies](https://github.com/cweagans/composer-patches#allowing-patches-to-be-applied-from-dependencies).\n\n----\n\n# Patches\n\nThe following patches are supplied (see [Patching](#patching) above):\n\n* Drupal core:\n\n  * [UrlGenerator improperly escapes a colon in the path [#3165305]](https://www.drupal.org/project/drupal/issues/3165305#comment-14058586)\n\n----\n\n# Major breaking changes\n\nThe following major version bumps indicate breaking changes:\n\n* 4.x:\n\n  * Requires Drupal 9.5 or [Drupal 10](https://www.drupal.org/project/drupal/releases/10.0.0) with compatibility and deprecation fixes for the latter.\n\n  * Increases minimum version of [Hook Event Dispatcher](https://www.drupal.org/project/hook_event_dispatcher) to 3.1, removes deprecated code, and adds support for 4.0 which supports Drupal 10.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurocracy%2Fdrupal-omnipedia-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneurocracy%2Fdrupal-omnipedia-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurocracy%2Fdrupal-omnipedia-menu/lists"}