From b23b3de1bb2cfcee17f7918b02ce2bccb350b9a1 Mon Sep 17 00:00:00 2001 From: Davide Scaini Date: Sun, 24 May 2026 12:51:57 +0200 Subject: [PATCH] feat: include gear in activity index summaries; generate OG images in serve rebuild --- bincio/extract/writer.py | 1 + bincio/render/merge.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/bincio/extract/writer.py b/bincio/extract/writer.py index 592df8c..f4bd98d 100644 --- a/bincio/extract/writer.py +++ b/bincio/extract/writer.py @@ -261,6 +261,7 @@ def build_summary( "best_climb_m": metrics.best_climb_m, "climbing_vam_mh": metrics.climbing_vam_mh, "climbing_time_s": metrics.climbing_time_s, + "gear": activity.gear, "source": _infer_source(activity), "privacy": privacy, "detail_url": f"activities/{activity_id}.json", diff --git a/bincio/render/merge.py b/bincio/render/merge.py index e4c0b52..34c5db4 100644 --- a/bincio/render/merge.py +++ b/bincio/render/merge.py @@ -120,6 +120,8 @@ def _apply_sidecar_summary(summary: dict, fm: dict) -> dict: s["sport"] = str(fm["sport"]) if "sub_sport" in fm: s["sub_sport"] = str(fm["sub_sport"]) if fm["sub_sport"] else None + if "gear" in fm: + s["gear"] = str(fm["gear"]) if fm["gear"] else s.get("gear") if "highlight" in fm: s["custom"]["highlight"] = bool(fm["highlight"]) if "private" in fm: