diff --git a/.gitignore b/.gitignore
index ebaac77..3ef7b65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,4 @@ commands.nu
/gh-oss-stats
scripts/
local/
-
+dist/
diff --git a/README.md b/README.md
index b553e1a..14866c6 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ Track and display your merged PRs, commits, and contributions to external reposi
- 🔍 **External Contribution Tracking** - Discovers all your merged PRs to repos you don't own
- 📊 **Comprehensive Stats** - Total PRs, commits, lines of code, and repository stars
- ⭐ **Smart Filtering** - Filter by minimum stars, exclude organizations
-- 🎭 6 **Color Themes** - Match your profile's aesthetic
+- 🎭 18 **Color Themes** - Match your profile's aesthetic
- 📦 **Developer-Friendly** - Use as a Go library or standalone CLI, outputs JSON
@@ -101,7 +101,7 @@ Customize your badge by passing inputs to the action:
github-token: ${{ secrets.GITHUB_TOKEN }}
badge-path: 'images/oss-badge.svg'
badge-style: 'detailed' # summary, compact, or detailed
- badge-theme: 'nord' # dark, light, nord, dracula, gruvbox-light, gruvbox-dark
+ badge-theme: 'nord' # dark, light, nord, dracula, gruvbox-light, gruvbox-dark, etc...
badge-variant: 'text-based' # default or text-based
min-stars: '100' # Filter repos by minimum stars
exclude-orgs: 'my-org,acme' # Exclude specific organizations
diff --git a/cmd/gh-oss-stats/badgeCmd.go b/cmd/gh-oss-stats/badgeCmd.go
index 7756ce6..2118832 100644
--- a/cmd/gh-oss-stats/badgeCmd.go
+++ b/cmd/gh-oss-stats/badgeCmd.go
@@ -57,7 +57,7 @@ func runBadgeCmd(args []string) {
err = generateBadgeFromJSONString(string(content), *badgeConfig)
if err != nil {
- fmt.Fprintln(os.Stderr, "Error: failed to parse json data")
+ fmt.Fprintf(os.Stderr, "Error: failed to parse json data, error=%v\n", err.Error())
os.Exit(1)
}
os.Exit(0)
@@ -66,7 +66,7 @@ func runBadgeCmd(args []string) {
if *badgeData != "" {
err := generateBadgeFromJSONString(*badgeData, *badgeConfig)
if err != nil {
- fmt.Fprintln(os.Stderr, "Error: failed to parse json data")
+ fmt.Fprintf(os.Stderr, "Error: failed to parse json data, error=%v\n", err.Error())
os.Exit(1)
}
os.Exit(0)
diff --git a/docs/TECHNICAL.md b/docs/TECHNICAL.md
index f49a3e5..035397f 100644
--- a/docs/TECHNICAL.md
+++ b/docs/TECHNICAL.md
@@ -185,7 +185,7 @@ These flags control badge generation and styling. Used by the main command (with
| --badge | boolean | false | Generate SVG Badge (main command only) |
| --badge-style | string | summary | Badge style: `summary`, `compact`, `detailed` |
| --badge-variant | string | default | Badge variant: `default`, `text-based` |
-| --badge-theme | string | dark | Color theme: `dark`, `light`, `nord`, `dracula`, `gruvbox-light`, `gruvbox-dark` |
+| --badge-theme | string | dark | Color theme: `dark`, `light`, `nord`, `dracula`, `gruvbox-light`, `gruvbox-dark`, etc... |
| --badge-output | string | ./badge.svg | Output file path for generated badge |
| --badge-sort | string | prs | Sort contributions by: `prs`, `stars`, `commits` |
| --badge-limit | int | 5 | Number of contributions to display in detailed badge |
diff --git a/docs/badges/BADGE_THEMES.md b/docs/badges/BADGE_THEMES.md
index 1d1450f..27b9625 100644
--- a/docs/badges/BADGE_THEMES.md
+++ b/docs/badges/BADGE_THEMES.md
@@ -4,9 +4,6 @@
All available combinations of **Variants × Themes × Styles**.
- > **Note:** Text-Based variant currently only supports the Detailed style.
- > Summary and Compact styles are planned for future releases.
-
## How to Use This Guide
Each row shows:
@@ -30,11 +27,35 @@
| default | nord |  |  |  |
| default | gruvbox-dark |  |  |  |
| default | gruvbox-light |  |  |  |
+| default | monokai |  |  |  |
+| default | solarized-dark |  |  |  |
+| default | solarized-light |  |  |  |
+| default | tokyo-night |  |  |  |
+| default | tokyo-night-storm |  |  |  |
+| default | tokyo-night-light |  |  |  |
+| default | one-dark |  |  |  |
+| default | one-dark-vivid |  |  |  |
+| default | catppuccin-mocha |  |  |  |
+| default | catppuccin-macchiato |  |  |  |
+| default | catppuccin-frappe |  |  |  |
+| default | catppuccin-latte |  |  |  |
| text-based | dark |  |  |  |
| text-based | light |  |  |  |
| text-based | dracula |  |  |  |
| text-based | nord |  |  |  |
| text-based | gruvbox-dark |  |  |  |
| text-based | gruvbox-light |  |  |  |
+| text-based | monokai |  |  |  |
+| text-based | solarized-dark |  |  |  |
+| text-based | solarized-light |  |  |  |
+| text-based | tokyo-night |  |  |  |
+| text-based | tokyo-night-storm |  |  |  |
+| text-based | tokyo-night-light |  |  |  |
+| text-based | one-dark |  |  |  |
+| text-based | one-dark-vivid |  |  |  |
+| text-based | catppuccin-mocha |  |  |  |
+| text-based | catppuccin-macchiato |  |  |  |
+| text-based | catppuccin-frappe |  |  |  |
+| text-based | catppuccin-latte |  |  |  |
diff --git a/docs/badges/default-compact-catppuccin-frappe.svg b/docs/badges/default-compact-catppuccin-frappe.svg
new file mode 100644
index 0000000..3210ef4
--- /dev/null
+++ b/docs/badges/default-compact-catppuccin-frappe.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-catppuccin-latte.svg b/docs/badges/default-compact-catppuccin-latte.svg
new file mode 100644
index 0000000..29850fe
--- /dev/null
+++ b/docs/badges/default-compact-catppuccin-latte.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-catppuccin-macchiato.svg b/docs/badges/default-compact-catppuccin-macchiato.svg
new file mode 100644
index 0000000..ae4dae9
--- /dev/null
+++ b/docs/badges/default-compact-catppuccin-macchiato.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-catppuccin-mocha.svg b/docs/badges/default-compact-catppuccin-mocha.svg
new file mode 100644
index 0000000..bc3a883
--- /dev/null
+++ b/docs/badges/default-compact-catppuccin-mocha.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-dark.svg b/docs/badges/default-compact-dark.svg
index 301022e..05e5003 100644
--- a/docs/badges/default-compact-dark.svg
+++ b/docs/badges/default-compact-dark.svg
@@ -17,7 +17,7 @@
}
.card {
- fill: #0d1117;
+ fill: #101820;
stroke: #30363d;
stroke-width: 1;
rx: 16;
diff --git a/docs/badges/default-compact-monaki.svg b/docs/badges/default-compact-monaki.svg
new file mode 100644
index 0000000..e3611bf
--- /dev/null
+++ b/docs/badges/default-compact-monaki.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-monokai.svg b/docs/badges/default-compact-monokai.svg
new file mode 100644
index 0000000..e3611bf
--- /dev/null
+++ b/docs/badges/default-compact-monokai.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-one-dark-vivid.svg b/docs/badges/default-compact-one-dark-vivid.svg
new file mode 100644
index 0000000..89c0db6
--- /dev/null
+++ b/docs/badges/default-compact-one-dark-vivid.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-one-dark.svg b/docs/badges/default-compact-one-dark.svg
new file mode 100644
index 0000000..2fa6ad4
--- /dev/null
+++ b/docs/badges/default-compact-one-dark.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-solarized-dark.svg b/docs/badges/default-compact-solarized-dark.svg
new file mode 100644
index 0000000..a9917db
--- /dev/null
+++ b/docs/badges/default-compact-solarized-dark.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-solarized-light.svg b/docs/badges/default-compact-solarized-light.svg
new file mode 100644
index 0000000..81dcbd1
--- /dev/null
+++ b/docs/badges/default-compact-solarized-light.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-tokyo-light.svg b/docs/badges/default-compact-tokyo-light.svg
new file mode 100644
index 0000000..75f3481
--- /dev/null
+++ b/docs/badges/default-compact-tokyo-light.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-tokyo-night-light.svg b/docs/badges/default-compact-tokyo-night-light.svg
new file mode 100644
index 0000000..75f3481
--- /dev/null
+++ b/docs/badges/default-compact-tokyo-night-light.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-tokyo-night-storm.svg b/docs/badges/default-compact-tokyo-night-storm.svg
new file mode 100644
index 0000000..27c52f3
--- /dev/null
+++ b/docs/badges/default-compact-tokyo-night-storm.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-compact-tokyo-night.svg b/docs/badges/default-compact-tokyo-night.svg
new file mode 100644
index 0000000..4f0d85c
--- /dev/null
+++ b/docs/badges/default-compact-tokyo-night.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/docs/badges/default-detailed-catppuccin-frappe.svg b/docs/badges/default-detailed-catppuccin-frappe.svg
new file mode 100644
index 0000000..ab0cc0c
--- /dev/null
+++ b/docs/badges/default-detailed-catppuccin-frappe.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-catppuccin-latte.svg b/docs/badges/default-detailed-catppuccin-latte.svg
new file mode 100644
index 0000000..4c24846
--- /dev/null
+++ b/docs/badges/default-detailed-catppuccin-latte.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-catppuccin-macchiato.svg b/docs/badges/default-detailed-catppuccin-macchiato.svg
new file mode 100644
index 0000000..be3138c
--- /dev/null
+++ b/docs/badges/default-detailed-catppuccin-macchiato.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-catppuccin-mocha.svg b/docs/badges/default-detailed-catppuccin-mocha.svg
new file mode 100644
index 0000000..9ad7e61
--- /dev/null
+++ b/docs/badges/default-detailed-catppuccin-mocha.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-dark.svg b/docs/badges/default-detailed-dark.svg
index 75c9549..98e4997 100644
--- a/docs/badges/default-detailed-dark.svg
+++ b/docs/badges/default-detailed-dark.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#e6edf3"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#e6edf3"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#e6edf3"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#e6edf3"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#8b949e"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-dracula.svg b/docs/badges/default-detailed-dracula.svg
index 5ccdc4b..eeb9c26 100644
--- a/docs/badges/default-detailed-dracula.svg
+++ b/docs/badges/default-detailed-dracula.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#f8f8f2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#f8f8f2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#f8f8f2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#f8f8f2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#6272a4"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-gruvbox-dark.svg b/docs/badges/default-detailed-gruvbox-dark.svg
index 305fd2a..7f32fe5 100644
--- a/docs/badges/default-detailed-gruvbox-dark.svg
+++ b/docs/badges/default-detailed-gruvbox-dark.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#ebdbb2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#ebdbb2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#ebdbb2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#ebdbb2"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#a89984"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-gruvbox-light.svg b/docs/badges/default-detailed-gruvbox-light.svg
index e681146..d0b8120 100644
--- a/docs/badges/default-detailed-gruvbox-light.svg
+++ b/docs/badges/default-detailed-gruvbox-light.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#3c3836"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#3c3836"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#3c3836"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#3c3836"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#7c6f64"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-light.svg b/docs/badges/default-detailed-light.svg
index 0d56cac..2e800a8 100644
--- a/docs/badges/default-detailed-light.svg
+++ b/docs/badges/default-detailed-light.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#1f2328"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#1f2328"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#1f2328"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#1f2328"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#656d76"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-monaki.svg b/docs/badges/default-detailed-monaki.svg
new file mode 100644
index 0000000..48d9c60
--- /dev/null
+++ b/docs/badges/default-detailed-monaki.svg
@@ -0,0 +1,354 @@
+
+
+
diff --git a/docs/badges/default-detailed-monokai.svg b/docs/badges/default-detailed-monokai.svg
new file mode 100644
index 0000000..3c38285
--- /dev/null
+++ b/docs/badges/default-detailed-monokai.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-nord.svg b/docs/badges/default-detailed-nord.svg
index 04d4ade..7f862b5 100644
--- a/docs/badges/default-detailed-nord.svg
+++ b/docs/badges/default-detailed-nord.svg
@@ -3,100 +3,22 @@
width="900"
height="518"
viewBox="0 0 900 518"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -104,251 +26,414 @@
-
-
- mabd-dev · Open Source
-
-
+ mabd-dev · Open Source Contributions
-
-
-
-
- Projects
- 7
+
+
+
+
+ PROJECTS
+ 7
-
-
-
-
- PRs Merged
- 17
+
+
+
+
+ PRS MERGED
+ 17
-
-
-
-
- Lines Changed
- 2.9K
+
+
+
+
+ LINES CHANGED
+ 2.9K
-
- Top Contributions
-
+ Top Contributions
-
+
+
+
+
+
-
+
+ android-public
+ class="repo-name"
+
- android-public
-
+ y="290"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@ibad-al-rahman
+
- ⭐ 15 · 6 PRs Merged
-
+ y="330"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 6 PRs Merged
-
+
+
+
+
+
-
+
- Tomato
-
+ y="272"
+ fill="#d8dee9"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Tomato
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@nsh07
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- JetpackComposeTracker
-
+ y="272"
+ fill="#d8dee9"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">JetpackComposeTracker
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="290"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@qamarelsafadi
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
+ nav3-recipes
+ class="repo-name"
+
- nav3-recipes
-
+ y="410"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
- ⭐ 15 · 2 PRs Merged
-
+ y="450"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- cahier
-
+ y="392"
+ fill="#d8dee9"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">cahier
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@android
+
+ ⭐ 15 · 2 PRs Merged
-
+
+
+
+
+
-
+
- Compose-Rolling-Number
-
+ y="392"
+ fill="#d8dee9"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="16"
+ font-weight="bold"
+ letter-spacing="0em">Compose-Rolling-Number
+ class="repo-name"
+
- ⭐ 15 · 2 PRs Merged
-
+ y="410"
+ fill="#81a1c1"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@esatgozcu
+
+ ⭐ 15 · 2 PRs Merged
-
diff --git a/docs/badges/default-detailed-one-dark-vivid.svg b/docs/badges/default-detailed-one-dark-vivid.svg
new file mode 100644
index 0000000..42e734c
--- /dev/null
+++ b/docs/badges/default-detailed-one-dark-vivid.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-one-dark.svg b/docs/badges/default-detailed-one-dark.svg
new file mode 100644
index 0000000..42e734c
--- /dev/null
+++ b/docs/badges/default-detailed-one-dark.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-solarized-dark.svg b/docs/badges/default-detailed-solarized-dark.svg
new file mode 100644
index 0000000..aedd087
--- /dev/null
+++ b/docs/badges/default-detailed-solarized-dark.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-solarized-light.svg b/docs/badges/default-detailed-solarized-light.svg
new file mode 100644
index 0000000..e8f7895
--- /dev/null
+++ b/docs/badges/default-detailed-solarized-light.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-tokyo-light.svg b/docs/badges/default-detailed-tokyo-light.svg
new file mode 100644
index 0000000..ba13324
--- /dev/null
+++ b/docs/badges/default-detailed-tokyo-light.svg
@@ -0,0 +1,354 @@
+
+
+
diff --git a/docs/badges/default-detailed-tokyo-night-light.svg b/docs/badges/default-detailed-tokyo-night-light.svg
new file mode 100644
index 0000000..ce1ed64
--- /dev/null
+++ b/docs/badges/default-detailed-tokyo-night-light.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-tokyo-night-storm.svg b/docs/badges/default-detailed-tokyo-night-storm.svg
new file mode 100644
index 0000000..167e9a0
--- /dev/null
+++ b/docs/badges/default-detailed-tokyo-night-storm.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-detailed-tokyo-night.svg b/docs/badges/default-detailed-tokyo-night.svg
new file mode 100644
index 0000000..0cdf6f4
--- /dev/null
+++ b/docs/badges/default-detailed-tokyo-night.svg
@@ -0,0 +1,439 @@
+
+
diff --git a/docs/badges/default-summary-catppuccin-frappe.svg b/docs/badges/default-summary-catppuccin-frappe.svg
new file mode 100644
index 0000000..d696810
--- /dev/null
+++ b/docs/badges/default-summary-catppuccin-frappe.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-catppuccin-latte.svg b/docs/badges/default-summary-catppuccin-latte.svg
new file mode 100644
index 0000000..8602b35
--- /dev/null
+++ b/docs/badges/default-summary-catppuccin-latte.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-catppuccin-macchiato.svg b/docs/badges/default-summary-catppuccin-macchiato.svg
new file mode 100644
index 0000000..2df245f
--- /dev/null
+++ b/docs/badges/default-summary-catppuccin-macchiato.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-catppuccin-mocha.svg b/docs/badges/default-summary-catppuccin-mocha.svg
new file mode 100644
index 0000000..757cb55
--- /dev/null
+++ b/docs/badges/default-summary-catppuccin-mocha.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-dark.svg b/docs/badges/default-summary-dark.svg
index 412468a..5fc7a0a 100644
--- a/docs/badges/default-summary-dark.svg
+++ b/docs/badges/default-summary-dark.svg
@@ -12,7 +12,7 @@
"Segoe UI", Helvetica, Arial, sans-serif;
}
.bg {
- fill: #0d1117;
+ fill: #101820;
}
.card {
fill: #161b22;
diff --git a/docs/badges/default-summary-monaki.svg b/docs/badges/default-summary-monaki.svg
new file mode 100644
index 0000000..7c44ba7
--- /dev/null
+++ b/docs/badges/default-summary-monaki.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-monokai.svg b/docs/badges/default-summary-monokai.svg
new file mode 100644
index 0000000..7c44ba7
--- /dev/null
+++ b/docs/badges/default-summary-monokai.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-one-dark-vivid.svg b/docs/badges/default-summary-one-dark-vivid.svg
new file mode 100644
index 0000000..582e86a
--- /dev/null
+++ b/docs/badges/default-summary-one-dark-vivid.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-one-dark.svg b/docs/badges/default-summary-one-dark.svg
new file mode 100644
index 0000000..582e86a
--- /dev/null
+++ b/docs/badges/default-summary-one-dark.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-solarized-dark.svg b/docs/badges/default-summary-solarized-dark.svg
new file mode 100644
index 0000000..81b2e67
--- /dev/null
+++ b/docs/badges/default-summary-solarized-dark.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-solarized-light.svg b/docs/badges/default-summary-solarized-light.svg
new file mode 100644
index 0000000..f8ab9e1
--- /dev/null
+++ b/docs/badges/default-summary-solarized-light.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-tokyo-light.svg b/docs/badges/default-summary-tokyo-light.svg
new file mode 100644
index 0000000..6e892cf
--- /dev/null
+++ b/docs/badges/default-summary-tokyo-light.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-tokyo-night-light.svg b/docs/badges/default-summary-tokyo-night-light.svg
new file mode 100644
index 0000000..6e892cf
--- /dev/null
+++ b/docs/badges/default-summary-tokyo-night-light.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-tokyo-night-storm.svg b/docs/badges/default-summary-tokyo-night-storm.svg
new file mode 100644
index 0000000..dbeae0e
--- /dev/null
+++ b/docs/badges/default-summary-tokyo-night-storm.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/default-summary-tokyo-night.svg b/docs/badges/default-summary-tokyo-night.svg
new file mode 100644
index 0000000..fcfbf99
--- /dev/null
+++ b/docs/badges/default-summary-tokyo-night.svg
@@ -0,0 +1,58 @@
+
diff --git a/docs/badges/text-based-compact-catppuccin-frappe.svg b/docs/badges/text-based-compact-catppuccin-frappe.svg
new file mode 100644
index 0000000..991a3ac
--- /dev/null
+++ b/docs/badges/text-based-compact-catppuccin-frappe.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-catppuccin-latte.svg b/docs/badges/text-based-compact-catppuccin-latte.svg
new file mode 100644
index 0000000..195def5
--- /dev/null
+++ b/docs/badges/text-based-compact-catppuccin-latte.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-catppuccin-macchiato.svg b/docs/badges/text-based-compact-catppuccin-macchiato.svg
new file mode 100644
index 0000000..7e8e9a6
--- /dev/null
+++ b/docs/badges/text-based-compact-catppuccin-macchiato.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-catppuccin-mocha.svg b/docs/badges/text-based-compact-catppuccin-mocha.svg
new file mode 100644
index 0000000..f0c6049
--- /dev/null
+++ b/docs/badges/text-based-compact-catppuccin-mocha.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-dark.svg b/docs/badges/text-based-compact-dark.svg
index 0adf427..53a84ad 100644
--- a/docs/badges/text-based-compact-dark.svg
+++ b/docs/badges/text-based-compact-dark.svg
@@ -7,7 +7,7 @@
aria-label="OSS Contributions">
+
+
+
+ OSS
+ ·
+ 7
+ projects
+ ·
+ 17
+ PRs Merged
+
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-monokai.svg b/docs/badges/text-based-compact-monokai.svg
new file mode 100644
index 0000000..dad5c64
--- /dev/null
+++ b/docs/badges/text-based-compact-monokai.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-one-dark-vivid.svg b/docs/badges/text-based-compact-one-dark-vivid.svg
new file mode 100644
index 0000000..9321da9
--- /dev/null
+++ b/docs/badges/text-based-compact-one-dark-vivid.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-one-dark.svg b/docs/badges/text-based-compact-one-dark.svg
new file mode 100644
index 0000000..9321da9
--- /dev/null
+++ b/docs/badges/text-based-compact-one-dark.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-solarized-dark.svg b/docs/badges/text-based-compact-solarized-dark.svg
new file mode 100644
index 0000000..3e9c0c7
--- /dev/null
+++ b/docs/badges/text-based-compact-solarized-dark.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-solarized-light.svg b/docs/badges/text-based-compact-solarized-light.svg
new file mode 100644
index 0000000..515d4d4
--- /dev/null
+++ b/docs/badges/text-based-compact-solarized-light.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-tokyo-light.svg b/docs/badges/text-based-compact-tokyo-light.svg
new file mode 100644
index 0000000..2ae90d3
--- /dev/null
+++ b/docs/badges/text-based-compact-tokyo-light.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-tokyo-night-light.svg b/docs/badges/text-based-compact-tokyo-night-light.svg
new file mode 100644
index 0000000..2ae90d3
--- /dev/null
+++ b/docs/badges/text-based-compact-tokyo-night-light.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-tokyo-night-storm.svg b/docs/badges/text-based-compact-tokyo-night-storm.svg
new file mode 100644
index 0000000..6c49c98
--- /dev/null
+++ b/docs/badges/text-based-compact-tokyo-night-storm.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-compact-tokyo-night.svg b/docs/badges/text-based-compact-tokyo-night.svg
new file mode 100644
index 0000000..905654a
--- /dev/null
+++ b/docs/badges/text-based-compact-tokyo-night.svg
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-detailed-catppuccin-frappe.svg b/docs/badges/text-based-detailed-catppuccin-frappe.svg
new file mode 100644
index 0000000..add0eb4
--- /dev/null
+++ b/docs/badges/text-based-detailed-catppuccin-frappe.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-catppuccin-latte.svg b/docs/badges/text-based-detailed-catppuccin-latte.svg
new file mode 100644
index 0000000..5d3d2f5
--- /dev/null
+++ b/docs/badges/text-based-detailed-catppuccin-latte.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-catppuccin-macchiato.svg b/docs/badges/text-based-detailed-catppuccin-macchiato.svg
new file mode 100644
index 0000000..9cce519
--- /dev/null
+++ b/docs/badges/text-based-detailed-catppuccin-macchiato.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-catppuccin-mocha.svg b/docs/badges/text-based-detailed-catppuccin-mocha.svg
new file mode 100644
index 0000000..2e7a202
--- /dev/null
+++ b/docs/badges/text-based-detailed-catppuccin-mocha.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-dark.svg b/docs/badges/text-based-detailed-dark.svg
index b5f52fe..557221f 100644
--- a/docs/badges/text-based-detailed-dark.svg
+++ b/docs/badges/text-based-detailed-dark.svg
@@ -16,7 +16,7 @@
}
.bg {
- fill: #0d1117;
+ fill: #101820;
}
.username {
diff --git a/docs/badges/text-based-detailed-monaki.svg b/docs/badges/text-based-detailed-monaki.svg
new file mode 100644
index 0000000..7a92663
--- /dev/null
+++ b/docs/badges/text-based-detailed-monaki.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-monokai.svg b/docs/badges/text-based-detailed-monokai.svg
new file mode 100644
index 0000000..7a92663
--- /dev/null
+++ b/docs/badges/text-based-detailed-monokai.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-one-dark-vivid.svg b/docs/badges/text-based-detailed-one-dark-vivid.svg
new file mode 100644
index 0000000..16b53b1
--- /dev/null
+++ b/docs/badges/text-based-detailed-one-dark-vivid.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-one-dark.svg b/docs/badges/text-based-detailed-one-dark.svg
new file mode 100644
index 0000000..5d21dbf
--- /dev/null
+++ b/docs/badges/text-based-detailed-one-dark.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-solarized-dark.svg b/docs/badges/text-based-detailed-solarized-dark.svg
new file mode 100644
index 0000000..f580c66
--- /dev/null
+++ b/docs/badges/text-based-detailed-solarized-dark.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-solarized-light.svg b/docs/badges/text-based-detailed-solarized-light.svg
new file mode 100644
index 0000000..ba51075
--- /dev/null
+++ b/docs/badges/text-based-detailed-solarized-light.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-tokyo-light.svg b/docs/badges/text-based-detailed-tokyo-light.svg
new file mode 100644
index 0000000..c05fecd
--- /dev/null
+++ b/docs/badges/text-based-detailed-tokyo-light.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-tokyo-night-light.svg b/docs/badges/text-based-detailed-tokyo-night-light.svg
new file mode 100644
index 0000000..c05fecd
--- /dev/null
+++ b/docs/badges/text-based-detailed-tokyo-night-light.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-tokyo-night-storm.svg b/docs/badges/text-based-detailed-tokyo-night-storm.svg
new file mode 100644
index 0000000..48a924a
--- /dev/null
+++ b/docs/badges/text-based-detailed-tokyo-night-storm.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-detailed-tokyo-night.svg b/docs/badges/text-based-detailed-tokyo-night.svg
new file mode 100644
index 0000000..3e4cac9
--- /dev/null
+++ b/docs/badges/text-based-detailed-tokyo-night.svg
@@ -0,0 +1,192 @@
+
+
+
+
diff --git a/docs/badges/text-based-summary-catppuccin-frappe.svg b/docs/badges/text-based-summary-catppuccin-frappe.svg
new file mode 100644
index 0000000..cdfe416
--- /dev/null
+++ b/docs/badges/text-based-summary-catppuccin-frappe.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-catppuccin-latte.svg b/docs/badges/text-based-summary-catppuccin-latte.svg
new file mode 100644
index 0000000..de1bf6c
--- /dev/null
+++ b/docs/badges/text-based-summary-catppuccin-latte.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-catppuccin-macchiato.svg b/docs/badges/text-based-summary-catppuccin-macchiato.svg
new file mode 100644
index 0000000..56c87ff
--- /dev/null
+++ b/docs/badges/text-based-summary-catppuccin-macchiato.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-catppuccin-mocha.svg b/docs/badges/text-based-summary-catppuccin-mocha.svg
new file mode 100644
index 0000000..fce2033
--- /dev/null
+++ b/docs/badges/text-based-summary-catppuccin-mocha.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-dark.svg b/docs/badges/text-based-summary-dark.svg
index b4814cc..479cea4 100644
--- a/docs/badges/text-based-summary-dark.svg
+++ b/docs/badges/text-based-summary-dark.svg
@@ -12,7 +12,7 @@
"Segoe UI", Helvetica, Arial, sans-serif;
}
.bg {
- fill: #0d1117;
+ fill: #101820;
}
.username {
font-size: 18px;
diff --git a/docs/badges/text-based-summary-monaki.svg b/docs/badges/text-based-summary-monaki.svg
new file mode 100644
index 0000000..628951f
--- /dev/null
+++ b/docs/badges/text-based-summary-monaki.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-monokai.svg b/docs/badges/text-based-summary-monokai.svg
new file mode 100644
index 0000000..628951f
--- /dev/null
+++ b/docs/badges/text-based-summary-monokai.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-one-dark-vivid.svg b/docs/badges/text-based-summary-one-dark-vivid.svg
new file mode 100644
index 0000000..3e95dfe
--- /dev/null
+++ b/docs/badges/text-based-summary-one-dark-vivid.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-one-dark.svg b/docs/badges/text-based-summary-one-dark.svg
new file mode 100644
index 0000000..3e95dfe
--- /dev/null
+++ b/docs/badges/text-based-summary-one-dark.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-solarized-dark.svg b/docs/badges/text-based-summary-solarized-dark.svg
new file mode 100644
index 0000000..b8a6cce
--- /dev/null
+++ b/docs/badges/text-based-summary-solarized-dark.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-solarized-light.svg b/docs/badges/text-based-summary-solarized-light.svg
new file mode 100644
index 0000000..8f8fb54
--- /dev/null
+++ b/docs/badges/text-based-summary-solarized-light.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-tokyo-light.svg b/docs/badges/text-based-summary-tokyo-light.svg
new file mode 100644
index 0000000..d074f10
--- /dev/null
+++ b/docs/badges/text-based-summary-tokyo-light.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-tokyo-night-light.svg b/docs/badges/text-based-summary-tokyo-night-light.svg
new file mode 100644
index 0000000..d074f10
--- /dev/null
+++ b/docs/badges/text-based-summary-tokyo-night-light.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-tokyo-night-storm.svg b/docs/badges/text-based-summary-tokyo-night-storm.svg
new file mode 100644
index 0000000..9d0f743
--- /dev/null
+++ b/docs/badges/text-based-summary-tokyo-night-storm.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/badges/text-based-summary-tokyo-night.svg b/docs/badges/text-based-summary-tokyo-night.svg
new file mode 100644
index 0000000..3cc2c79
--- /dev/null
+++ b/docs/badges/text-based-summary-tokyo-night.svg
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/docs/release-notes/v0.3.3.md b/docs/release-notes/v0.3.3.md
new file mode 100644
index 0000000..76c3e85
--- /dev/null
+++ b/docs/release-notes/v0.3.3.md
@@ -0,0 +1,19 @@
+# Release Notes: v0.3.3
+
+Release Date: Feb 13, 2025
+Codename: Update template design + support 5 new color schemes
+
+## ✨ Features
+
+- docs: update README to mention newest gh-oss-stats-action version
+- Feat/more color themes (#27)
+
+## ♻️ Improvements
+
+- **Detailed Badge**: show repo owner name
+- Slight change to github dark theme background color
+
+
+## 🐛 Bug Fixes
+
+- fix broken md link
diff --git a/pkg/ossstats/badge/badge.go b/pkg/ossstats/badge/badge.go
index c0b256b..fd2128e 100644
--- a/pkg/ossstats/badge/badge.go
+++ b/pkg/ossstats/badge/badge.go
@@ -28,6 +28,7 @@ type templateData struct {
// contributionData holds formatted contribution data for templates
type contributionData struct {
RepoName string
+ Owner string
Stars string
PRs string
}
@@ -137,6 +138,7 @@ func getTopContributions(stats *ossstats.Stats, sortBy SortBy, limit int) []cont
for i := 0; i < limit; i++ {
result[i] = contributionData{
RepoName: contributions[i].RepoName,
+ Owner: contributions[i].Owner,
Stars: formatStars(contributions[i].Stars),
PRs: formatNumber(contributions[i].PRsMerged),
}
diff --git a/pkg/ossstats/badge/badgeTemplates/defaults.go b/pkg/ossstats/badge/badgeTemplates/defaults.go
index 62ce785..4b8d8b0 100644
--- a/pkg/ossstats/badge/badgeTemplates/defaults.go
+++ b/pkg/ossstats/badge/badgeTemplates/defaults.go
@@ -109,100 +109,22 @@ const DefaultDetailed = `
width="900"
height="{{add 278 (mul (div (add (len .TopContributions) 2) 3) 120)}}"
viewBox="0 0 900 {{add 278 (mul (div (add (len .TopContributions) 2) 3) 120)}}"
+ fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="GitHub Open Source Contribution Stats">
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
+
+
+
+
@@ -210,92 +132,155 @@ const DefaultDetailed = `
-
-
- {{.Stats.Username}} · Open Source
-
-
+ {{.Stats.Username}} · Open Source Contributions
-
-
-
-
- Projects
- {{.TotalProjects}}
+
+
+
+
+ PROJECTS
+ {{.TotalProjects}}
-
-
-
-
- PRs Merged
- {{.TotalPRs}}
+
+
+
+
+ PRS MERGED
+ {{.TotalPRs}}
-
-
-
-
- Lines Changed
- {{.TotalLines}}
+
+
+
+
+ LINES CHANGED
+ {{.TotalLines}}
-
- Top Contributions
-
+ Top Contributions
{{range $i, $r := .TopContributions}}
- {{ $col := mod $i 3 }}
- {{ $row := div $i 3 }}
-
+ {{$col := mod $i 3}}
+ {{$row := div $i 3}}
+ {{$x := add 32 (mul $col 288)}}
+ {{$y := add 240 (mul $row 120)}}
+
+
+
-
+
+ {{$r.RepoName}}
+
- {{$r.RepoName}}
-
+ x="{{add $x 16}}"
+ y="{{add $y 50}}"
+ fill="{{$.Colors.TextSecondary}}"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">@{{$r.Owner}}
+
- ⭐ {{$r.Stars}} · {{$r.PRs}} PRs Merged
-
+ x="{{add $x 16}}"
+ y="{{add $y 90}}"
+ fill="{{$.Colors.TextSecondary}}"
+ font-family="Inter, system-ui, -apple-system, sans-serif"
+ font-size="12"
+ letter-spacing="0em">⭐ {{$r.Stars}} · {{$r.PRs}} PRs Merged
{{end}}
-
`
diff --git a/pkg/ossstats/badge/badgeTheme.go b/pkg/ossstats/badge/badgeTheme.go
index be552d8..3a1c7af 100644
--- a/pkg/ossstats/badge/badgeTheme.go
+++ b/pkg/ossstats/badge/badgeTheme.go
@@ -11,12 +11,24 @@ var DefaultBadgeTheme = ThemeGithubDark
type BadgeTheme string
const (
- ThemeGithubDark BadgeTheme = "dark"
- ThemeGithubLight BadgeTheme = "light"
- ThemeDracula BadgeTheme = "dracula"
- ThemeNord BadgeTheme = "nord"
- ThemeGruvboxDark BadgeTheme = "gruvbox-dark"
- ThemeGruvboxLight BadgeTheme = "gruvbox-light"
+ ThemeGithubDark BadgeTheme = "dark"
+ ThemeGithubLight BadgeTheme = "light"
+ ThemeDracula BadgeTheme = "dracula"
+ ThemeNord BadgeTheme = "nord"
+ ThemeGruvboxDark BadgeTheme = "gruvbox-dark"
+ ThemeGruvboxLight BadgeTheme = "gruvbox-light"
+ ThemeMonokai BadgeTheme = "monokai"
+ ThemeSolarizedDark BadgeTheme = "solarized-dark"
+ ThemeSolarizedLight BadgeTheme = "solarized-light"
+ ThemeTokyoNight BadgeTheme = "tokyo-night"
+ ThemeTokyoNightStorm BadgeTheme = "tokyo-night-storm"
+ ThemeTokyoNightLight BadgeTheme = "tokyo-night-light"
+ ThemeOneDark BadgeTheme = "one-dark"
+ ThemeOneDarkVivid BadgeTheme = "one-dark-vivid"
+ ThemeCatppuccinMocha BadgeTheme = "catppuccin-mocha"
+ ThemeCatppuccinMacchiato BadgeTheme = "catppuccin-macchiato"
+ ThemeCatppuccinFrappe BadgeTheme = "catppuccin-frappe"
+ ThemeCatppuccinLatte BadgeTheme = "catppuccin-latte"
)
func BadgeThemeFromName(name string) (BadgeTheme, error) {
@@ -33,8 +45,33 @@ func BadgeThemeFromName(name string) (BadgeTheme, error) {
return ThemeGruvboxDark, nil
case "gruvbox-light":
return ThemeGruvboxLight, nil
+ case "monokai":
+ return ThemeMonokai, nil
+ case "solarized-dark":
+ return ThemeSolarizedDark, nil
+ case "solarized-light":
+ return ThemeSolarizedLight, nil
+ case "tokyo-night":
+ return ThemeTokyoNight, nil
+ case "tokyo-night-storm":
+ return ThemeTokyoNightStorm, nil
+ case "tokyo-night-light":
+ return ThemeTokyoNightLight, nil
+ case "one-dark":
+ return ThemeOneDark, nil
+ case "one-dark-vivid":
+ return ThemeOneDarkVivid, nil
+ case "catppuccin-mocha":
+ return ThemeCatppuccinMocha, nil
+ case "catppuccin-macchiato":
+ return ThemeCatppuccinMacchiato, nil
+ case "catppuccin-frappe":
+ return ThemeCatppuccinFrappe, nil
+ case "catppuccin-latte":
+ return ThemeCatppuccinLatte, nil
}
- err := fmt.Errorf("invalid badge theme: %s (must be: dark, light, dracula, nord, gruvbox-dark, gruvbox-light)", name)
+
+ err := fmt.Errorf("invalid badge theme: %s (check https://github.com/mabd-dev/gh-oss-stats/blob/main/docs/badges/BADGE_THEMES.md for all possible values)", name)
return DefaultBadgeTheme, err
}
@@ -121,10 +158,155 @@ func GetThemeColors(theme BadgeTheme) ThemeColors {
Negative: "#cc241d",
Star: "#cc241d",
}
+ case ThemeMonokai:
+ return ThemeColors{
+ Background: "#272822",
+ BackgroundAlt: "#3E3D32",
+ Text: "#F8F8F2",
+ TextSecondary: "#75715E",
+ Border: "#49483E",
+ Accent: "#66D9EF",
+ Positive: "#A6E22E",
+ Negative: "#F92672",
+ Star: "#E6DB74",
+ }
+ case ThemeSolarizedDark:
+ return ThemeColors{
+ Background: "#002B36",
+ BackgroundAlt: "#073642",
+ Text: "#839496",
+ TextSecondary: "#586E75",
+ Border: "#073642",
+ Accent: "#268BD2",
+ Positive: "#859900",
+ Negative: "#DC322F",
+ Star: "#B58900",
+ }
+ case ThemeSolarizedLight:
+ return ThemeColors{
+ Background: "#FDF6E3",
+ BackgroundAlt: "#EEE8D5",
+ Text: "#657B83",
+ TextSecondary: "#93A1A1",
+ Border: "#EEE8D5",
+ Accent: "#268BD2",
+ Positive: "#859900",
+ Negative: "#DC322F",
+ Star: "#B58900",
+ }
+ case ThemeTokyoNight:
+ return ThemeColors{
+ Background: "#1A1B26",
+ BackgroundAlt: "#24283B",
+ Text: "#C0CAF5",
+ TextSecondary: "#565F89",
+ Border: "#414868",
+ Accent: "#7AA2F7",
+ Positive: "#9ECE6A",
+ Negative: "#F7768E",
+ Star: "#E0AF68",
+ }
+ case ThemeTokyoNightStorm:
+ return ThemeColors{
+ Background: "#24283B",
+ BackgroundAlt: "#1F2335",
+ Text: "#C0CAF5",
+ TextSecondary: "#565F89",
+ Border: "#414868",
+ Accent: "#7AA2F7",
+ Positive: "#9ECE6A",
+ Negative: "#F7768E",
+ Star: "#E0AF68",
+ }
+ case ThemeTokyoNightLight:
+ return ThemeColors{
+ Background: "#D5D6DB",
+ BackgroundAlt: "#CBCCD1",
+ Text: "#343B58",
+ TextSecondary: "#6172AF",
+ Border: "#C4C8DA",
+ Accent: "#34548A",
+ Positive: "#485E30",
+ Negative: "#8C4351",
+ Star: "#8F5E15",
+ }
+ case ThemeOneDark:
+ return ThemeColors{
+ Background: "#282C34",
+ BackgroundAlt: "#21252B",
+ Text: "#ABB2BF",
+ TextSecondary: "#5C6370",
+ Border: "#3E4451",
+ Accent: "#61AFEF",
+ Positive: "#98C379",
+ Negative: "#E06C75",
+ Star: "#E5C07B",
+ }
+ case ThemeOneDarkVivid:
+ return ThemeColors{
+ Background: "#282C34",
+ BackgroundAlt: "#21252B",
+ Text: "#ABB2BF",
+ TextSecondary: "#5C6370",
+ Border: "#3E4451",
+ Accent: "#528BFF",
+ Positive: "#98C379",
+ Negative: "#EF596F",
+ Star: "#D19A66",
+ }
+ case ThemeCatppuccinMocha:
+ return ThemeColors{
+ Background: "#1E1E2E",
+ BackgroundAlt: "#313244",
+ Text: "#CDD6F4",
+ TextSecondary: "#A6ADC8",
+ Border: "#45475A",
+ Accent: "#89B4FA",
+ Positive: "#A6E3A1",
+ Negative: "#F38BA8",
+ Star: "#F9E2AF",
+ }
+ case ThemeCatppuccinMacchiato:
+ return ThemeColors{
+ Background: "#24273A",
+ BackgroundAlt: "#363A4F",
+ Text: "#CAD3F5",
+ TextSecondary: "#A5ADCB",
+ Border: "#494D64",
+ Accent: "#8AADF4",
+ Positive: "#A6DA95",
+ Negative: "#ED8796",
+ Star: "#EED49F",
+ }
+ case ThemeCatppuccinFrappe:
+ return ThemeColors{
+ Background: "#303446",
+ BackgroundAlt: "#414559",
+ Text: "#C6D0F5",
+ TextSecondary: "#A5ADCE",
+ Border: "#51576D",
+ Accent: "#8CAAEE",
+ Positive: "#A6D189",
+ Negative: "#E78284",
+ Star: "#E5C890",
+ }
+ case ThemeCatppuccinLatte:
+ return ThemeColors{
+ Background: "#EFF1F5",
+ BackgroundAlt: "#CCD0DA",
+ Text: "#4C4F69",
+ TextSecondary: "#6C6F85",
+ Border: "#BCC0CC",
+ Accent: "#1E66F5",
+ Positive: "#40A02B",
+ Negative: "#D20F39",
+ Star: "#DF8E1D",
+ }
+
default:
// Github dark
return ThemeColors{
- Background: "#0d1117",
+ Background: "#101820",
BackgroundAlt: "#161b22",
Text: "#e6edf3",
TextSecondary: "#8b949e",
diff --git a/pkg/ossstats/badge/badge_test.go b/pkg/ossstats/badge/badge_test.go
index e240db8..489eb1d 100644
--- a/pkg/ossstats/badge/badge_test.go
+++ b/pkg/ossstats/badge/badge_test.go
@@ -253,7 +253,7 @@ func TestRenderSVG_ThemeColors(t *testing.T) {
name: "dark_theme_summary",
style: StyleSummary,
theme: ThemeGithubDark,
- wantColor: "#0d1117", // background color
+ wantColor: "#101820", // background color
wantAccent: "", // summary doesn't use accent in visible way
},
{
@@ -376,6 +376,7 @@ func TestRenderSVG_DetailedBadgeLimit(t *testing.T) {
wantCount int
}{
{
+
name: "limit_3",
limit: 3,
wantCount: 3,
@@ -399,23 +400,27 @@ func TestRenderSVG_DetailedBadgeLimit(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
- opts := BadgeOptions{
- Style: StyleDetailed,
- Variant: VariantDefault,
- Theme: ThemeGithubDark,
- SortBy: SortByPRs,
- Limit: tt.limit,
- }
+ variants := []BadgeVariant{VariantDefault, VariantTextBased}
+
+ for _, variant := range variants {
+ opts := BadgeOptions{
+ Style: StyleDetailed,
+ Variant: variant,
+ Theme: ThemeGithubDark,
+ SortBy: SortByPRs,
+ Limit: tt.limit,
+ }
- svg, err := RenderSVG(stats, opts)
- if err != nil {
- t.Fatalf("RenderSVG() unexpected error: %v", err)
- }
+ svg, err := RenderSVG(stats, opts)
+ if err != nil {
+ t.Fatalf("RenderSVG() unexpected error: %v", err)
+ }
- // Count occurrences of repo-name class
- count := strings.Count(svg, `class="repo-name"`)
- if count != tt.wantCount {
- t.Errorf("RenderSVG() got %d repos, want %d", count, tt.wantCount)
+ // Count occurrences of repo-name class
+ count := strings.Count(svg, `class="repo-name"`)
+ if count != tt.wantCount {
+ t.Errorf("RenderSVG() got %d repos, want %d", count, tt.wantCount)
+ }
}
})
}
@@ -549,7 +554,7 @@ func TestGetThemeColors(t *testing.T) {
{
name: "dark_theme",
theme: ThemeGithubDark,
- wantBackground: "#0d1117",
+ wantBackground: "#101820",
wantAccent: "#58a6ff",
},
{
@@ -573,7 +578,7 @@ func TestGetThemeColors(t *testing.T) {
{
name: "unknown_theme_defaults_to_dark",
theme: BadgeTheme("unknown"),
- wantBackground: "#0d1117",
+ wantBackground: "#101820",
wantAccent: "#58a6ff",
},
}
diff --git a/pkg/ossstats/badge/example_test.go b/pkg/ossstats/badge/example_test.go
index 044586c..66c1bea 100644
--- a/pkg/ossstats/badge/example_test.go
+++ b/pkg/ossstats/badge/example_test.go
@@ -95,5 +95,5 @@ func ExampleRenderSVG_detailed() {
}
fmt.Printf("Generated detailed badge (%d bytes)\n", len(svg))
- // Output: Generated detailed badge (5413 bytes)
+ // Output: Generated detailed badge (6634 bytes)
}