{"id":24167317,"url":"https://github.com/metro420yt/class-update","last_synced_at":"2026-05-06T04:31:08.528Z","repository":{"id":260461400,"uuid":"881047696","full_name":"Metro420yt/class-update","owner":"Metro420yt","description":"update the css class names for your discord theme, simplified.","archived":false,"fork":false,"pushed_at":"2025-01-03T17:47:56.000Z","size":158,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T09:14:48.224Z","etag":null,"topics":["actions","betterdiscord-theme","discord","discord-theme","discord-themes","vencord-theme"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Metro420yt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-10-30T20:28:47.000Z","updated_at":"2025-02-19T04:43:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"7be39223-3674-4c0f-aa9d-28bff92f9a9d","html_url":"https://github.com/Metro420yt/class-update","commit_stats":null,"previous_names":["metro420yt/class-update"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metro420yt%2Fclass-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metro420yt%2Fclass-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metro420yt%2Fclass-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metro420yt%2Fclass-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Metro420yt","download_url":"https://codeload.github.com/Metro420yt/class-update/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241482101,"owners_count":19969850,"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":["actions","betterdiscord-theme","discord","discord-theme","discord-themes","vencord-theme"],"created_at":"2025-01-12T21:13:06.022Z","updated_at":"2026-05-06T04:31:08.386Z","avatar_url":"https://github.com/Metro420yt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Inputs\n\nAdd a step like this to your workflow:\n\n```yml\n- uses: metro420yt/class-update@v1\n  with:\n    # folder that has your theme files\n    # Default: themes\n    folder: 'src'\n\n    # file extension to target\n    # Default: css\n    ext: scss\n\n    # url or relative path to a file containing an old\u0026new pair of class names\n    # Default: https://raw.githubusercontent.com/SyndiShanX/Update-Classes/main/Changes.txt\n    diff: './changes.txt'\n```\n\n\n## Outputs\n\nThe action provides these outputs:\n\n- `totalChanges`: the total number of classes that were replaced\n\n\u003e For more info on how to use outputs, see [\"Context and expression syntax\"](https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions).\n\n## Examples\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch3\u003eWebhook Trigger\u003c/h3\u003e\u003c/summary\u003e\n\n\u003e \u003ca href=\"https://github.com/Metro420yt/Discord-comfy/blob/master/.github/workflows/classUpdate.yml\" style=\"color: #919894\"\u003e🔗 this is a workflow i use for a fork\u003c/a\u003e\n\n```yml\nname: Update Classes\n\non:\n  workflow_dispatch: # manually trigger\n  repository_dispatch: # trigger by webhook (example below)\n    types: [update_class] # id for webhook to target\n\njobs:\n  classUpdate:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n      - id: update\n        uses: metro420yt/class-update@v1-rc\n        with:\n          folder: stuff\n          ext: scss\n\n      - uses: gha-utilities/sass-build@v0.6.0 #compile scss files\n        if: ${{steps.update.outputs.changed}} #skip if no class changes\n        with:\n          source: ./app.scss\n          destination: ./betterdiscord/main.css\n          outputStyle: expanded\n      - uses: EndBug/add-and-commit@v9\n        if: ${{steps.update.outputs.changed}} #skip if no class changes\n        with:\n          default_author: github_actions\n          message: \"chore: update classes\"\n          fetch: true\n```\n\n\nThis example runs when [SyndiShanX's Changes.txt](https://raw.githubusercontent.com/SyndiShanX/Update-Classes/main/Changes.txt) updates, but you can ignore the first step if using a different trigger\n\nim using [make.com](https://make.com) since they have a free tier and for demonstration purposes\n\n[make.com blueprint](https://gist.github.com/Metro420yt/a3cc2687adb2313966c2f339bd43d246#file-make-blueprint-json)\n\u003e make sure to set up a schedule, i wouldnt try and make it run more than once per hour to stay under the 1000 operations/month\n\n\n- using an rss feed parser, have it check [this feed](https://github.com/SyndiShanX/Update-Classes/commits/main/Changes.txt.atom) for new items (commits)\n- when a new commit is made, send a POST request to `https://api.github.com/repos/\u003cYOUR_REPO\u003e/dispatches` with this info ([docs](https://docs.github.com/en/webhooks/webhook-events-and-payloads#repository_dispatch))\n  - headers:\n    - Accept: application/vnd.github+json \u003csub\u003e(might not need, idk)\u003c/sub\u003e\n    - Content-Type: application/json\n    - Authorization: `Bearer \u003cYOUR_TOKEN\u003e` (see [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#about-personal-access-tokens))\n  - body:\n    - `{\"event_type\": \"\u003cYOUR_DISPATCH_ID\u003e\"}`\n\n\u003c/details\u003e\n\n\u003c!-- \u003cdetails\u003e\n\u003csummary\u003e\u003ch3\u003eCRON Job\u003c/h3\u003e\u003c/summary\u003e  --\u003e\n\u003c!-- TODO --\u003e\n\u003c!-- \u003c/details\u003e --\u003e\n\n\n---\n## Credits\n\u003e- inspired by [ClassUpdate from Saltssaumure](https://github.com/Saltssaumure/ClassUpdate)\n\u003e- changelist maintained by [SyndiShanX](https://github.com/SyndiShanX) ([repo](https://github.com/SyndiShanX/Update-Classes))\n\u003e- class name history maintained by [itmesarah](https://github.com/itmesarah) ([repo](itmesarah))\n\u003e- README.md based on [EndBug/add-and-commit](https://github.com/EndBug/add-and-commit/blob/v9/README.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetro420yt%2Fclass-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetro420yt%2Fclass-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetro420yt%2Fclass-update/lists"}