Compare commits
No commits in common. "canvas" and "main" have entirely different histories.
4
.env.TEMPLATE
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# optiopnal, used for crossposting messages
|
||||||
|
bot_token="Bot ................."
|
||||||
|
# these are required
|
||||||
|
code_webhook="https://discord.com/api/webhooks/.../......"
|
||||||
81
.github/workflows/update.yml
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
name: update (hourly)
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
force:
|
||||||
|
description: Force update regardless of whether versions changed
|
||||||
|
default: false
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
quiet:
|
||||||
|
description: Disable sending any messages
|
||||||
|
default: false
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
schedule:
|
||||||
|
- cron: "30 * * * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: main
|
||||||
|
path: main
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: data
|
||||||
|
path: data
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: canvas
|
||||||
|
path: canvas
|
||||||
|
|
||||||
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
|
- uses: oven-sh/setup-bun@v2
|
||||||
|
|
||||||
|
- working-directory: main
|
||||||
|
run: bun install
|
||||||
|
|
||||||
|
- name: Setup Git
|
||||||
|
working-directory: data
|
||||||
|
run: |
|
||||||
|
git config user.name github-actions
|
||||||
|
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
|
git -C ../canvas config user.name github-actions
|
||||||
|
git -C ../canvas config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
|
|
||||||
|
- name: Update
|
||||||
|
env:
|
||||||
|
code_webhook: ${{ secrets.CODE_WEBHOOK }}
|
||||||
|
color_webhook: ${{ secrets.COLOR_WEBHOOK }}
|
||||||
|
icons_webhook: ${{ secrets.ICONS_WEBHOOK }}
|
||||||
|
bot_token: ${{ secrets.BOT_TOKEN }}
|
||||||
|
channel_id: "1532999192601952266"
|
||||||
|
role_id: "1481923706396872775"
|
||||||
|
working-directory: main
|
||||||
|
run: |
|
||||||
|
bun run src/update/index.ts ${{ (inputs.force || github.event.inputs.force == 'true') && '--force' || '' }} ${{ (inputs.quiet || github.event.inputs.quiet == 'true') && '--quiet' || '' }}
|
||||||
|
|
||||||
|
- name: Publish changes
|
||||||
|
working-directory: data
|
||||||
|
run: git push
|
||||||
|
|
||||||
|
- name: Publish canvas
|
||||||
|
working-directory: data
|
||||||
|
run: git -C ../canvas push
|
||||||
|
|
||||||
|
- name: Tag changes
|
||||||
|
working-directory: data
|
||||||
|
run: |
|
||||||
|
for ch in alpha beta stable; do
|
||||||
|
v=$(cat ".update-ok-$ch" 2>/dev/null) || continue
|
||||||
|
git tag -f "$ch-$v"
|
||||||
|
git push origin -f "$ch-$v"
|
||||||
|
done
|
||||||
180
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,180 @@
|
||||||
|
# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
|
||||||
|
logs
|
||||||
|
_.log
|
||||||
|
npm-debug.log_
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# Caches
|
||||||
|
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
|
||||||
|
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
|
||||||
|
pids
|
||||||
|
_.pid
|
||||||
|
_.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Snowpack dependency directory (https://snowpack.dev/)
|
||||||
|
|
||||||
|
web_modules/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
|
||||||
|
.stylelintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variable files
|
||||||
|
|
||||||
|
.env
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
.env.local
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# vuepress v2.x temp and cache directory
|
||||||
|
|
||||||
|
.temp
|
||||||
|
|
||||||
|
# Docusaurus cache and generated files
|
||||||
|
|
||||||
|
.docusaurus
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
|
|
||||||
|
# IntelliJ based IDEs
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# Finder (MacOS) folder config
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Custom
|
||||||
|
tmp
|
||||||
|
*.env
|
||||||
|
temp
|
||||||
3
.vscode/extensions.json
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"recommendations": ["biomejs.biome"]
|
||||||
|
}
|
||||||
30
.vscode/settings.json
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.biome": "explicit",
|
||||||
|
"source.organizeImports.biome": "explicit"
|
||||||
|
},
|
||||||
|
"[json]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[javascriptreact]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[toml]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
},
|
||||||
|
"[yaml]": {
|
||||||
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
}
|
||||||
|
}
|
||||||
31
README.md
|
|
@ -1,28 +1,11 @@
|
||||||
# decord — canvas branch
|
<div align="center">
|
||||||
|
<h1> Decord</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
Auto-generated by `main`'s `update (hourly)` workflow (`src/update/tasks/colors.ts`). Do not edit manually.
|
A repo that tracks the [Discord](https://github.com/discord) Android app's code changes! Forked from [`nexpid/Themelings`](https://github.com/nexpid/Themelings).
|
||||||
|
|
||||||
## Layout
|
For a closer look at what's scraped, take a look at the [data](https://github.com/lvwmwm/decord/tree/data) branch
|
||||||
|
|
||||||
Colors are split per Discord release channel: `alpha/`, `beta/`, `stable/`. Each channel has the same contents:
|
## Credits
|
||||||
|
|
||||||
- `raw.json` — Discord's raw colors (`tokens/colors/generated/raw-color-definitions.tsx`)
|
- [hermes-decomp](https://github.com/SymbioticSec/hermes-decomp) — tool for decompiling hermes React Native bytecode
|
||||||
- `semantic.json` — Semantic colors (full, with `raw` + `opacity` per theme)
|
|
||||||
- `semantic_simple.json` — Simplified semantic (`{semantic: {theme: hex}}`)
|
|
||||||
- `version.txt`
|
|
||||||
|
|
||||||
`version.txt` is written only after a successful run. A placeholder `0` signals "never processed" (forces the first run).
|
|
||||||
|
|
||||||
## `raw` / `semantic` for themers
|
|
||||||
|
|
||||||
- `raw.json`: `{ "BLACK_100": "#...", ... }` ~200 keys
|
|
||||||
- `semantic.json`: `{ "BACKGROUND_PRIMARY": { "dark": ["#...", {raw:"BLACK_500", opacity:1}], "light": [...] }, ... }`
|
|
||||||
- `semantic_simple.json`: `{ "BACKGROUND_PRIMARY": { "dark": "#...", "light": "#..." } }`
|
|
||||||
|
|
||||||
Use `semantic_simple.json` for quick theming, `semantic.json` + `raw.json` to resolve `raw` references.
|
|
||||||
|
|
||||||
## Links
|
|
||||||
|
|
||||||
- Main: https://github.com/lvwmwm/decord
|
|
||||||
- Data (code): https://github.com/lvwmwm/decord/tree/data
|
|
||||||
- Workflow: `.github/workflows/update.yml`
|
|
||||||
|
|
|
||||||
13376
alpha/icons.json
|
Before Width: | Height: | Size: 765 B |
|
Before Width: | Height: | Size: 679 B |
|
Before Width: | Height: | Size: 575 B |
|
Before Width: | Height: | Size: 467 B |
|
Before Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 690 B |
|
Before Width: | Height: | Size: 652 B |
|
Before Width: | Height: | Size: 528 B |
|
Before Width: | Height: | Size: 707 B |
|
Before Width: | Height: | Size: 682 B |
|
Before Width: | Height: | Size: 773 B |
|
Before Width: | Height: | Size: 744 B |
|
Before Width: | Height: | Size: 398 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 360 B |
|
Before Width: | Height: | Size: 252 B |
|
Before Width: | Height: | Size: 236 B |
|
Before Width: | Height: | Size: 362 B |
|
Before Width: | Height: | Size: 338 B |
|
Before Width: | Height: | Size: 224 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 323 B |
|
Before Width: | Height: | Size: 344 B |
|
Before Width: | Height: | Size: 412 B |
|
Before Width: | Height: | Size: 953 B |
|
Before Width: | Height: | Size: 658 B |
|
Before Width: | Height: | Size: 507 B |
|
Before Width: | Height: | Size: 958 B |
|
Before Width: | Height: | Size: 499 B |
|
Before Width: | Height: | Size: 493 B |
|
Before Width: | Height: | Size: 600 B |
|
Before Width: | Height: | Size: 617 B |
|
Before Width: | Height: | Size: 762 B |
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 807 B |
|
Before Width: | Height: | Size: 455 B |
|
Before Width: | Height: | Size: 346 B |
|
Before Width: | Height: | Size: 454 B |
|
Before Width: | Height: | Size: 476 B |
|
Before Width: | Height: | Size: 426 B |
|
Before Width: | Height: | Size: 643 B |
|
Before Width: | Height: | Size: 452 B |
|
Before Width: | Height: | Size: 517 B |
|
Before Width: | Height: | Size: 682 B |
|
Before Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 668 B |
|
Before Width: | Height: | Size: 347 B |
|
Before Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 480 B |
|
Before Width: | Height: | Size: 504 B |
|
Before Width: | Height: | Size: 476 B |
|
Before Width: | Height: | Size: 235 B |
|
Before Width: | Height: | Size: 447 B |
|
Before Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 477 B |
|
Before Width: | Height: | Size: 511 B |
|
Before Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 588 B |
|
Before Width: | Height: | Size: 503 B |
|
Before Width: | Height: | Size: 446 B |
|
Before Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 562 B |
|
Before Width: | Height: | Size: 688 B |
|
Before Width: | Height: | Size: 633 B |
|
Before Width: | Height: | Size: 652 B |
|
Before Width: | Height: | Size: 607 B |
|
Before Width: | Height: | Size: 327 B |
|
Before Width: | Height: | Size: 302 B |
|
Before Width: | Height: | Size: 295 B |
|
Before Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 282 B |
|
Before Width: | Height: | Size: 222 B |
|
Before Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 306 B |
|
Before Width: | Height: | Size: 263 B |
|
Before Width: | Height: | Size: 226 B |
|
Before Width: | Height: | Size: 272 B |
|
Before Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 582 B |
|
Before Width: | Height: | Size: 622 B |
|
Before Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 639 B |
|
Before Width: | Height: | Size: 632 B |
|
Before Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 660 B |
|
Before Width: | Height: | Size: 484 B |
|
Before Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 557 B |
|
Before Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 519 B |