{"id":42591872,"url":"https://github.com/threadi/external-files-in-media-library","last_synced_at":"2026-04-25T14:09:42.364Z","repository":{"id":194626128,"uuid":"649344804","full_name":"threadi/external-files-in-media-library","owner":"threadi","description":"Repository for WordPress-Plugin External Files in Media Library","archived":false,"fork":false,"pushed_at":"2026-04-20T19:08:17.000Z","size":4438,"stargazers_count":9,"open_issues_count":10,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-20T19:19:44.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://wordpress.org/plugins/external-files-in-media-library/","language":"PHP","has_issues":true,"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/threadi.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-04T15:02:15.000Z","updated_at":"2026-04-20T19:08:22.000Z","dependencies_parsed_at":"2026-01-05T12:05:24.988Z","dependency_job_id":"400b1a6b-7ddc-4b94-b19a-1d59b0987322","html_url":"https://github.com/threadi/external-files-in-media-library","commit_stats":null,"previous_names":["threadi/external-files-in-media-library"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/threadi/external-files-in-media-library","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threadi%2Fexternal-files-in-media-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threadi%2Fexternal-files-in-media-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threadi%2Fexternal-files-in-media-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threadi%2Fexternal-files-in-media-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threadi","download_url":"https://codeload.github.com/threadi/external-files-in-media-library/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threadi%2Fexternal-files-in-media-library/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32264521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":[],"created_at":"2026-01-28T23:13:55.170Z","updated_at":"2026-04-25T14:09:42.348Z","avatar_url":"https://github.com/threadi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# External files in media library\n\n## About\n\nThis repository provides the features of the WordPress plugin _External files in media library_. The repository is used as a basis for deploying the plugin to the WordPress repository. It is not intended to run as a plugin as it is, even if that is possible for development.\n\n## Hint\n\nAs user of the plugin you find documentation for protocols and handling in the [doc-directory](https://github.com/threadi/external-files-in-media-library/tree/master/docs/).\n\n## Usage\n\nAfter checkout go through the following steps:\n\n### By hand\n\nRun the following commands in this order:\n\n1. `composer install`\n2. `npm i`\n3. `npm run build`\n4. after that the plugin can be activated in WordPress.\n\n### Using ant\n\n1. copy _build/build.properties.dist_ to _build/build.properties_.\n2. modify the _build/build.properties_ file - note the comments in the file.\n3. after that the plugin can be activated in WordPress.\n\n### Using Taskfile\n\n1. Run this command: `task prepare`\n2. after that the plugin can be activated in WordPress.\n\n## Release\n\n### From local environment by hand\n\n1. `composer install`\n2. `npm i`\n3. `npm run build`\n4. `composer test-install`\n5. `composer test`\n6. `vendor/bin/phpstan analyse`\n7. `vendor/bin/phpcbf --standard=ruleset.xml .`\n8. `vendor/bin/phpcs --standard=ruleset.xml .`\n9. Set version nummer in _readme.txt_ and _external-files-in-media-library.php_.\n10. Create the release ZIP with all necessary folders and files.\n\n### From local environment with ant\n\n1. increase the version number in _build/build.properties_.\n2. execute the following command in _build/_: `ant build`\n3. after that you will find a zip file in the release directory, which could be used in WordPress to install it.\n\n### From local environment with Taskfile\n\n1. execute the following command in the main directory: `task release -- 5.0.0` - adjust the version number.\n2. after that you will find a zip file in the release directory, which could be used in WordPress to install it.\n\n### On GitHub\n\n1. Create a new tag with the new version number.\n2. The release zip will be created by a GitHub action.\n\n## Translations\n\nI recommend translating this plugin in the [WordPress Translating tool](https://translate.wordpress.org/projects/wp-plugins/external-files-in-media-library/).\n\nFor manual translation I recommend to use [PoEdit](https://poedit.net/) to translate texts for this plugin.\n\n### Generate pot-file\n\nRun in the main directory:\n\n`wp i18n make-pot . languages/external-files-in-media-library.pot --exclude=svn/`\n\n### Update translation-file\n\n1. Open .po-file of the language in PoEdit.\n2. Go to \"Translate\" \u003e \"Update from POT-file\".\n3. After this the new entries are added to the language-file.\n\n### Export translation-file\n\n1. Open .po-file of the language in PoEdit.\n2. Go to \"File\" \u003e \"Save\".\n3. Upload the generated .mo-file and the .po-file to the plugin-folder languages/\n\n## Check for WordPress Coding Standards\n\n### Initialize\n\n`composer install`\n\n### Run\n\n`vendor/bin/phpcs --standard=ruleset.xml .`\n\n### Repair\n\n`vendor/bin/phpcbf --standard=ruleset.xml .`\n\n## Generate documentation\n\n`vendor/bin/wp-documentor parse app --format=markdown --output=docs/hooks.md --prefix=eml_ --exclude=Section.php --exclude=Tab.php --exclude=Import.php --exclude=Export.php --exclude=Field_Base.php --exclude=Settings.php --exclude=Page.php --exclude=Rest.php --exclude=Transients.php`\n\n## Check for WordPress VIP Coding Standards\n\nHint: this check runs against the VIP-GO-platform which is not our target for this plugin. Many warnings can be ignored.\n\n### Run\n\n`vendor/bin/phpcs --extensions=php --ignore=*/attributes/*,*/blocks/*,*/example/*,*/css/*,*/vendor/*,*/node_modules/*,*/svn/*,*/tests/* --standard=WordPress-VIP-Go .`\n\n## Check PHP compatibility\n\n`vendor/bin/phpcs -p app --standard=PHPCompatibilityWP`\n\n## Analyse with PHPStan\n\n`vendor/bin/phpstan analyse`\n\n## Check with the plugin \"Plugin Check\"\n\n`wp plugin check --error-severity=7 --warning-severity=6 --include-low-severity-errors --categories=plugin_repo --format=json --slug=external-files-in-media-library .`\n\n## PHP Unit tests\n\n### Initialize the test environment\n\n`composer test-install`\n\n### Run them\n\n`composer test`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreadi%2Fexternal-files-in-media-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreadi%2Fexternal-files-in-media-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreadi%2Fexternal-files-in-media-library/lists"}