contrib-aquarium 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -80
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/generate.js +1 -1
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mapping.d.ts +2 -1
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +4 -10
- package/dist/mapping.js.map +1 -1
- package/dist/render.d.ts +2 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +53 -48
- package/dist/render.js.map +1 -1
- package/dist/theme.d.ts +30 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +80 -0
- package/dist/theme.js.map +1 -0
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,41 +1,61 @@
|
|
|
1
1
|
# contrib-aquarium
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="docs/aquarium.svg" width="860" alt="Living SVG aquarium
|
|
4
|
+
<img src="docs/aquarium.svg" width="860" alt="Living SVG aquarium from webywz GitHub contributions" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://github.com/webywz/contrib-aquarium/actions/workflows/ci.yml"><img src="https://github.com/webywz/contrib-aquarium/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
9
9
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-c4a35a?labelColor=1b2a2e" alt="MIT" /></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/contrib-aquarium"><img src="https://img.shields.io/npm/v/contrib-aquarium?color=2a7a5c&labelColor=1b2a2e" alt="npm version" /></a>
|
|
10
11
|
<a href="https://www.npmjs.com/package/contrib-aquarium"><img src="https://img.shields.io/badge/npx-contrib--aquarium-2a7a5c?labelColor=1b2a2e" alt="npx contrib-aquarium" /></a>
|
|
11
12
|
</p>
|
|
12
13
|
|
|
13
14
|
<p align="center">
|
|
14
15
|
<strong>A living SVG aquarium driven by a GitHub contribution graph.</strong><br/>
|
|
15
|
-
Drop one image
|
|
16
|
+
Drop one image into a profile README. Activity becomes fish, kelp, bubbles, and water.
|
|
16
17
|
</p>
|
|
17
18
|
|
|
18
19
|
<p align="center">
|
|
19
|
-
|
|
20
|
+
<strong>由 GitHub 贡献日历驱动的活体 SVG 鱼缸。</strong><br/>
|
|
21
|
+
把一张图放进 README,提交就变成鱼、海藻、气泡和水纹。
|
|
20
22
|
</p>
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Self-contained SVG (CSS + SMIL) — no JavaScript in the embed, so GitHub can host it as a normal image. Dark water, brass rim; readable on light and dark themes.
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
自包含 SVG(CSS + SMIL),嵌入不需要 JS,可当普通图片用。暗水色 + 铜框,浅色 / 深色主题都站得住。
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
>
|
|
28
|
-
> v0.1.0 是第一版。发布到 npm 之前请 clone 本仓库,用 `npm run generate`。
|
|
28
|
+
`npx contrib-aquarium` · package `contrib-aquarium` · v0.1.1 · Node.js 18.18+
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Features · 特性
|
|
33
|
+
|
|
34
|
+
| | EN | 中文 |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| Mapping | Year total → fish count; streaks → kelp; last 14 days → bubbles | 全年总数 → 鱼数;连续打卡 → 海藻;近两周 → 气泡 |
|
|
37
|
+
| Sources | GraphQL calendar, public events, or deterministic mock | GraphQL 日历 / 公开 Events / 确定性 mock |
|
|
38
|
+
| Themes | `deep` · `reef` · `midnight` (palette only) | 三种配色,布局与映射不变 |
|
|
39
|
+
| Embed | Commit SVG, or refresh daily via composite Action | 提交 SVG,或用 Action 每日重画 |
|
|
40
|
+
| API | CLI + TypeScript library | CLI + 库 |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Install · 安装
|
|
33
45
|
|
|
34
46
|
```bash
|
|
35
47
|
npx contrib-aquarium generate --user YOUR_LOGIN --out aquarium.svg
|
|
48
|
+
|
|
49
|
+
# or globally
|
|
50
|
+
npm i -g contrib-aquarium
|
|
51
|
+
contrib-aquarium generate --user YOUR_LOGIN --out aquarium.svg
|
|
36
52
|
```
|
|
37
53
|
|
|
38
|
-
|
|
54
|
+
Token optional. Without one, public events or a username-hash mock still render — demos never go blank.
|
|
55
|
+
|
|
56
|
+
没有 token 也能跑:公开 Events 或按用户名哈希的演示日历会顶上,预览不会空。
|
|
57
|
+
|
|
58
|
+
From source:
|
|
39
59
|
|
|
40
60
|
```bash
|
|
41
61
|
git clone https://github.com/webywz/contrib-aquarium.git
|
|
@@ -44,97 +64,95 @@ npm install
|
|
|
44
64
|
npm run generate -- --user YOUR_LOGIN --out aquarium.svg
|
|
45
65
|
```
|
|
46
66
|
|
|
47
|
-
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Quick start · 快速开始
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# real calendar (needs token)
|
|
73
|
+
export GITHUB_TOKEN=ghp_...
|
|
74
|
+
npx contrib-aquarium generate --user webywz --out aquarium.svg
|
|
75
|
+
|
|
76
|
+
# recent public events only
|
|
77
|
+
npx contrib-aquarium generate --user webywz --source events --out aquarium.svg
|
|
78
|
+
|
|
79
|
+
# offline demo (byte-stable for a given UTC day)
|
|
80
|
+
npx contrib-aquarium generate --user webywz --source mock --out aquarium.svg
|
|
81
|
+
|
|
82
|
+
# theme
|
|
83
|
+
npx contrib-aquarium generate --user webywz --theme reef --out aquarium.svg
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
In a README:
|
|
48
87
|
|
|
49
88
|
```markdown
|
|
50
|
-
|
|
89
|
+
<p align="center">
|
|
90
|
+
<img src="aquarium.svg" width="860" alt="My contribution aquarium" />
|
|
91
|
+
</p>
|
|
51
92
|
```
|
|
52
93
|
|
|
53
|
-
|
|
94
|
+
Or a raw URL from another repo:
|
|
54
95
|
|
|
55
|
-
|
|
96
|
+
```markdown
|
|
97
|
+

|
|
98
|
+
```
|
|
56
99
|
|
|
57
100
|
---
|
|
58
101
|
|
|
59
102
|
## Data sources · 数据来源
|
|
60
103
|
|
|
61
|
-
`--source auto` (default) tries
|
|
104
|
+
`--source auto` (default) tries in order:
|
|
62
105
|
|
|
63
|
-
| Priority | Source |
|
|
106
|
+
| Priority | Source | Token | Result |
|
|
64
107
|
| --- | --- | --- | --- |
|
|
65
|
-
| 1 |
|
|
66
|
-
| 2 |
|
|
67
|
-
| 3 |
|
|
68
|
-
|
|
69
|
-
`--source graphql|events|mock` pins a single path.
|
|
70
|
-
|
|
71
|
-
`--source auto` 默认按上表回退。GraphQL 需要 token,拿到的是完整贡献日历;公开 Events 不需要 token,但只有最近活动;mock 用用户名哈希生成确定的假日历,离线 / CI / 演示保证出图。
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# real calendar
|
|
75
|
-
export GITHUB_TOKEN=ghp_...
|
|
76
|
-
npx contrib-aquarium generate --user webywz --out docs/aquarium.svg
|
|
108
|
+
| 1 | GraphQL `contributionsCollection` | yes (`--token`, `GITHUB_TOKEN`, or `GH_TOKEN`) | Full last-year calendar |
|
|
109
|
+
| 2 | Public events `GET /users/{login}/events/public` | no | Recent activity (~90 days retained) |
|
|
110
|
+
| 3 | Mock from username hash | no | Stable fake year for CI / demos / offline |
|
|
77
111
|
|
|
78
|
-
|
|
79
|
-
npx contrib-aquarium generate --user webywz --source events --out aquarium.svg
|
|
112
|
+
Pin a path with `--source graphql|events|mock`.
|
|
80
113
|
|
|
81
|
-
|
|
82
|
-
npx contrib-aquarium generate --user webywz --source mock --out aquarium.svg
|
|
83
|
-
```
|
|
114
|
+
`--source auto` 按上表回退。GraphQL 要 token,拿完整贡献日历;公开 Events 不要 token,只有最近活动;mock 用用户名哈希生成确定假日历,保证离线 / CI / 演示出图。
|
|
84
115
|
|
|
85
|
-
|
|
116
|
+
Fine-grained or classic PAT that can read public user data is enough. In Actions, `secrets.GITHUB_TOKEN` covers public calendars.
|
|
86
117
|
|
|
87
118
|
---
|
|
88
119
|
|
|
89
120
|
## How activity becomes an aquarium · 贡献如何变成鱼缸
|
|
90
121
|
|
|
91
|
-
| Signal | Becomes |
|
|
122
|
+
| Signal | Becomes · 变成 |
|
|
92
123
|
| --- | --- |
|
|
93
|
-
| Yearly contribution total | School size
|
|
94
|
-
| Busiest weeks | Larger koi /
|
|
95
|
-
| Current streak | Kelp height and count |
|
|
96
|
-
| Last 14 days | Bubble density |
|
|
97
|
-
| Each week's total | Pebble / reef bed
|
|
98
|
-
| Activity density |
|
|
124
|
+
| Yearly contribution total | School size 3–18 fish · 鱼数量 `round(3 + sqrt(total) × 0.48)` |
|
|
125
|
+
| Busiest weeks | Larger koi / centerpiece angelfish · 更大锦鲤 / 主鱼 |
|
|
126
|
+
| Current streak | Kelp height and count · 海藻高度与簇数 |
|
|
127
|
+
| Last 14 days | Bubble density · 气泡密度 |
|
|
128
|
+
| Each week's total | Pebble / reef bed · 沙地礁石起伏 |
|
|
129
|
+
| Activity density | Water and plant motion · 水纹与海藻摆动 |
|
|
99
130
|
|
|
100
|
-
Empty years still get a few wanderers.
|
|
131
|
+
Empty years still get a few wanderers. Same username + calendar snapshot → same tank.
|
|
101
132
|
|
|
102
|
-
|
|
103
|
-
| --- | --- |
|
|
104
|
-
| 全年贡献总数 | 鱼的数量(3–18)。`round(3 + sqrt(total) × 0.48)` |
|
|
105
|
-
| 最忙的几周 | 更大的锦鲤 / 一条主鱼(神仙鱼) |
|
|
106
|
-
| 当前连续提交 | 海藻高度与簇数 |
|
|
107
|
-
| 近 14 天 | 气泡密度 |
|
|
108
|
-
| 每周合计 | 沙地上的礁石起伏 |
|
|
109
|
-
| 活跃密度 | 水纹与海藻摆动幅度 |
|
|
133
|
+
空年份仍有几条游鱼。同一用户名 + 同一日历快照,画出同一座缸。
|
|
110
134
|
|
|
111
135
|
---
|
|
112
136
|
|
|
113
|
-
##
|
|
114
|
-
|
|
115
|
-
### 1. Commit a raw SVG
|
|
137
|
+
## Themes · 主题
|
|
116
138
|
|
|
117
|
-
|
|
139
|
+
`--theme` changes palette only — layout and activity mapping stay the same.
|
|
118
140
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
Same-repo relative paths work. For another repo use the raw URL:
|
|
141
|
+
| Name | Feel · 观感 |
|
|
142
|
+
| --- | --- |
|
|
143
|
+
| `deep` (default) | Classic dark teal · 默认深青 |
|
|
144
|
+
| `reef` | Warmer tropical water · 暖色珊瑚 |
|
|
145
|
+
| `midnight` | Violet night, neon accents · 午夜紫 |
|
|
126
146
|
|
|
127
|
-
```
|
|
128
|
-
|
|
147
|
+
```bash
|
|
148
|
+
npx contrib-aquarium generate --user YOUR_LOGIN --theme midnight --out aquarium.svg
|
|
129
149
|
```
|
|
130
150
|
|
|
131
|
-
|
|
151
|
+
---
|
|
132
152
|
|
|
133
|
-
|
|
153
|
+
## Embed daily · 每日嵌入
|
|
134
154
|
|
|
135
|
-
|
|
136
|
-
2. Uses this repo as a composite action
|
|
137
|
-
3. Commits `aquarium.svg` when the tank actually changed
|
|
155
|
+
Copy [`examples/github-action.yml`](examples/github-action.yml) into your **profile** repo (`USER/USER`) as `.github/workflows/aquarium.yml`. It runs on a daily cron + `workflow_dispatch`, uses this repo as a composite action, and commits `aquarium.svg` when the tank changed.
|
|
138
156
|
|
|
139
157
|
```yaml
|
|
140
158
|
- uses: webywz/contrib-aquarium@main
|
|
@@ -143,13 +161,11 @@ Copy [`examples/github-action.yml`](examples/github-action.yml) into your **prof
|
|
|
143
161
|
out: aquarium.svg
|
|
144
162
|
```
|
|
145
163
|
|
|
146
|
-
This project's
|
|
147
|
-
|
|
148
|
-
把 [`examples/github-action.yml`](examples/github-action.yml) 拷到个人主页仓库,每天会重画并提交 `aquarium.svg`。本仓库的 Action 则给 `webywz` 更新 [`docs/aquarium.svg`](docs/aquarium.svg)。
|
|
164
|
+
This project's demo refreshes the same way: [`.github/workflows/daily-aquarium.yml`](.github/workflows/daily-aquarium.yml) updates [`docs/aquarium.svg`](docs/aquarium.svg) for `webywz`.
|
|
149
165
|
|
|
150
|
-
|
|
166
|
+
把示例 workflow 拷到个人主页仓库即可每天重画。GitHub Camo may cache the README thumbnail briefly after a push; the file in the repo is current.
|
|
151
167
|
|
|
152
|
-
GitHub 的 Camo
|
|
168
|
+
GitHub 的 Camo 代理可能短暂缓存缩略图;仓库里的文件是新的。
|
|
153
169
|
|
|
154
170
|
---
|
|
155
171
|
|
|
@@ -158,14 +174,16 @@ GitHub 的 Camo 代理可能短暂缓存图片;仓库里的文件是新的,R
|
|
|
158
174
|
```
|
|
159
175
|
contrib-aquarium generate --user <login> [--out aquarium.svg]
|
|
160
176
|
[--source auto|graphql|events|mock]
|
|
177
|
+
[--theme deep|reef|midnight]
|
|
161
178
|
[--token <gh_token>]
|
|
162
179
|
```
|
|
163
180
|
|
|
164
181
|
| Flag | Default | |
|
|
165
182
|
| --- | --- | --- |
|
|
166
183
|
| `--user` | required | GitHub login |
|
|
167
|
-
| `--out` | `aquarium.svg` | Output path (
|
|
168
|
-
| `--source` | `auto` | See data sources
|
|
184
|
+
| `--out` | `aquarium.svg` | Output path (dirs created) |
|
|
185
|
+
| `--source` | `auto` | See data sources |
|
|
186
|
+
| `--theme` | `deep` | `deep` · `reef` · `midnight` |
|
|
169
187
|
| `--token` | `$GITHUB_TOKEN` / `$GH_TOKEN` | GraphQL auth |
|
|
170
188
|
|
|
171
189
|
```bash
|
|
@@ -177,7 +195,7 @@ npm run lint
|
|
|
177
195
|
|
|
178
196
|
---
|
|
179
197
|
|
|
180
|
-
## Library
|
|
198
|
+
## Library · 库
|
|
181
199
|
|
|
182
200
|
```ts
|
|
183
201
|
import { generateAquarium, renderAquarium, mockActivity } from "contrib-aquarium";
|
|
@@ -185,16 +203,20 @@ import { generateAquarium, renderAquarium, mockActivity } from "contrib-aquarium
|
|
|
185
203
|
const { svg, activity } = await generateAquarium({
|
|
186
204
|
user: "webywz",
|
|
187
205
|
source: "auto",
|
|
206
|
+
theme: "reef",
|
|
188
207
|
});
|
|
189
208
|
|
|
190
|
-
// or draw a fixture
|
|
191
209
|
const svgFromMock = renderAquarium(mockActivity("webywz", new Date("2026-10-29")));
|
|
192
210
|
```
|
|
193
211
|
|
|
194
|
-
|
|
212
|
+
Also exported: `loadActivity`, `fetchGraphqlActivity`, `fetchEventsActivity`, `getTheme`, `parseTheme`, `THEME_NAMES`, and size helpers. Types ship with the package.
|
|
213
|
+
|
|
214
|
+
另导出活动加载、主题解析与尺寸常量;TypeScript 类型随包发布。
|
|
195
215
|
|
|
196
216
|
---
|
|
197
217
|
|
|
198
|
-
##
|
|
218
|
+
## Links · 链接
|
|
199
219
|
|
|
200
|
-
[
|
|
220
|
+
- npm: [contrib-aquarium](https://www.npmjs.com/package/contrib-aquarium)
|
|
221
|
+
- Live on profile: [webywz/webywz](https://github.com/webywz/webywz)
|
|
222
|
+
- License: [MIT](LICENSE)
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
3
3
|
import { dirname, resolve } from "node:path";
|
|
4
4
|
import { generateAquarium } from "./generate.js";
|
|
5
|
+
import { parseTheme } from "./theme.js";
|
|
5
6
|
import { readPackageVersion } from "./util.js";
|
|
6
7
|
function parseArgs(argv) {
|
|
7
8
|
const args = argv.slice(2);
|
|
@@ -40,12 +41,14 @@ Turn a GitHub year into a living SVG aquarium.
|
|
|
40
41
|
Usage:
|
|
41
42
|
contrib-aquarium generate --user <login> [--out aquarium.svg]
|
|
42
43
|
[--source auto|graphql|events|mock]
|
|
44
|
+
[--theme deep|reef|midnight]
|
|
43
45
|
[--token <gh_token>]
|
|
44
46
|
|
|
45
47
|
Options:
|
|
46
48
|
--user GitHub login (required)
|
|
47
49
|
--out Output path (default: aquarium.svg)
|
|
48
50
|
--source auto (default), graphql, events, or mock
|
|
51
|
+
--theme Color theme: deep (default), reef, or midnight
|
|
49
52
|
--token GitHub token; falls back to GITHUB_TOKEN / GH_TOKEN
|
|
50
53
|
--help Show this message
|
|
51
54
|
--version Print version
|
|
@@ -98,14 +101,16 @@ async function run(argv) {
|
|
|
98
101
|
}
|
|
99
102
|
const out = resolve(asString(flags.out) ?? "aquarium.svg");
|
|
100
103
|
try {
|
|
104
|
+
const theme = parseTheme(asString(flags.theme));
|
|
101
105
|
const { svg, activity } = await generateAquarium({
|
|
102
106
|
user,
|
|
103
107
|
token: asString(flags.token),
|
|
104
108
|
source: parseSource(flags.source),
|
|
109
|
+
theme,
|
|
105
110
|
});
|
|
106
111
|
await mkdir(dirname(out), { recursive: true });
|
|
107
112
|
await writeFile(out, svg, "utf8");
|
|
108
|
-
console.error(`contrib-aquarium · ${activity.login} · source=${activity.source} · ${activity.totalContributions} contributions`);
|
|
113
|
+
console.error(`contrib-aquarium · ${activity.login} · source=${activity.source} · theme=${theme} · ${activity.totalContributions} contributions`);
|
|
109
114
|
console.error(`wrote ${out}`);
|
|
110
115
|
return 0;
|
|
111
116
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK/C,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClB,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,IAAI;IACX,OAAO,oBAAoB,kBAAkB,EAAE
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.js
CHANGED
|
@@ -2,7 +2,7 @@ import { loadActivity } from "./activity.js";
|
|
|
2
2
|
import { renderAquarium } from "./render.js";
|
|
3
3
|
export async function generateAquarium(options) {
|
|
4
4
|
const activity = await loadActivity(options);
|
|
5
|
-
const svg = renderAquarium(activity);
|
|
5
|
+
const svg = renderAquarium(activity, options.theme ?? "deep");
|
|
6
6
|
return { svg, activity };
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=generate.js.map
|
package/dist/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAC9D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { renderAquarium, SVG_WIDTH, SVG_HEIGHT, countSvgElements } from "./rende
|
|
|
4
4
|
export { mapAquarium, mapFishCount, mapPlantCount, mapBubbleCount, currentStreak, recentTotal, flattenDays, } from "./mapping.js";
|
|
5
5
|
export type { Activity, AquariumModel, ContributionDay, ContributionWeek, DataSource, GenerateOptions, GenerateResult, LoadOptions, LoadSource, } from "./types.js";
|
|
6
6
|
export { FISH_MIN, FISH_MAX, PLANT_MIN, PLANT_MAX, BUBBLE_MIN, BUBBLE_MAX } from "./types.js";
|
|
7
|
+
export { getTheme, parseTheme, THEME_NAMES } from "./theme.js";
|
|
8
|
+
export type { Theme, ThemeName } from "./theme.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { loadActivity, mockActivity, fetchGraphqlActivity, fetchEventsActivity,
|
|
|
3
3
|
export { renderAquarium, SVG_WIDTH, SVG_HEIGHT, countSvgElements } from "./render.js";
|
|
4
4
|
export { mapAquarium, mapFishCount, mapPlantCount, mapBubbleCount, currentStreak, recentTotal, flattenDays, } from "./mapping.js";
|
|
5
5
|
export { FISH_MIN, FISH_MAX, PLANT_MIN, PLANT_MAX, BUBBLE_MIN, BUBBLE_MAX } from "./types.js";
|
|
6
|
+
export { getTheme, parseTheme, THEME_NAMES } from "./theme.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAYtB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAYtB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/mapping.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Activity, type AquariumModel, type ContributionDay } from "./types.js";
|
|
2
|
+
import { type ThemeName } from "./theme.js";
|
|
2
3
|
export declare function flattenDays(activity: Activity): ContributionDay[];
|
|
3
4
|
/**
|
|
4
5
|
* Map yearly totals onto a readable school size.
|
|
@@ -15,5 +16,5 @@ export declare function mapBubbleCount(recent14Total: number): number;
|
|
|
15
16
|
*/
|
|
16
17
|
export declare function currentStreak(days: ContributionDay[], todayIso?: string): number;
|
|
17
18
|
export declare function recentTotal(days: ContributionDay[], window?: number): number;
|
|
18
|
-
export declare function mapAquarium(activity: Activity): AquariumModel;
|
|
19
|
+
export declare function mapAquarium(activity: Activity, themeName?: ThemeName): AquariumModel;
|
|
19
20
|
//# sourceMappingURL=mapping.d.ts.map
|
package/dist/mapping.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,QAAQ,EACb,KAAK,aAAa,EAElB,KAAK,eAAe,EAKrB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,QAAQ,EACb,KAAK,aAAa,EAElB,KAAK,eAAe,EAKrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAGlE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,eAAe,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAeR;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,SAAK,GAAG,MAAM,CAGxE;AAYD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAE,SAAkB,GAAG,aAAa,CAmH5F"}
|
package/dist/mapping.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { BUBBLE_MAX, BUBBLE_MIN, FISH_MAX, FISH_MIN, PLANT_MAX, PLANT_MIN, } from "./types.js";
|
|
2
|
+
import { getTheme } from "./theme.js";
|
|
2
3
|
import { clamp, hashString, lerp, mulberry32, pick } from "./util.js";
|
|
3
|
-
const PALETTES = [
|
|
4
|
-
{ body: "#e6c07b", accent: "#c46b4a" },
|
|
5
|
-
{ body: "#d9a441", accent: "#b87333" },
|
|
6
|
-
{ body: "#5fa8a3", accent: "#2f6f74" },
|
|
7
|
-
{ body: "#c5d4d1", accent: "#7f9996" },
|
|
8
|
-
{ body: "#d4896a", accent: "#9e4d3c" },
|
|
9
|
-
{ body: "#7eb3c9", accent: "#3d6f88" },
|
|
10
|
-
];
|
|
11
4
|
export function flattenDays(activity) {
|
|
12
5
|
return activity.weeks.flatMap((week) => week.days);
|
|
13
6
|
}
|
|
@@ -70,7 +63,8 @@ function speciesForRank(rank, intensity, rng) {
|
|
|
70
63
|
return "koi";
|
|
71
64
|
return "tetra";
|
|
72
65
|
}
|
|
73
|
-
export function mapAquarium(activity) {
|
|
66
|
+
export function mapAquarium(activity, themeName = "deep") {
|
|
67
|
+
const theme = getTheme(themeName);
|
|
74
68
|
const days = flattenDays(activity);
|
|
75
69
|
const dayCount = Math.max(days.length, 1);
|
|
76
70
|
const activeDays = days.filter((day) => day.count > 0).length;
|
|
@@ -106,7 +100,7 @@ export function mapAquarium(activity) {
|
|
|
106
100
|
y = 56 + rng() * 168;
|
|
107
101
|
}
|
|
108
102
|
usedY.push(y);
|
|
109
|
-
const palette = pick(rng,
|
|
103
|
+
const palette = pick(rng, theme.fish);
|
|
110
104
|
const duration = lerp(18, 9, turbulence) + rng() * 8 + size * 0.18;
|
|
111
105
|
fish.push({
|
|
112
106
|
id: i,
|
package/dist/mapping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GASV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GASV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAA8B,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAY,MAAM,WAAW,CAAC;AAEhF,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,kBAA0B;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CACV,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,EAC3D,QAAQ,EACR,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,cAAsB;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,KAAK,CACV,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EACtD,SAAS,EACT,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,QAAiB;IAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;IACpC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAC9D,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAAE,MAAM;QAChC,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,MAAM,GAAG,EAAE;IAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB;IACtC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,SAAiB,EAAE,GAAQ;IAC/D,IAAI,IAAI,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAkB,EAAE,YAAuB,MAAM;IAC3E,MAAM,KAAK,GAAU,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CACtB,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,EACzD,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,UAAU,CACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAC7G,CAAC;IACF,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAEzC,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,OAAO,KAAK,OAAO;YACjB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,KAAK,KAAK;gBACjB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,QAAQ,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAAE,MAAM;YAC5D,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,CAAC;YACL,OAAO;YACP,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,CAAC;YACD,QAAQ;YACR,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ;YACvB,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG;YACtB,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG;YACpB,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG;YACvB,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,CAAC;YACL,CAAC;YACD,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC;YACrD,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;YAChB,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG;YAC3B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE;YACvC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG;YACpB,QAAQ,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;YACvB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;YACjB,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC;IACjB,MAAM,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;QACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;QACjC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI;KAC5C,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,IAAI;QACJ,UAAU;QACV,MAAM;QACN,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC"}
|
package/dist/render.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { type ThemeName } from "./theme.js";
|
|
1
2
|
import type { Activity } from "./types.js";
|
|
2
3
|
export declare const SVG_WIDTH = 860;
|
|
3
4
|
export declare const SVG_HEIGHT = 300;
|
|
4
|
-
export declare function renderAquarium(activity: Activity): string;
|
|
5
|
+
export declare function renderAquarium(activity: Activity, themeName?: ThemeName): string;
|
|
5
6
|
export declare function countSvgElements(svg: string, kind: "fish" | "plant" | "bubble"): number;
|
|
6
7
|
//# sourceMappingURL=render.d.ts.map
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAMT,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,UAAU,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EACV,QAAQ,EAMT,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,UAAU,MAAM,CAAC;AA+Q9B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAE,SAAkB,GAAG,MAAM,CA6CxF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAGvF"}
|
package/dist/render.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mapAquarium } from "./mapping.js";
|
|
2
|
+
import { getTheme } from "./theme.js";
|
|
2
3
|
import { escapeXml, formatRange } from "./util.js";
|
|
3
4
|
export const SVG_WIDTH = 860;
|
|
4
5
|
export const SVG_HEIGHT = 300;
|
|
5
|
-
const KELP = ["#1a4f40", "#227056", "#163e34", "#2a7a5c"];
|
|
6
6
|
function fmt(n, digits = 2) {
|
|
7
7
|
return n.toFixed(digits).replace(/\.?0+$/, "");
|
|
8
8
|
}
|
|
@@ -75,8 +75,8 @@ function bladePath(x, height, lean, width) {
|
|
|
75
75
|
Q ${fmt(x + lean, 1)} ${fmt(top + 8, 1)} ${fmt(x + lean * 0.2, 1)} ${fmt(top, 1)}
|
|
76
76
|
Q ${fmt(x + lean * 0.55 + width, 1)} ${fmt(268 - height * 0.62, 1)} ${fmt(x + width * 0.35, 1)} 268 Z`;
|
|
77
77
|
}
|
|
78
|
-
function drawPlant(plant) {
|
|
79
|
-
const color =
|
|
78
|
+
function drawPlant(plant, theme) {
|
|
79
|
+
const color = theme.kelp[plant.palette % theme.kelp.length];
|
|
80
80
|
const blades = [];
|
|
81
81
|
for (let i = 0; i < plant.blades; i++) {
|
|
82
82
|
const lean = (i - (plant.blades - 1) / 2) * 16 + (i % 2 === 0 ? 6 : -4);
|
|
@@ -92,16 +92,16 @@ function drawBubble(bubble) {
|
|
|
92
92
|
<circle cx="${fmt(bubble.x - bubble.r * 0.28, 1)}" cy="${fmt(bubble.startY - bubble.r * 0.3, 1)}" r="${fmt(Math.max(0.4, bubble.r * 0.28), 2)}" fill="rgba(255,255,255,0.45)"/>
|
|
93
93
|
</g>`;
|
|
94
94
|
}
|
|
95
|
-
function drawReef(columns) {
|
|
95
|
+
function drawReef(columns, theme) {
|
|
96
96
|
return columns
|
|
97
97
|
.map((col) => {
|
|
98
98
|
const cx = col.x + col.width / 2;
|
|
99
99
|
const pebbles = [
|
|
100
|
-
`<ellipse cx="${fmt(cx, 2)}" cy="264.5" rx="${fmt(Math.max(2.2, col.width * 0.72), 2)}" ry="${fmt(Math.max(2, col.height * 0.34), 2)}" fill="
|
|
101
|
-
`<ellipse cx="${fmt(cx + col.width * 0.18, 2)}" cy="${fmt(263.2 - col.height * 0.22, 2)}" rx="${fmt(Math.max(1.4, col.width * 0.4), 2)}" ry="${fmt(Math.max(1.5, col.height * 0.28), 2)}" fill="
|
|
100
|
+
`<ellipse cx="${fmt(cx, 2)}" cy="264.5" rx="${fmt(Math.max(2.2, col.width * 0.72), 2)}" ry="${fmt(Math.max(2, col.height * 0.34), 2)}" fill="${theme.reef[0]}"/>`,
|
|
101
|
+
`<ellipse cx="${fmt(cx + col.width * 0.18, 2)}" cy="${fmt(263.2 - col.height * 0.22, 2)}" rx="${fmt(Math.max(1.4, col.width * 0.4), 2)}" ry="${fmt(Math.max(1.5, col.height * 0.28), 2)}" fill="${theme.reef[1]}"/>`,
|
|
102
102
|
];
|
|
103
103
|
if (col.height > 12) {
|
|
104
|
-
pebbles.push(`<ellipse cx="${fmt(cx - col.width * 0.12, 2)}" cy="${fmt(261.5 - col.height * 0.42, 2)}" rx="${fmt(col.width * 0.28, 2)}" ry="${fmt(col.height * 0.22, 2)}" fill="
|
|
104
|
+
pebbles.push(`<ellipse cx="${fmt(cx - col.width * 0.12, 2)}" cy="${fmt(261.5 - col.height * 0.42, 2)}" rx="${fmt(col.width * 0.28, 2)}" ry="${fmt(col.height * 0.22, 2)}" fill="${theme.reef[2]}"/>`);
|
|
105
105
|
}
|
|
106
106
|
return `<g opacity="${fmt(col.opacity, 2)}">${pebbles.join("")}</g>`;
|
|
107
107
|
})
|
|
@@ -114,7 +114,7 @@ function sourceNote(source) {
|
|
|
114
114
|
return "seeded from public events";
|
|
115
115
|
return "demo pattern from username";
|
|
116
116
|
}
|
|
117
|
-
function caption(activity, model) {
|
|
117
|
+
function caption(activity, model, theme) {
|
|
118
118
|
const login = escapeXml(activity.login.toUpperCase());
|
|
119
119
|
const tracking = activity.login.length > 16 ? "0.08em" : "0.22em";
|
|
120
120
|
const total = activity.totalContributions.toLocaleString("en-US");
|
|
@@ -123,37 +123,39 @@ function caption(activity, model) {
|
|
|
123
123
|
const extras = model.streak > 1 ? ` · ${model.streak}-day streak` : "";
|
|
124
124
|
const sourceLabel = activity.source === "graphql"
|
|
125
125
|
? ""
|
|
126
|
-
: `<text x="828" y="32" fill="
|
|
126
|
+
: `<text x="828" y="32" fill="${theme.caption.note}" font-size="8" font-family="Georgia, serif" text-anchor="end">${note}</text>`;
|
|
127
127
|
return `
|
|
128
|
-
<text x="32" y="268" fill="
|
|
129
|
-
<text x="32" y="282" fill="
|
|
128
|
+
<text x="32" y="268" fill="${theme.caption.title}" font-size="13" font-family="Palatino, 'Palatino Linotype', 'Book Antiqua', Georgia, serif" letter-spacing="${tracking}">${login}</text>
|
|
129
|
+
<text x="32" y="282" fill="${theme.caption.meta}" font-size="9.5" font-family="Georgia, 'Iowan Old Style', serif">${total} contributions · ${range}${extras}</text>
|
|
130
130
|
${sourceLabel}`;
|
|
131
131
|
}
|
|
132
|
-
function defs() {
|
|
132
|
+
function defs(theme) {
|
|
133
|
+
const [w0, w1, w2] = theme.water;
|
|
134
|
+
const [s0, s1] = theme.sand;
|
|
133
135
|
return `<defs>
|
|
134
136
|
<linearGradient id="water" x1="0" y1="0" x2="0" y2="1">
|
|
135
|
-
<stop offset="0%" stop-color="
|
|
136
|
-
<stop offset="38%" stop-color="
|
|
137
|
-
<stop offset="100%" stop-color="
|
|
137
|
+
<stop offset="0%" stop-color="${w0}"/>
|
|
138
|
+
<stop offset="38%" stop-color="${w1}"/>
|
|
139
|
+
<stop offset="100%" stop-color="${w2}"/>
|
|
138
140
|
</linearGradient>
|
|
139
141
|
<radialGradient id="glow" cx="46%" cy="8%" r="72%">
|
|
140
|
-
<stop offset="0%" stop-color="
|
|
141
|
-
<stop offset="42%" stop-color="
|
|
142
|
+
<stop offset="0%" stop-color="${theme.glow.color}" stop-opacity="0.38"/>
|
|
143
|
+
<stop offset="42%" stop-color="${theme.glow.mid}" stop-opacity="0.12"/>
|
|
142
144
|
<stop offset="100%" stop-color="#061018" stop-opacity="0"/>
|
|
143
145
|
</radialGradient>
|
|
144
146
|
<linearGradient id="sand" x1="0" y1="0" x2="0" y2="1">
|
|
145
|
-
<stop offset="0%" stop-color="
|
|
146
|
-
<stop offset="100%" stop-color="
|
|
147
|
+
<stop offset="0%" stop-color="${s0}"/>
|
|
148
|
+
<stop offset="100%" stop-color="${s1}"/>
|
|
147
149
|
</linearGradient>
|
|
148
150
|
<linearGradient id="film" x1="0" y1="0" x2="0" y2="1">
|
|
149
|
-
<stop offset="0%" stop-color="
|
|
150
|
-
<stop offset="100%" stop-color="
|
|
151
|
+
<stop offset="0%" stop-color="${theme.film}" stop-opacity="0.28"/>
|
|
152
|
+
<stop offset="100%" stop-color="${theme.film}" stop-opacity="0"/>
|
|
151
153
|
</linearGradient>
|
|
152
154
|
<linearGradient id="glass" x1="0" y1="0" x2="1" y2="0">
|
|
153
|
-
<stop offset="0%" stop-color="
|
|
154
|
-
<stop offset="18%" stop-color="
|
|
155
|
-
<stop offset="82%" stop-color="
|
|
156
|
-
<stop offset="100%" stop-color="
|
|
155
|
+
<stop offset="0%" stop-color="${theme.glass}" stop-opacity="0.16"/>
|
|
156
|
+
<stop offset="18%" stop-color="${theme.glass}" stop-opacity="0"/>
|
|
157
|
+
<stop offset="82%" stop-color="${theme.glass}" stop-opacity="0"/>
|
|
158
|
+
<stop offset="100%" stop-color="${theme.glass}" stop-opacity="0.12"/>
|
|
157
159
|
</linearGradient>
|
|
158
160
|
<filter id="soft" x="-8%" y="-8%" width="116%" height="116%">
|
|
159
161
|
<feGaussianBlur stdDeviation="0.4" result="b"/>
|
|
@@ -216,26 +218,28 @@ function styles(model) {
|
|
|
216
218
|
}
|
|
217
219
|
</style>`;
|
|
218
220
|
}
|
|
219
|
-
function rocks() {
|
|
221
|
+
function rocks(theme) {
|
|
222
|
+
const [a, b, c] = theme.rock;
|
|
220
223
|
return `
|
|
221
|
-
<ellipse cx="118" cy="266" rx="38" ry="11" fill="
|
|
222
|
-
<ellipse cx="108" cy="258" rx="22" ry="14" fill="
|
|
223
|
-
<ellipse cx="132" cy="260" rx="14" ry="9" fill="
|
|
224
|
-
<ellipse cx="742" cy="268" rx="46" ry="12" fill="
|
|
225
|
-
<ellipse cx="728" cy="258" rx="20" ry="13" fill="
|
|
226
|
-
<ellipse cx="758" cy="261" rx="16" ry="10" fill="
|
|
227
|
-
<ellipse cx="430" cy="270" rx="18" ry="6" fill="
|
|
224
|
+
<ellipse cx="118" cy="266" rx="38" ry="11" fill="${a}" opacity="0.85"/>
|
|
225
|
+
<ellipse cx="108" cy="258" rx="22" ry="14" fill="${b}"/>
|
|
226
|
+
<ellipse cx="132" cy="260" rx="14" ry="9" fill="${c}"/>
|
|
227
|
+
<ellipse cx="742" cy="268" rx="46" ry="12" fill="${a}" opacity="0.8"/>
|
|
228
|
+
<ellipse cx="728" cy="258" rx="20" ry="13" fill="${b}"/>
|
|
229
|
+
<ellipse cx="758" cy="261" rx="16" ry="10" fill="${c}"/>
|
|
230
|
+
<ellipse cx="430" cy="270" rx="18" ry="6" fill="${b}" opacity="0.7"/>`;
|
|
228
231
|
}
|
|
229
|
-
function rays() {
|
|
232
|
+
function rays(theme) {
|
|
233
|
+
const [r0, r1, r2] = theme.ray;
|
|
230
234
|
return `
|
|
231
235
|
<g class="ray" opacity="0.14">
|
|
232
|
-
<polygon points="210,12 268,12 318,268 168,268" fill="
|
|
236
|
+
<polygon points="210,12 268,12 318,268 168,268" fill="${r0}"/>
|
|
233
237
|
</g>
|
|
234
238
|
<g class="ray" opacity="0.1" style="animation-delay:-2.4s">
|
|
235
|
-
<polygon points="470,12 510,12 548,268 430,268" fill="
|
|
239
|
+
<polygon points="470,12 510,12 548,268 430,268" fill="${r1}"/>
|
|
236
240
|
</g>
|
|
237
241
|
<g class="ray" opacity="0.08" style="animation-delay:-4.1s">
|
|
238
|
-
<polygon points="620,12 648,12 700,268 560,268" fill="
|
|
242
|
+
<polygon points="620,12 648,12 700,268 560,268" fill="${r2}"/>
|
|
239
243
|
</g>`;
|
|
240
244
|
}
|
|
241
245
|
function surface() {
|
|
@@ -248,33 +252,34 @@ function surface() {
|
|
|
248
252
|
</path>
|
|
249
253
|
<path class="shimmer" fill="none" stroke="rgba(186,232,228,0.45)" stroke-width="1.1" d="M24,22 Q140,14 250,24 T480,20 T836,26"/>`;
|
|
250
254
|
}
|
|
251
|
-
export function renderAquarium(activity) {
|
|
252
|
-
const
|
|
255
|
+
export function renderAquarium(activity, themeName = "deep") {
|
|
256
|
+
const theme = getTheme(themeName);
|
|
257
|
+
const model = mapAquarium(activity, themeName);
|
|
253
258
|
const label = escapeXml(`GitHub contribution aquarium for ${activity.login} — ${activity.totalContributions} contributions`);
|
|
254
259
|
const plantsBack = model.plants
|
|
255
260
|
.filter((_, i) => i % 2 === 0)
|
|
256
|
-
.map(drawPlant)
|
|
261
|
+
.map((p) => drawPlant(p, theme))
|
|
257
262
|
.join("");
|
|
258
263
|
const plantsFront = model.plants
|
|
259
264
|
.filter((_, i) => i % 2 === 1)
|
|
260
|
-
.map(drawPlant)
|
|
265
|
+
.map((p) => drawPlant(p, theme))
|
|
261
266
|
.join("");
|
|
262
267
|
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
263
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="${SVG_WIDTH}" height="${SVG_HEIGHT}" viewBox="0 0 ${SVG_WIDTH} ${SVG_HEIGHT}" role="img" aria-label="${label}" data-user="${escapeXml(activity.login)}" data-source="${activity.source}" data-total="${activity.totalContributions}">
|
|
268
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="${SVG_WIDTH}" height="${SVG_HEIGHT}" viewBox="0 0 ${SVG_WIDTH} ${SVG_HEIGHT}" role="img" aria-label="${label}" data-user="${escapeXml(activity.login)}" data-source="${activity.source}" data-total="${activity.totalContributions}" data-theme="${theme.name}">
|
|
264
269
|
<title>${label}</title>
|
|
265
|
-
${defs()}
|
|
270
|
+
${defs(theme)}
|
|
266
271
|
${styles(model)}
|
|
267
|
-
<rect width="${SVG_WIDTH}" height="${SVG_HEIGHT}" rx="24" fill="
|
|
272
|
+
<rect width="${SVG_WIDTH}" height="${SVG_HEIGHT}" rx="24" fill="${theme.water[2]}"/>
|
|
268
273
|
<g clip-path="url(#tank)">
|
|
269
274
|
<rect x="10" y="10" width="840" height="280" fill="url(#water)"/>
|
|
270
275
|
<rect x="10" y="10" width="840" height="280" fill="url(#glow)"/>
|
|
271
|
-
${rays()}
|
|
276
|
+
${rays(theme)}
|
|
272
277
|
<rect x="10" y="10" width="840" height="280" filter="url(#haze)" opacity="0.55"/>
|
|
273
278
|
${plantsBack}
|
|
274
279
|
<path d="M10,252 C80,246 160,258 250,250 C360,240 470,258 560,249 C670,238 760,256 850,248 L850,290 L10,290 Z" fill="url(#sand)"/>
|
|
275
280
|
<path d="M10,252 C80,246 160,258 250,250 C360,240 470,258 560,249 C670,238 760,256 850,248" fill="none" stroke="rgba(210,190,150,0.22)" stroke-width="1.2"/>
|
|
276
|
-
${drawReef(model.reef)}
|
|
277
|
-
${rocks()}
|
|
281
|
+
${drawReef(model.reef, theme)}
|
|
282
|
+
${rocks(theme)}
|
|
278
283
|
<g filter="url(#soft)">
|
|
279
284
|
${model.fish.map(drawFish).join("")}
|
|
280
285
|
</g>
|
|
@@ -282,7 +287,7 @@ export function renderAquarium(activity) {
|
|
|
282
287
|
${model.bubbles.map(drawBubble).join("")}
|
|
283
288
|
${surface()}
|
|
284
289
|
<rect x="10" y="10" width="840" height="280" fill="url(#glass)"/>
|
|
285
|
-
${caption(activity, model)}
|
|
290
|
+
${caption(activity, model, theme)}
|
|
286
291
|
</g>
|
|
287
292
|
<rect x="10.6" y="10.6" width="838.8" height="278.8" rx="21" fill="none" stroke="rgba(198,176,122,0.55)" stroke-width="1.4"/>
|
|
288
293
|
<rect x="13" y="13" width="834" height="274" rx="19" fill="none" stroke="rgba(214,236,232,0.16)" stroke-width="0.8"/>
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const THEME_NAMES: readonly ["deep", "reef", "midnight"];
|
|
2
|
+
export type ThemeName = (typeof THEME_NAMES)[number];
|
|
3
|
+
export type Theme = {
|
|
4
|
+
name: ThemeName;
|
|
5
|
+
/** Water gradient stops top → bottom */
|
|
6
|
+
water: [string, string, string];
|
|
7
|
+
glow: {
|
|
8
|
+
color: string;
|
|
9
|
+
mid: string;
|
|
10
|
+
};
|
|
11
|
+
sand: [string, string];
|
|
12
|
+
film: string;
|
|
13
|
+
glass: string;
|
|
14
|
+
kelp: readonly [string, string, string, string];
|
|
15
|
+
fish: readonly {
|
|
16
|
+
body: string;
|
|
17
|
+
accent: string;
|
|
18
|
+
}[];
|
|
19
|
+
caption: {
|
|
20
|
+
title: string;
|
|
21
|
+
meta: string;
|
|
22
|
+
note: string;
|
|
23
|
+
};
|
|
24
|
+
ray: readonly [string, string, string];
|
|
25
|
+
rock: readonly [string, string, string];
|
|
26
|
+
reef: readonly [string, string, string];
|
|
27
|
+
};
|
|
28
|
+
export declare function parseTheme(value: string | undefined): ThemeName;
|
|
29
|
+
export declare function getTheme(name?: ThemeName): Theme;
|
|
30
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,uCAAwC,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,wCAAwC;IACxC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,CAAC;AA0EF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAQ/D;AAED,wBAAgB,QAAQ,CAAC,IAAI,GAAE,SAAkB,GAAG,KAAK,CAExD"}
|
package/dist/theme.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const THEME_NAMES = ["deep", "reef", "midnight"];
|
|
2
|
+
const DEEP = {
|
|
3
|
+
name: "deep",
|
|
4
|
+
water: ["#163e4c", "#0c2c38", "#07141c"],
|
|
5
|
+
glow: { color: "#2a7a86", mid: "#123844" },
|
|
6
|
+
sand: ["#5a4a36", "#2c241a"],
|
|
7
|
+
film: "#8fd0d4",
|
|
8
|
+
glass: "#d4f0f2",
|
|
9
|
+
kelp: ["#1a4f40", "#227056", "#163e34", "#2a7a5c"],
|
|
10
|
+
fish: [
|
|
11
|
+
{ body: "#e6c07b", accent: "#c46b4a" },
|
|
12
|
+
{ body: "#d9a441", accent: "#b87333" },
|
|
13
|
+
{ body: "#5fa8a3", accent: "#2f6f74" },
|
|
14
|
+
{ body: "#c5d4d1", accent: "#7f9996" },
|
|
15
|
+
{ body: "#d4896a", accent: "#9e4d3c" },
|
|
16
|
+
{ body: "#7eb3c9", accent: "#3d6f88" },
|
|
17
|
+
],
|
|
18
|
+
caption: { title: "#d5e6df", meta: "#9bb8b0", note: "rgba(186,214,208,0.55)" },
|
|
19
|
+
ray: ["#7ec8c4", "#9ad4c8", "#7eb8c2"],
|
|
20
|
+
rock: ["#2a241c", "#3a3228", "#4a4034"],
|
|
21
|
+
reef: ["#6a5844", "#8d7860", "#a89070"],
|
|
22
|
+
};
|
|
23
|
+
const REEF = {
|
|
24
|
+
name: "reef",
|
|
25
|
+
water: ["#1a5f6e", "#0e3d4a", "#082028"],
|
|
26
|
+
glow: { color: "#3cb8a8", mid: "#1a5a58" },
|
|
27
|
+
sand: ["#c4a574", "#6b5338"],
|
|
28
|
+
film: "#a8e8e0",
|
|
29
|
+
glass: "#e8fff8",
|
|
30
|
+
kelp: ["#1f6b4a", "#2d8f62", "#145238", "#3aa870"],
|
|
31
|
+
fish: [
|
|
32
|
+
{ body: "#ff8f6b", accent: "#e04870" },
|
|
33
|
+
{ body: "#ffd166", accent: "#f08a24" },
|
|
34
|
+
{ body: "#06d6a0", accent: "#118ab2" },
|
|
35
|
+
{ body: "#ef476f", accent: "#9b2226" },
|
|
36
|
+
{ body: "#4cc9f0", accent: "#4361ee" },
|
|
37
|
+
{ body: "#f4a261", accent: "#e76f51" },
|
|
38
|
+
],
|
|
39
|
+
caption: { title: "#e8fff6", meta: "#a8d4c8", note: "rgba(168,232,220,0.6)" },
|
|
40
|
+
ray: ["#7ef0d8", "#ffe08a", "#ff9eb5"],
|
|
41
|
+
rock: ["#5c4030", "#7a5640", "#9a7050"],
|
|
42
|
+
reef: ["#8b6914", "#b8860b", "#daa520"],
|
|
43
|
+
};
|
|
44
|
+
const MIDNIGHT = {
|
|
45
|
+
name: "midnight",
|
|
46
|
+
water: ["#1a1430", "#0e0a1c", "#05040c"],
|
|
47
|
+
glow: { color: "#6b5b95", mid: "#2a2048" },
|
|
48
|
+
sand: ["#2a2438", "#12101a"],
|
|
49
|
+
film: "#a89cc8",
|
|
50
|
+
glass: "#d4c8f0",
|
|
51
|
+
kelp: ["#2a3850", "#3a4a68", "#1e2838", "#4a6080"],
|
|
52
|
+
fish: [
|
|
53
|
+
{ body: "#c9b6e4", accent: "#7b5ea7" },
|
|
54
|
+
{ body: "#90e0ef", accent: "#48bfe3" },
|
|
55
|
+
{ body: "#f72585", accent: "#b5179e" },
|
|
56
|
+
{ body: "#e0aaff", accent: "#9d4edd" },
|
|
57
|
+
{ body: "#80ffdb", accent: "#56cfe1" },
|
|
58
|
+
{ body: "#ffd6a5", accent: "#ffadad" },
|
|
59
|
+
],
|
|
60
|
+
caption: { title: "#e8e0f8", meta: "#a898c0", note: "rgba(200,190,230,0.55)" },
|
|
61
|
+
ray: ["#9b8ec4", "#7ec8e8", "#e0a0d0"],
|
|
62
|
+
rock: ["#1a1624", "#2a2438", "#3a3450"],
|
|
63
|
+
reef: ["#3a3550", "#524a70", "#6a6090"],
|
|
64
|
+
};
|
|
65
|
+
const THEMES = {
|
|
66
|
+
deep: DEEP,
|
|
67
|
+
reef: REEF,
|
|
68
|
+
midnight: MIDNIGHT,
|
|
69
|
+
};
|
|
70
|
+
export function parseTheme(value) {
|
|
71
|
+
const raw = (value ?? "deep").trim().toLowerCase();
|
|
72
|
+
if (THEME_NAMES.includes(raw)) {
|
|
73
|
+
return raw;
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Unknown --theme "${value}". Use: ${THEME_NAMES.join(", ")}`);
|
|
76
|
+
}
|
|
77
|
+
export function getTheme(name = "deep") {
|
|
78
|
+
return THEMES[name];
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export type Activity = {
|
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
export type LoadSource = "auto" | DataSource;
|
|
22
|
+
export type { ThemeName } from "./theme.js";
|
|
22
23
|
export type LoadOptions = {
|
|
23
24
|
user: string;
|
|
24
25
|
token?: string;
|
|
@@ -26,7 +27,9 @@ export type LoadOptions = {
|
|
|
26
27
|
now?: Date;
|
|
27
28
|
fetchImpl?: typeof fetch;
|
|
28
29
|
};
|
|
29
|
-
export type GenerateOptions = LoadOptions
|
|
30
|
+
export type GenerateOptions = LoadOptions & {
|
|
31
|
+
theme?: import("./theme.js").ThemeName;
|
|
32
|
+
};
|
|
30
33
|
export type GenerateResult = {
|
|
31
34
|
svg: string;
|
|
32
35
|
activity: Activity;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA8FA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "contrib-aquarium",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "A living SVG aquarium driven by a GitHub contribution graph
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "A living SVG aquarium driven by a GitHub contribution graph \u2014 embeddable in profile READMEs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
|
-
"contrib-aquarium": "
|
|
9
|
+
"contrib-aquarium": "dist/cli.js"
|
|
10
10
|
},
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|