{"id":20037723,"url":"https://github.com/openedx/brand-openedx","last_synced_at":"2026-04-30T13:01:02.162Z","repository":{"id":38339595,"uuid":"293918988","full_name":"openedx/brand-openedx","owner":"openedx","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-14T20:05:09.000Z","size":165,"stargazers_count":11,"open_issues_count":1,"forks_count":205,"subscribers_count":50,"default_branch":"master","last_synced_at":"2026-04-14T22:09:20.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openedx.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":"2020-09-08T20:23:21.000Z","updated_at":"2026-04-14T20:04:35.000Z","dependencies_parsed_at":"2023-02-06T06:32:10.442Z","dependency_job_id":"d6f8de00-1072-4fc5-a241-a6ccdd534e2a","html_url":"https://github.com/openedx/brand-openedx","commit_stats":{"total_commits":29,"total_committers":11,"mean_commits":"2.6363636363636362","dds":0.7241379310344828,"last_synced_commit":"71ffc4e3f80a30af279f6f516329d6b7a83b5c7f"},"previous_names":["edx/brand-openedx"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/openedx/brand-openedx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fbrand-openedx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fbrand-openedx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fbrand-openedx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fbrand-openedx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openedx","download_url":"https://codeload.github.com/openedx/brand-openedx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fbrand-openedx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32465008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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":[],"created_at":"2024-11-13T10:21:20.015Z","updated_at":"2026-04-30T13:01:02.154Z","avatar_url":"https://github.com/openedx.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open edX Brand Package Interface\n\nThis project contains the default branding assets and style used in Open edX\napplications. It is published on npm as `@openedx/brand-openedx`.\n\nThe file structure serves as an interface to be implemented for custom\nbranding and theming of Open edX.\n\n## How to use this package\n\nApplications in Open edX are configured by default to include this\npackage for branding assets and theming visual style.\n\nTo use a custom brand and theme\\...\n\n1.  Fork or copy this project. Ensure that it lives in a location\n    accessible to Open edX applications during asset builds. This may be\n    a published git repo, npm, or local folder depending on your\n    situation.\n2.  Replace the assets in this project with your own logos and design\n    tokens. Match the filenames exactly. Open edX applications refer to\n    these files by their filepath. Refer to the brand for edx.org at\n    \u003chttps://github.com/edx/brand\u003e for an example.\n\n    Theme customization is driven by design tokens; follow the guide at\n    [Paragon Design Tokens Compatibility](./docs/how-to/design-tokens-support.rst).\n\n3.  Configure your Open edX instance to consume your custom brand\n    package. Refer to this documentation on configuring the platform:\n    https://docs.openedx.org/projects/openedx-proposals/en/latest/architectural-decisions/oep-0048-brand-customization.html\n    \\[TODO: Add a link to documentation on configuring in Open edX MFE\n    pipelines when it exists\\]\n4.  Rebuild the assets and microfrontends in your Open edX instance to\n    see the new brand reflected. \\[TODO: Add link to relevant\n    documentation when it is completed\\].\n\n## Files this package must make available\n\n`/logo.svg`\n\n![logo](/logo.svg)\n\n`/logo-trademark.svg` A variant of the logo with a trademark ® or ™.\nNote: This file must be present. If you don\\'t have a trademark variant\nof your logo, copy your regular logo and use that.\n\n![logo](/logo-trademark.svg)\n\n`/logo-white.svg` A variant of the logo for use on dark backgrounds\n\n![logo](/logo-white.svg)\n\n`/favicon.ico` A site favicon\n\n![favicon](/favicon.ico)\n\n`/paragon/images/card-imagecap-fallback.png` A variant of the default\nfallback image for [Card.ImageCap] component.\n\n![card-imagecap-fallback](/paragon/images/card-imagecap-fallback.png)\n\n`/core.min.css` (and `/core.css`) Brand-layer core CSS bundle, assembled\nfrom `paragon/core.scss` by `paragon build-scss` at publish time.\nConsumers import this on top of Paragon's own core CSS.\n\n`/light.min.css` (and `/light.css`) Light theme variant CSS bundle,\nassembled from the token outputs at `paragon/build/themes/light/`.\nConsumers import this for the light theme.\n\n## Source files (for forks customizing the brand)\n\nThese files live in this repo as inputs to the build; they are not\nshipped in the published package.\n\n`/paragon/core.scss` Assembly point consumed by `paragon build-scss` and\nemitted as the published `core.min.css`. Its job is to `@use` the\ntoken-generated CSS at `./build/core/...` so that those custom\nproperties end up in the bundle consumers download. With Paragon 23\nthis is not where brand customizations go (use design tokens for that),\nbut it is the place for non-tokenizable additions such as custom\n`@media` rules, or brand-specific selectors that don't map to Paragon\ncomponents.\n\n`/paragon/_fonts.scss` SASS partial for `@import` rules that load web\nfonts referenced by tokens (e.g. Google Fonts URLs).\n\n`/paragon/tokens/core/\u003ccategory\u003e/*.json`,\n`/paragon/tokens/themes/\u003cvariant\u003e/*.json` Design token overrides in\n[Style Dictionary](https://styledictionary.com/) format, and the sole\nsupported way to customize the theme with Paragon 23. Files under\n`core/` override Paragon's core tokens (typography, spacing,\nbreakpoints, etc.); files under `themes/\u003cvariant\u003e/` override\ntheme-variant tokens (colors, component values) for that variant\n(currently `light`). See\n[Paragon Design Tokens Compatibility](./docs/how-to/design-tokens-support.rst).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Fbrand-openedx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenedx%2Fbrand-openedx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Fbrand-openedx/lists"}