Commit 64421a6
Changed files (3)
badges
programmers-day
badges/programmers-day/programmers-day.png
Binary file
badges/programmers-day/programmers-day.ts
@@ -0,0 +1,33 @@
+import { Commit, define, latest } from '#src'
+
+export default define({
+ url: import.meta.url,
+ badges: ['programmers-day'] as const,
+ present(data, grant) {
+ const commits: Commit[] = []
+
+ for (const repo of data.repos) {
+ for (const commit of repo.commits) {
+ const data = new Date(commit.committedDate)
+ if (getDayOfYear(data) === 256) {
+ commits.push(commit)
+ }
+ }
+ }
+
+ if (commits.length > 0) {
+ grant(
+ 'programmers-day',
+ 'Happy Programmers Day! I committed on a 256 Day of Year!',
+ ).evidenceCommits(...commits.sort(latest).slice(0, 6))
+ }
+ },
+})
+
+function getDayOfYear(date: Date) {
+ return (
+ (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) -
+ Date.UTC(date.getFullYear(), 0, 0)) /
+ 86400000
+ )
+}
badges/index.ts
@@ -20,6 +20,7 @@ export default [
await import('./oss-library-night-24/oss-library-night-24.js'),
await import('./polite-coder/polite-coder.js'),
await import('./pr-collaboration/pr-collaboration.js'),
+ await import('./programmers-day/programmers-day.js'),
await import('./public-keys/public-keys.js'),
await import('./reactions/reactions.js'),
await import('./revert-revert-commit/revert-revert-commit.js'),