{"id":50726974,"url":"https://github.com/razuna/razuna-wordpress","last_synced_at":"2026-06-10T05:00:54.128Z","repository":{"id":362602126,"uuid":"1258942604","full_name":"razuna/razuna-wordpress","owner":"razuna","description":"This is the new Razuna Wordpress plugin to integrate your files into Wordpress with one click","archived":false,"fork":false,"pushed_at":"2026-06-05T02:50:21.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T04:15:40.096Z","etag":null,"topics":["cms","dam","file-management","file-sharing","media","razuna","wordpress-plugin"],"latest_commit_sha":null,"homepage":"https://razuna.com/wordpress/","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/razuna.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-04T04:01:18.000Z","updated_at":"2026-06-05T02:50:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/razuna/razuna-wordpress","commit_stats":null,"previous_names":["razuna/razuna-wordpress"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/razuna/razuna-wordpress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/razuna%2Frazuna-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/razuna%2Frazuna-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/razuna%2Frazuna-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/razuna%2Frazuna-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/razuna","download_url":"https://codeload.github.com/razuna/razuna-wordpress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/razuna%2Frazuna-wordpress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34137570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["cms","dam","file-management","file-sharing","media","razuna","wordpress-plugin"],"created_at":"2026-06-10T05:00:32.816Z","updated_at":"2026-06-10T05:00:54.118Z","avatar_url":"https://github.com/razuna.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Razuna DAM for WordPress\n\nBrowse, search, and embed your [Razuna](https://razuna.com) digital assets\ndirectly from WordPress. Connects to Razuna over **OAuth 2.0**; published images\nare served from Razuna via **durable direct links** — assets stay in Razuna as\nthe single source of truth, with no duplication into the WordPress media library.\n\n## How it works\n\nTwo planes, kept separate by design:\n\n- **Auth / management plane — OAuth.** The plugin registers itself as an OAuth\n  client (dynamic client registration), runs the authorization-code + PKCE flow,\n  and stores an encrypted access/refresh token. All Razuna API calls happen\n  **server-side**; the token never reaches the browser. The editor's asset\n  picker talks only to a same-origin WordPress REST proxy (`wp-json/razuna/v1/*`).\n\n- **Content / delivery plane — direct links.** When you insert an asset, the\n  plugin embeds a Razuna **direct link** — a 365-day signed `/file/remote` URL\n  that is public and durable. Published content renders for anonymous visitors\n  independently of the OAuth session (which expires every ~10 minutes).\n\n## Editor integrations\n\n- **Razuna Asset block** (block editor) — browse/search and embed an image.\n- **\"Add from Razuna\"** button (classic editor) — same picker, inserts an `\u003cimg\u003e`.\n\n## Plugin structure\n\n```\nrazuna.php                    Plugin header + bootstrap\nincludes/\n  class-plugin.php            Orchestrator (hooks, asset registration)\n  class-settings.php          Region/server config + encrypted token storage + admin page\n  class-oauth.php             OAuth client: DCR, PKCE S256, callback, refresh\n  class-api.php               Server-side Razuna REST client (Bearer JWT, auto-refresh)\n  class-rest.php              Same-origin REST proxy (wp-json/razuna/v1/*)\n  class-block.php             \"Razuna Asset\" dynamic block (register + server render)\n  class-crypto.php            At-rest encryption for stored tokens\nviews/settings-page.php       Settings UI\nassets/js/picker.js           Shared, build-free asset picker (vanilla JS)\nassets/js/block.js            Block editor UI (wp.element, no JSX/build)\nassets/js/media-modal.js      Classic-editor \"Add from Razuna\" + modal\nassets/css/admin.css          Picker / modal / block styles\nuninstall.php                 Removes options + stored tokens\ndocker/                       Local WordPress test harness (see docker/README.md)\n```\n\nNo build step: the JS uses plain ES5 / `wp.element.createElement`, so the plugin\nruns straight from a checkout (handy for the bind-mounted Docker harness).\n\n## Requirements\n\n- WordPress 6.0+, PHP 7.4+\n- A Razuna account (US, EU, or a custom/dedicated server)\n\n## Local development \u0026 testing\n\nSee [`docker/README.md`](docker/README.md) for a one-command WordPress harness\nand the full connect → browse → insert → public-render walkthrough.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frazuna%2Frazuna-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frazuna%2Frazuna-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frazuna%2Frazuna-wordpress/lists"}