From 51a62ae392bb450bc570728ab25618e231e4a0ed Mon Sep 17 00:00:00 2001 From: codewithwan Date: Sun, 19 Jul 2026 18:26:08 +0700 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20a=20standalone=20stats=20banner=20?= =?UTF-8?q?=E2=80=94=20three=20metrics,=20no=20character?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A separate output from the reel (`awan-profile stats --config awan.json --out banner.png`), because it answers a different question — "the numbers, at a glance" — and wants the whole width to itself, no character walking through it. Three boxes split by vertical rules: a headline number in the accent gold, what it counts, and the span it covers. All three are plain strings on the box, so CI formats them — commas in the count, the dates in the note — and the renderer knows nothing about GitHub; it only lays them out in awan's own 8×8 pixel font, so it matches the character banner it sits beside. It's a PNG, not a GIF: the numbers don't move, so there's nothing to animate and a still is smaller and sharper. (A count-up animation is a later option if it's ever wanted.) Added the `png` feature to the image dep for it. The data the boxes want — all-time commit total with a first-commit date, the current streak's start, the longest streak's span — is all derivable from the contribution calendar, but the all-time figures need CI to fetch more than the default one-year window. That fetch is the next step; this is the face it fills. --- Cargo.lock | 64 +++++++++++++++++++++++++++++++++++++ assets/stats-banner.png | Bin 0 -> 12983 bytes profile/Cargo.toml | 2 +- profile/src/main.rs | 33 +++++++++++++++---- profile/src/script.rs | 16 ++++++++++ profile/src/statsbanner.rs | 57 +++++++++++++++++++++++++++++++++ 6 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 assets/stats-banner.png create mode 100644 profile/src/statsbanner.rs diff --git a/Cargo.lock b/Cargo.lock index e539e25..a5f526c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,12 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + [[package]] name = "autocfg" version = "1.5.1" @@ -96,6 +102,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + [[package]] name = "ctrlc" version = "3.5.2" @@ -125,6 +140,25 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "font8x8" version = "0.3.1" @@ -159,6 +193,7 @@ dependencies = [ "gif", "moxcms", "num-traits", + "png", ] [[package]] @@ -189,6 +224,16 @@ version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + [[package]] name = "moxcms" version = "0.8.1" @@ -235,6 +280,19 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + [[package]] name = "proc-macro2" version = "1.0.106" @@ -311,6 +369,12 @@ dependencies = [ "serde", ] +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + [[package]] name = "syn" version = "2.0.118" diff --git a/assets/stats-banner.png b/assets/stats-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc9b398b350b48d8598683d484847c4c2adfa55 GIT binary patch literal 12983 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 literal 0 HcmV?d00001 diff --git a/profile/Cargo.toml b/profile/Cargo.toml index bfc19a2..a9a5a0e 100644 --- a/profile/Cargo.toml +++ b/profile/Cargo.toml @@ -16,7 +16,7 @@ path = "src/main.rs" [dependencies] awan-core = { workspace = true } -image = { version = "0.25", default-features = false, features = ["gif"] } +image = { version = "0.25", default-features = false, features = ["gif", "png"] } font8x8 = "0.3" serde = { workspace = true } serde_json = "1" diff --git a/profile/src/main.rs b/profile/src/main.rs index 89a1204..803623a 100644 --- a/profile/src/main.rs +++ b/profile/src/main.rs @@ -15,6 +15,7 @@ use awan_core::{Character, Reel, Size}; mod draw; mod gif; mod script; +mod statsbanner; mod story; mod wall; @@ -25,19 +26,37 @@ const FRAME_DELAY: Duration = Duration::from_millis(90); fn main() { let args: Vec = std::env::args().skip(1).collect(); - if args.first().map(String::as_str) != Some("whoami") { - eprintln!("usage: awan-profile whoami --config awan.json"); - eprintln!(" or: awan-profile whoami [--name ..] [--gif out.gif]"); - std::process::exit(2); + match args.first().map(String::as_str) { + Some("whoami") => whoami(&args), + Some("stats") => stats(&args), + _ => { + eprintln!("usage: awan-profile whoami --config awan.json [--gif out.gif]"); + eprintln!(" or: awan-profile stats --config awan.json [--out banner.png]"); + std::process::exit(2); + } } +} + +/// Render the standalone stats banner (no character) to a PNG. +fn stats(args: &[String]) { + let path = flag(args, "--config").unwrap_or_else(|| fail("stats needs --config awan.json")); + let profile = load(&path); + let out = flag(args, "--out").unwrap_or_else(|| "stats.png".to_string()); + match statsbanner::render_stats(&profile, &out) { + Ok(()) => eprintln!("wrote {out}"), + Err(e) => fail(&e.to_string()), + } +} - let (profile, output) = match flag(&args, "--config") { +/// Play or render the character reel. +fn whoami(args: &[String]) { + let (profile, output) = match flag(args, "--config") { Some(path) => { let p = load(&path); - let out = flag(&args, "--gif").or_else(|| non_empty(&p.output)); + let out = flag(args, "--gif").or_else(|| non_empty(&p.output)); (p, out) } - None => (from_flags(&args), flag(&args, "--gif")), + None => (from_flags(args), flag(args, "--gif")), }; let reel = Reel::story(character_of(&profile), &profile.acts()).with_size(Size::Seamless); diff --git a/profile/src/script.rs b/profile/src/script.rs index b82e9b3..d741f13 100644 --- a/profile/src/script.rs +++ b/profile/src/script.rs @@ -55,6 +55,22 @@ pub struct Profile { pub lyrics: Vec, pub output: String, pub scenes: Vec, + /// Boxes for the standalone stats banner (`awan-profile stats`) — no + /// character, just three metrics with their date context. CI fills these. + pub stat_boxes: Vec, +} + +/// One box on the stats banner: a headline number, what it counts, and the +/// span it covers. All three are plain strings so CI can format them (commas, +/// dates) and the renderer just lays them out. +#[derive(Clone, Default, serde::Deserialize)] +pub struct StatBox { + /// The number, pre-formatted: `"1,247"`, `"12 days"`. + pub value: String, + /// What it is: `"ALL COMMITS"`, `"CURRENT STREAK"`. + pub label: String, + /// The date context: `"since 12 Mar 2021"`, `"3 Feb - 12 Mar 2024"`. + pub note: String, } /// One narration line: an optional icon and its text. diff --git a/profile/src/statsbanner.rs b/profile/src/statsbanner.rs new file mode 100644 index 0000000..812c180 --- /dev/null +++ b/profile/src/statsbanner.rs @@ -0,0 +1,57 @@ +//! The standalone stats banner: three metrics in a row, split by vertical +//! rules, no character. A separate output from the reel — `awan-profile stats` +//! writes it — because it answers a different question ("the numbers, at a +//! glance") and wants the whole width to itself. +//! +//! Each box is `value` (the headline number, gold), `label` (what it counts), +//! and `note` (the span it covers). The renderer only lays them out; CI formats +//! the strings — commas in the count, the dates in the note — so nothing here +//! knows anything about GitHub. + +use image::{Rgba, RgbaImage}; + +use crate::draw::{draw_text, fill}; +use crate::gif::BG; +use crate::script::Profile; + +const W: u32 = 1056; +const H: u32 = 210; +/// The headline number, in the accent every awan value uses. +const GOLD: [u8; 3] = [230, 180, 100]; +/// The label under it. +const INK: [u8; 3] = [150, 150, 160]; +/// The date note — quieter still. +const DIM: [u8; 3] = [96, 100, 112]; +/// The vertical rules between boxes. +const RULE: [u8; 3] = [52, 56, 66]; + +/// Render the stats banner from `profile.stat_boxes` to a PNG at `path`. +pub fn render_stats(profile: &Profile, path: &str) -> std::io::Result<()> { + if let Some(dir) = std::path::Path::new(path).parent() { + std::fs::create_dir_all(dir)?; + } + let mut img = RgbaImage::from_pixel(W, H, Rgba([BG[0], BG[1], BG[2], 255])); + let boxes = &profile.stat_boxes; + let n = boxes.len().max(1) as u32; + let col = W / n; + + // vertical rules between the boxes, inset top and bottom + for i in 1..n { + fill(&mut img, i * col - 1, 34, 2, H - 68, RULE); + } + for (i, b) in boxes.iter().enumerate() { + let cx = i as u32 * col + col / 2; + centered(&mut img, &b.value, cx, 46, 5, GOLD); + centered(&mut img, &b.label, cx, 122, 2, INK); + centered(&mut img, &b.note, cx, 160, 1, DIM); + } + img.save(path) + .map_err(|e| std::io::Error::other(e.to_string())) +} + +/// Draw `text` centred on `cx` at `scale`. font8x8 advances a fixed 8·scale per +/// glyph, so the width is just the character count. +fn centered(img: &mut RgbaImage, text: &str, cx: u32, y: u32, scale: u32, colour: [u8; 3]) { + let w = text.chars().count() as u32 * 8 * scale; + draw_text(img, text, cx.saturating_sub(w / 2), y, scale, colour); +} From a8cae9f350e38a8cfdc4b32536ad21fc2b21e2eb Mon Sep 17 00:00:00 2001 From: codewithwan Date: Sun, 19 Jul 2026 18:45:22 +0700 Subject: [PATCH 2/4] feat: drift clouds behind the stats banner, so it loops MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The numbers don't move, so a still was the honest default — but a dead banner next to the character's animated one looks switched-off. The fix isn't to animate the numbers (a count-up that loops has to snap back to zero); it's to give the readout the character's *world*. awan means cloud, so soft clouds drift behind the numbers and the thing breathes without anyone walking through it. A `.gif` path animates now, a `.png` stays a still — same command, the extension picks. Two clouds drift at different speeds (parallax), each crossing a whole number of spans over the loop, so frame 0 and frame LOOP line up and there's no seam. They're barely above the backdrop and sit *behind* the numbers, so they read as depth, not data, and never fight the values for the eye. Committed both an animated .gif and a still .png sample. --- assets/stats-banner.gif | Bin 0 -> 158523 bytes profile/src/statsbanner.rs | 86 ++++++++++++++++++++++++++++++++++--- 2 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 assets/stats-banner.gif diff --git a/assets/stats-banner.gif b/assets/stats-banner.gif new file mode 100644 index 0000000000000000000000000000000000000000..1a52a7f5e0297b12f60c7c66a20a44bed65daf3e GIT binary patch literal 158523 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

wn2CvcE*$C8ww$d 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 literal 0 HcmV?d00001 diff --git a/profile/src/statsbanner.rs b/profile/src/statsbanner.rs index 812c180..448e433 100644 --- a/profile/src/statsbanner.rs +++ b/profile/src/statsbanner.rs @@ -7,8 +7,15 @@ //! and `note` (the span it covers). The renderer only lays them out; CI formats //! the strings — commas in the count, the dates in the note — so nothing here //! knows anything about GitHub. +//! +//! A `.gif` path drifts soft clouds behind the numbers and loops; a `.png` is +//! the still. The clouds are the one nod to the character's world — awan means +//! cloud — without a character walking through the readout. + +use std::fs::File; -use image::{Rgba, RgbaImage}; +use image::codecs::gif::{GifEncoder, Repeat}; +use image::{Delay, Frame, Rgba, RgbaImage}; use crate::draw::{draw_text, fill}; use crate::gif::BG; @@ -24,18 +31,61 @@ const INK: [u8; 3] = [150, 150, 160]; const DIM: [u8; 3] = [96, 100, 112]; /// The vertical rules between boxes. const RULE: [u8; 3] = [52, 56, 66]; +/// Drifting clouds — barely above the backdrop, so they read as depth, not data. +/// `#` is the core, `+` a fainter edge that softens the silhouette. +const CLOUD: [u8; 3] = [30, 37, 50]; +const CLOUD_EDGE: [u8; 3] = [20, 26, 36]; +/// Frames in one loop, and the per-frame delay (~11 fps, matching the reel). +const LOOP: i32 = 90; +const FRAME_MS: u32 = 90; -/// Render the stats banner from `profile.stat_boxes` to a PNG at `path`. +/// A soft cloud sprite, blitted big and faint behind the numbers — rounded, with +/// a `+` edge so it doesn't read as a staircase of grey blocks. +const PUFF: &[&str] = &[ + " ++####++ ", + " +########+ ", + " +##########+ ", + "+############+", + " +##########+ ", + " ++####++ ", +]; + +/// Render the stats banner from `profile.stat_boxes`. A `.gif` path animates +/// (drifting clouds, looping); anything else is written as a still PNG. pub fn render_stats(profile: &Profile, path: &str) -> std::io::Result<()> { if let Some(dir) = std::path::Path::new(path).parent() { std::fs::create_dir_all(dir)?; } + if path.ends_with(".gif") { + let mut enc = GifEncoder::new(File::create(path)?); + let _ = enc.set_repeat(Repeat::Infinite); + for t in 0..LOOP { + let delay = Delay::from_numer_denom_ms(FRAME_MS, 1); + let frame = Frame::from_parts(banner(profile, Some(t)), 0, 0, delay); + enc.encode_frame(frame).map_err(err)?; + } + Ok(()) + } else { + banner(profile, None).save(path).map_err(err) + } +} + +fn err(e: image::ImageError) -> std::io::Error { + std::io::Error::other(e.to_string()) +} + +/// One frame: the backdrop, drifting clouds if animated, the rules, the numbers. +fn banner(profile: &Profile, t: Option) -> RgbaImage { let mut img = RgbaImage::from_pixel(W, H, Rgba([BG[0], BG[1], BG[2], 255])); + if let Some(t) = t { + // two clouds, parallax: the near one crosses twice per loop. Each drifts + // a whole number of spans over LOOP, so frame 0 and frame LOOP match. + cloud(&mut img, t, 1, 22, 17, W / 5); + cloud(&mut img, t, 2, 116, 13, 3 * W / 5); + } let boxes = &profile.stat_boxes; let n = boxes.len().max(1) as u32; let col = W / n; - - // vertical rules between the boxes, inset top and bottom for i in 1..n { fill(&mut img, i * col - 1, 34, 2, H - 68, RULE); } @@ -45,8 +95,32 @@ pub fn render_stats(profile: &Profile, path: &str) -> std::io::Result<()> { centered(&mut img, &b.label, cx, 122, 2, INK); centered(&mut img, &b.note, cx, 160, 1, DIM); } - img.save(path) - .map_err(|e| std::io::Error::other(e.to_string())) + img +} + +/// One drifting cloud: `spans` crossings per loop, top at `y`, `px` per art +/// pixel, starting at `start`. Wraps seamlessly because the drift over `LOOP` is +/// exactly `spans` whole spans. +fn cloud(img: &mut RgbaImage, t: i32, spans: i32, y: u32, px: u32, start: u32) { + let cw = PUFF[0].len() as u32 * px; + let span = (W + cw) as i32; + let x = (start as i32 - spans * span * t / LOOP).rem_euclid(span) - cw as i32; + for (r, row) in PUFF.iter().enumerate() { + for (c, ch) in row.chars().enumerate() { + let colour = match ch { + '#' => CLOUD, + '+' => CLOUD_EDGE, + _ => continue, + }; + let px0 = x + (c as u32 * px) as i32; + if px0 + (px as i32) <= 0 || px0 >= W as i32 { + continue; + } + let x0 = px0.max(0) as u32; + let w = (px0 + px as i32).min(W as i32) as u32 - x0; + fill(img, x0, y + r as u32 * px, w, px, colour); + } + } } /// Draw `text` centred on `cx` at `scale`. font8x8 advances a fixed 8·scale per From a290e235cf578ac29d3924ed9493cb25bf083efa Mon Sep 17 00:00:00 2001 From: codewithwan Date: Sun, 19 Jul 2026 18:54:30 +0700 Subject: [PATCH 3/4] feat: the reusable workflow fills and draws the stats banner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Opt in with one input — `stats_banner: assets/stats-banner.gif` — and the workflow does the rest; you add nothing to awan.json. It computes the three numbers the yearly calendar can't give, walking the contribution calendar year by year from the year you joined: an all-time commit count with your first commit's date, your current streak's start, and your longest streak ever with its span. It writes them into the config as stat_boxes, draws the banner, shrinks it, and commits it alongside the character GIF. Gated on the input so nobody who doesn't want the banner pays for the extra API calls. The jq — the longest-run scan across year boundaries, the comma grouping, the stat_boxes injection — is tested locally; the multi-year GraphQL fetch and GNU date runs only in CI, so the numbers want a look on the first real run. AWAN_VERSION bumped to v0.0.6: this file needs the release that carries the `stats` subcommand, so the two ship together. --- .github/workflows/profile.yml | 87 ++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/.github/workflows/profile.yml b/.github/workflows/profile.yml index e271579..ac2ad73 100644 --- a/.github/workflows/profile.yml +++ b/.github/workflows/profile.yml @@ -40,10 +40,16 @@ on: description: "What he says when you don't." type: string default: "...i'll fix that, promise" + stats_banner: + description: "Path for the standalone stats banner (no character). Empty + = don't build it. Set it and the workflow fills your all-time numbers + and draws it — you add nothing to awan.json." + type: string + default: "" env: # The release this copy of the file was cut with. Bump it when you tag. - AWAN_VERSION: v0.0.5 + AWAN_VERSION: v0.0.6 jobs: awan: @@ -135,14 +141,90 @@ jobs: ' "$CONFIG" > awan.tmp && mv awan.tmp "$CONFIG" rm -f cal.json wall.json + # The stats banner wants numbers the one-year calendar can't give — an + # all-time commit count from your first commit, and your longest streak + # ever — so this walks the contribution calendar year by year, from the + # year you joined to now, and writes stat_boxes into your config. Only runs + # when you asked for the banner, so nobody else pays for the extra calls. + - name: Fill the stats banner numbers + if: inputs.stats_banner != '' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + USER: ${{ inputs.user || github.repository_owner }} + CONFIG: ${{ inputs.config }} + run: | + set -euo pipefail + FROM=$(gh api "users/$USER" --jq '.created_at' | cut -c1-4) + TO=$(date -u +%Y) + COMMITS=0 + echo '[]' > days.json + for Y in $(seq "$FROM" "$TO"); do + gh api graphql -f query=' + { user(login: "'"$USER"'") { contributionsCollection( + from: "'"$Y"'-01-01T00:00:00Z", to: "'"$Y"'-12-31T23:59:59Z") { + totalCommitContributions + contributionCalendar { weeks { contributionDays { date contributionCount } } } + } } }' > y.json || continue + C=$(jq '.data.user.contributionsCollection.totalCommitContributions // 0' y.json) + COMMITS=$((COMMITS + C)) + jq -s '.[0] + (.[1].data.user.contributionsCollection.contributionCalendar.weeks + | map(.contributionDays[]?))' days.json y.json > d.tmp && mv d.tmp days.json + done + + # sort the days, then in one pass: the earliest active day (first + # commit), and the longest run of consecutive active days with its ends. + jq 'sort_by(.date) | unique_by(.date) + | (map(select(.contributionCount > 0)) | .[0].date) as $first + | reduce .[] as $d ({run: [], best: []}; + if $d.contributionCount > 0 + then (.run + [$d.date]) as $r + | {run: $r, best: (if ($r|length) > (.best|length) then $r else .best end)} + else {run: [], best: .best} end) as $s + | {first: $first, len: ($s.best|length), + from: ($s.best[0] // ""), to: ($s.best[-1] // "")}' \ + days.json > life.json + + fmt() { date -u -d "$1" +"%-d %b %Y" 2>/dev/null || echo "$1"; } + fmts() { date -u -d "$1" +"%-d %b" 2>/dev/null || echo "$1"; } + + STREAK=$(jq -r '.streak // 0' "$CONFIG") + if [ "$STREAK" -gt 0 ]; then + SSTART="since $(date -u -d "-$((STREAK-1)) days" +"%-d %b")" + else + SSTART="not today" + fi + FIRST=$(jq -r '.first // ""' life.json) + LFROM=$(jq -r '.from // ""' life.json); LTO=$(jq -r '.to // ""' life.json) + LLEN=$(jq -r '.len // 0' life.json) + + jq --argjson n "$COMMITS" --arg fc "since $(fmt "$FIRST")" \ + --arg cs "$STREAK days" --arg css "$SSTART" \ + --arg ls "$LLEN days" --arg lss "$(fmts "$LFROM") - $(fmt "$LTO")" ' + def commas: tostring | . as $s | ($s | length) as $L + | if $L <= 3 then $s else ($s[:$L-3] | commas) + "," + $s[$L-3:] end; + .stat_boxes = [ + {value: ($n | commas), label: "ALL COMMITS", note: $fc}, + {value: $cs, label: "CURRENT STREAK", note: $css}, + {value: $ls, label: "LONGEST STREAK", note: $lss} + ]' "$CONFIG" > awan.tmp && mv awan.tmp "$CONFIG" + rm -f y.json days.json life.json + - name: Draw it run: awan-profile whoami --config "${{ inputs.config }}" - - name: Shrink the GIF + - name: Draw the stats banner + if: inputs.stats_banner != '' + run: awan-profile stats --config "${{ inputs.config }}" --out "${{ inputs.stats_banner }}" + + - name: Shrink the GIFs run: | sudo apt-get update && sudo apt-get install -y gifsicle OUT=$(jq -r '.output // "assets/awan.gif"' "${{ inputs.config }}") gifsicle -O3 --colors 64 "$OUT" -o "$OUT" + BANNER="${{ inputs.stats_banner }}" + if [ -n "$BANNER" ] && [ "${BANNER##*.}" = "gif" ]; then + gifsicle -O3 --colors 64 "$BANNER" -o "$BANNER" + fi - name: Commit the result run: | @@ -150,5 +232,6 @@ jobs: git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add "$OUT" "${{ inputs.config }}" + [ -n "${{ inputs.stats_banner }}" ] && git add "${{ inputs.stats_banner }}" || true git commit -m "chore: refresh awan profile" || echo "no changes" git push From 21e3824e71c7a2cd24977fd2030a5502fa5a88a3 Mon Sep 17 00:00:00 2001 From: codewithwan Date: Sun, 19 Jul 2026 18:59:39 +0700 Subject: [PATCH 4/4] docs: document the stats banner across the profile docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The stats banner needed a home in the docs, and a few files that promise "here's everything awan draws" were now incomplete. - profile/README.md: a "The stats banner" section (the command, the .gif/.png split, the CI-filled stat_boxes), the stats_banner input in the workflow snippet and the input table, the README embed lines, and stat_boxes in the config reference. - profile/sample/: the copy-ready workflow now sets stats_banner, the starter README shows the banner, and awan.json lists stat_boxes (empty, CI fills it) — so a fresh copy draws it out of the box. - docs/PROFILE.md: a design note on why it's a separate output and why the all-time fetch is opt-in. - root README.md: the stats banner in the shipping list and a pointer from the profile section. --- README.md | 5 +++ docs/PROFILE.md | 20 +++++++++ profile/README.md | 49 ++++++++++++++++++++++- profile/sample/.github/workflows/awan.yml | 4 ++ profile/sample/README.md | 2 + profile/sample/awan.json | 1 + 6 files changed, 80 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d9e25c2..eaa3370 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,10 @@ cp -r profile/sample/. my-profile/ # awan.json + a GitHub Action + a profile R cargo run -p awan-profile -- whoami --config my-profile/awan.json ``` +Want the numbers without the character too? A one-line workflow input also draws +a **stats banner** — all-time commits, current and longest streak, with dates — +as its own image. See [`profile/`](profile#the-stats-banner). + Full walkthrough and the `awan.json` format: **[`profile/`](profile)**. Built as a separate, opt-in crate, so the core `awan` stays untouched. @@ -218,6 +222,7 @@ library — no Rust, no rebuild of the engine. The banner is the product; everything else is how it's made. - **Shipping** — profile banners with live numbers, the contribution year, a + standalone stats banner (all-time commits and streaks, no character), a browser editor with a character studio, and a reusable workflow you call rather than copy - **Next** — more beats worth watching, and somewhere to show the characters diff --git a/docs/PROFILE.md b/docs/PROFILE.md index 7a2d543..d42bb51 100644 --- a/docs/PROFILE.md +++ b/docs/PROFILE.md @@ -75,6 +75,26 @@ the `stats` readout — live in `awan.json`; the CI job fetches the real values (`gh api` → `jq`) and writes them in before rendering, so the binary stays deterministic and offline. +## The stats banner + +A separate output (`awan-profile stats`), and the only one with no character: +three metrics — all-time commits, current streak, longest streak — in a row, +split by vertical rules, each with the dates it covers. It answers a different +question ("the numbers, at a glance") and wants the full width, so it isn't a +scene in the reel. + +The split mirrors the rest: the engine knows nothing about it. The renderer lays +out `stat_boxes` (three `{value, label, note}` strings) in the 8×8 pixel font, so +it matches the character banner beside it; CI formats the strings. A `.gif` drifts +soft clouds behind the numbers and loops (two parallax clouds, each crossing a +whole number of spans per loop, so `frame(0) == frame(N)`); a `.png` is the still. + +The numbers it wants reach past the one-year calendar the walking banner uses — +an all-time count from the first commit, the longest streak *ever* — so the +workflow walks the contribution calendar year by year from the year the account +was created, and only when the `stats_banner` input is set, so the extra API +calls are opt-in. + ## Rendering to GIF The generator lives in the `publish = false` `profile/` crate, so the `image` / diff --git a/profile/README.md b/profile/README.md index b0219d8..956cc31 100644 --- a/profile/README.md +++ b/profile/README.md @@ -33,6 +33,42 @@ Same acts, same config shape — only the content differs. Pick a sample and edi repo's numbers.* Drop `{ "act": "stats" }` into **either** config — it reads the same `stats` array. +## The stats banner + +A third output, and the only one with **no character**: three numbers in a row, +split by vertical rules — your all-time commits, your current streak, your +longest streak — each with the dates it covers. It wants the whole width to +itself, so it's a separate image from the walking banner. + +

+ all commits, current streak, longest streak — with dates +

+ +```sh +awan-profile stats --config awan.json --out assets/stats-banner.gif # drifting clouds, loops +awan-profile stats --config awan.json --out assets/stats-banner.png # a still +``` + +The `.gif` drifts soft clouds behind the numbers and loops; the `.png` is a +still. Same command — the extension picks. + +The three boxes come from `stat_boxes` in your config, which **CI fills** (like +`stats` and the streak) — you don't write them by hand. Each box is a +pre-formatted `value`, a `label`, and a `note` for the dates: + +```jsonc +"stat_boxes": [ + { "value": "1,247", "label": "ALL COMMITS", "note": "since 12 Mar 2021" }, + { "value": "12 days", "label": "CURRENT STREAK", "note": "since 8 Jul" }, + { "value": "38 days", "label": "LONGEST STREAK", "note": "3 Feb - 12 Mar 2024" } +] +``` + +To get it drawn and refreshed nightly, set the `stats_banner` input on the +workflow (see [Auto-update](#auto-update-on-github)). The all-time figures need +the calendar walked year by year from the year you joined, so the workflow only +does that when you ask for the banner. + ## Get started The [`sample/`](sample) folder is a ready-to-copy setup: @@ -82,6 +118,9 @@ its own — no Ctrl+C. // so run the workflow once and look "contrib_year": 2060, // ↳ both filled in by the workflow too "contrib_recent": 183, + "stat_boxes": [], // the stats banner's 3 boxes (no + // character). CI fills these too — see + // "The stats banner". Leave it empty. "output": "assets/awan.gif", // where the GIF is written "scenes": [ // ← reorder / add / remove freely { "act": "wave", "say": "hi there! i'm {name}" }, @@ -175,9 +214,16 @@ jobs: brag_over: 100 # your bar for "a good month" brag_say: "i'm so excited!" cope_say: "...i'll fix that, promise" + stats_banner: assets/stats-banner.gif # optional; see "The stats banner" +``` + +Then reference the outputs in your profile `README.md`: + +```markdown +![awan](assets/awan.gif) +![my github, at a glance](assets/stats-banner.gif) ``` -Then reference the GIF in your profile `README.md`: `![awan](assets/awan.gif)`. No secrets to set up: the stock `GITHUB_TOKEN` reads everything this needs. | input | default | what it does | @@ -186,6 +232,7 @@ No secrets to set up: the stock `GITHUB_TOKEN` reads everything this needs. | `config` | `awan.json` | where your config lives | | `brag_over` | `100` | last-30 contributions that count as a good month | | `brag_say` / `cope_say` | see above | what he says either side of that bar | +| `stats_banner` | *(off)* | path for the stats banner; set it to draw one | ### Which tag to point at diff --git a/profile/sample/.github/workflows/awan.yml b/profile/sample/.github/workflows/awan.yml index a7d527a..3a1d1e1 100644 --- a/profile/sample/.github/workflows/awan.yml +++ b/profile/sample/.github/workflows/awan.yml @@ -24,3 +24,7 @@ jobs: brag_over: 100 # your bar for "a good month" brag_say: "i'm so excited!" cope_say: "...i'll fix that, promise" + # Also draw the standalone stats banner (all-time commits, current and + # longest streak, with dates). Delete this line to skip it — you add + # nothing to awan.json either way, the workflow fills the numbers. + stats_banner: assets/stats-banner.gif diff --git a/profile/sample/README.md b/profile/sample/README.md index 9230abe..fcf3691 100644 --- a/profile/sample/README.md +++ b/profile/sample/README.md @@ -7,6 +7,8 @@ ![awan](assets/awan.gif) +![my github, at a glance](assets/stats-banner.gif) + # hi, i'm Muhammad Ridwan 👋 fullstack engineer · Indonesia · building with Rust, Go & TypeScript diff --git a/profile/sample/awan.json b/profile/sample/awan.json index f01d8b5..0c5a6bd 100644 --- a/profile/sample/awan.json +++ b/profile/sample/awan.json @@ -16,6 +16,7 @@ "contributions": "", "contrib_year": 0, "contrib_recent": 0, + "stat_boxes": [], "output": "assets/awan.gif", "scenes": [ {