Skip to content

Commit 869a3e7

Browse files
committed
Update data sources to 2025-05-08, add a cron job to the build workflow to rebuild the website each week, and automate data fetching
1 parent 4e1e459 commit 869a3e7

File tree

5 files changed

+269
-26
lines changed

5 files changed

+269
-26
lines changed

.github/workflows/build.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ on: # yamllint disable-line rule:truthy
1414
- main
1515
- '*.*'
1616
- 'staging*'
17+
schedule:
18+
- cron: '0 12 * * 0'
1719
workflow_dispatch:
1820

1921
permissions:

src/lib/components/DynamicIcon.svelte

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,36 @@
77
export let iconTheme = "bs";
88
export let size = "1.2rem";
99
10-
let iconThemes = {
10+
// We need to use the proper import structure for svelte-icons-pack
11+
// First import the whole theme, then access specific icons
12+
const themeImports = {
1113
ai: () => import("svelte-icons-pack/ai"),
1214
bs: () => import("svelte-icons-pack/bs"),
1315
bi: () => import("svelte-icons-pack/bi"),
14-
ci: () => import("svelte-icons-pack/ci"),
15-
fi: () => import("svelte-icons-pack/fi"),
16-
fa: () => import("svelte-icons-pack/fa"),
17-
oi: () => import("svelte-icons-pack/oi"),
18-
hi: () => import("svelte-icons-pack/hi"),
19-
im: () => import("svelte-icons-pack/im"),
20-
io: () => import("svelte-icons-pack/io"),
2116
lu: () => import("svelte-icons-pack/lu"),
22-
ri: () => import("svelte-icons-pack/ri"),
23-
si: () => import("svelte-icons-pack/si"),
24-
sl: () => import("svelte-icons-pack/sl"),
25-
ti: () => import("svelte-icons-pack/ti"),
26-
tr: () => import("svelte-icons-pack/tr"),
27-
wi: () => import("svelte-icons-pack/wi"),
2817
vsc: () => import("svelte-icons-pack/vsc"),
18+
// Add others as needed
2919
};
3020
3121
async function getIcon(iconName, iconTheme) {
3222
try {
33-
const moduleLoader = iconThemes[iconTheme];
34-
if (!moduleLoader) {
35-
throw new Error(`Unknown icon theme: ${iconTheme}`);
23+
// Get the theme module loader
24+
const themeLoader = themeImports[iconTheme];
25+
if (!themeLoader) {
26+
console.warn(`Icon theme not configured: ${iconTheme}`);
27+
return null;
3628
}
37-
const module = await moduleLoader();
38-
return module[iconName];
29+
30+
// Load the entire theme module
31+
const themeModule = await themeLoader();
32+
33+
// Get the specific icon from the theme
34+
if (!(iconName in themeModule)) {
35+
console.warn(`Icon not found: ${iconName} in theme: ${iconTheme}`);
36+
return null;
37+
}
38+
39+
return themeModule[iconName];
3940
} catch (error) {
4041
console.error(`Failed to load icon: ${iconName} from theme: ${iconTheme}`, error);
4142
return null;

static/data/github-contributors.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"type": "User",
2020
"user_view_type": "public",
2121
"site_admin": false,
22-
"contributions": 14431
22+
"contributions": 14462
2323
},
2424
{
2525
"login": "dalthviz",
@@ -129,7 +129,7 @@
129129
"type": "User",
130130
"user_view_type": "public",
131131
"site_admin": false,
132-
"contributions": 986
132+
"contributions": 993
133133
},
134134
{
135135
"login": "jnsebgosselin",
@@ -305,7 +305,7 @@
305305
"type": "User",
306306
"user_view_type": "public",
307307
"site_admin": false,
308-
"contributions": 298
308+
"contributions": 302
309309
},
310310
{
311311
"login": "hlouzada",
@@ -503,7 +503,7 @@
503503
"type": "User",
504504
"user_view_type": "public",
505505
"site_admin": false,
506-
"contributions": 95
506+
"contributions": 98
507507
},
508508
{
509509
"login": "dhoegh",

static/data/hubspot.json

Lines changed: 227 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,118 @@
363363
"pipeline": "691999256"
364364
},
365365
"updatedAt": "2025-04-29T17:04:39.244Z"
366+
},
367+
{
368+
"createdAt": "2025-05-03T09:46:35.819Z",
369+
"archived": false,
370+
"id": "36669741836",
371+
"properties": {
372+
"amount": "15.00",
373+
"createdate": "2025-05-03T09:46:35.819Z",
374+
"dealname": "Smarter code completion: One-time via Payment Link",
375+
"hs_lastmodifieddate": "2025-05-03T09:52:03.955Z",
376+
"hs_object_id": "36669741836",
377+
"pipeline": "691999256"
378+
},
379+
"updatedAt": "2025-05-03T09:52:03.955Z"
380+
},
381+
{
382+
"createdAt": "2025-05-03T11:31:49.309Z",
383+
"archived": false,
384+
"id": "36669445015",
385+
"properties": {
386+
"amount": "100.00",
387+
"createdate": "2025-05-03T11:31:49.309Z",
388+
"dealname": "Spyder One-time via Payment Link",
389+
"hs_lastmodifieddate": "2025-05-03T11:37:19.645Z",
390+
"hs_object_id": "36669445015",
391+
"pipeline": "691999256"
392+
},
393+
"updatedAt": "2025-05-03T11:37:19.645Z"
394+
},
395+
{
396+
"createdAt": "2025-05-04T01:52:57.487Z",
397+
"archived": false,
398+
"id": "36667340080",
399+
"properties": {
400+
"amount": "25.00",
401+
"createdate": "2025-05-04T01:52:57.487Z",
402+
"dealname": "Spyder One-time via Payment Link",
403+
"hs_lastmodifieddate": "2025-05-04T01:53:10.490Z",
404+
"hs_object_id": "36667340080",
405+
"pipeline": "691999256"
406+
},
407+
"updatedAt": "2025-05-04T01:53:10.490Z"
408+
},
409+
{
410+
"createdAt": "2025-05-04T12:45:20.458Z",
411+
"archived": false,
412+
"id": "36680225375",
413+
"properties": {
414+
"amount": "10.00",
415+
"createdate": "2025-05-04T12:45:20.458Z",
416+
"dealname": "Smarter code completion: One-time via Payment Link",
417+
"hs_lastmodifieddate": "2025-05-04T12:50:41.233Z",
418+
"hs_object_id": "36680225375",
419+
"pipeline": "691999256"
420+
},
421+
"updatedAt": "2025-05-04T12:50:41.233Z"
422+
},
423+
{
424+
"createdAt": "2025-05-04T18:50:16.137Z",
425+
"archived": false,
426+
"id": "36672569189",
427+
"properties": {
428+
"amount": "10.00",
429+
"createdate": "2025-05-04T18:50:16.137Z",
430+
"dealname": "Spyder One-time via Payment Link",
431+
"hs_lastmodifieddate": "2025-05-04T18:50:38.651Z",
432+
"hs_object_id": "36672569189",
433+
"pipeline": "691999256"
434+
},
435+
"updatedAt": "2025-05-04T18:50:38.651Z"
436+
},
437+
{
438+
"createdAt": "2025-05-04T21:55:20.178Z",
439+
"archived": false,
440+
"id": "36687533695",
441+
"properties": {
442+
"amount": "50.00",
443+
"createdate": "2025-05-04T21:55:20.178Z",
444+
"dealname": "Level-up the Variable Explorer: One-time via Payment Link",
445+
"hs_lastmodifieddate": "2025-05-04T21:55:45.189Z",
446+
"hs_object_id": "36687533695",
447+
"pipeline": "691999256"
448+
},
449+
"updatedAt": "2025-05-04T21:55:45.189Z"
450+
},
451+
{
452+
"createdAt": "2025-05-06T20:46:16.006Z",
453+
"archived": false,
454+
"id": "36834640221",
455+
"properties": {
456+
"amount": "15.00",
457+
"createdate": "2025-05-06T20:46:16.006Z",
458+
"dealname": "Spyder One-time via Payment Link",
459+
"hs_lastmodifieddate": "2025-05-06T20:51:29.385Z",
460+
"hs_object_id": "36834640221",
461+
"pipeline": "691999256"
462+
},
463+
"updatedAt": "2025-05-06T20:51:29.385Z"
464+
},
465+
{
466+
"createdAt": "2025-05-08T11:00:42.052Z",
467+
"archived": false,
468+
"id": "36896574053",
469+
"properties": {
470+
"amount": "10.00",
471+
"createdate": "2025-05-08T11:00:42.052Z",
472+
"dealname": "Spyder One-time via Payment Link",
473+
"hs_lastmodifieddate": "2025-05-08T11:06:05.623Z",
474+
"hs_object_id": "36896574053",
475+
"pipeline": "691999256"
476+
},
477+
"updatedAt": "2025-05-08T11:06:05.623Z"
366478
}
367479
],
368480
"monthlyDeals": [
@@ -731,10 +843,122 @@
731843
"pipeline": "691999256"
732844
},
733845
"updatedAt": "2025-04-29T17:04:39.244Z"
846+
},
847+
{
848+
"createdAt": "2025-05-03T09:46:35.819Z",
849+
"archived": false,
850+
"id": "36669741836",
851+
"properties": {
852+
"amount": "15.00",
853+
"createdate": "2025-05-03T09:46:35.819Z",
854+
"dealname": "Smarter code completion: One-time via Payment Link",
855+
"hs_lastmodifieddate": "2025-05-03T09:52:03.955Z",
856+
"hs_object_id": "36669741836",
857+
"pipeline": "691999256"
858+
},
859+
"updatedAt": "2025-05-03T09:52:03.955Z"
860+
},
861+
{
862+
"createdAt": "2025-05-03T11:31:49.309Z",
863+
"archived": false,
864+
"id": "36669445015",
865+
"properties": {
866+
"amount": "100.00",
867+
"createdate": "2025-05-03T11:31:49.309Z",
868+
"dealname": "Spyder One-time via Payment Link",
869+
"hs_lastmodifieddate": "2025-05-03T11:37:19.645Z",
870+
"hs_object_id": "36669445015",
871+
"pipeline": "691999256"
872+
},
873+
"updatedAt": "2025-05-03T11:37:19.645Z"
874+
},
875+
{
876+
"createdAt": "2025-05-04T01:52:57.487Z",
877+
"archived": false,
878+
"id": "36667340080",
879+
"properties": {
880+
"amount": "25.00",
881+
"createdate": "2025-05-04T01:52:57.487Z",
882+
"dealname": "Spyder One-time via Payment Link",
883+
"hs_lastmodifieddate": "2025-05-04T01:53:10.490Z",
884+
"hs_object_id": "36667340080",
885+
"pipeline": "691999256"
886+
},
887+
"updatedAt": "2025-05-04T01:53:10.490Z"
888+
},
889+
{
890+
"createdAt": "2025-05-04T12:45:20.458Z",
891+
"archived": false,
892+
"id": "36680225375",
893+
"properties": {
894+
"amount": "10.00",
895+
"createdate": "2025-05-04T12:45:20.458Z",
896+
"dealname": "Smarter code completion: One-time via Payment Link",
897+
"hs_lastmodifieddate": "2025-05-04T12:50:41.233Z",
898+
"hs_object_id": "36680225375",
899+
"pipeline": "691999256"
900+
},
901+
"updatedAt": "2025-05-04T12:50:41.233Z"
902+
},
903+
{
904+
"createdAt": "2025-05-04T18:50:16.137Z",
905+
"archived": false,
906+
"id": "36672569189",
907+
"properties": {
908+
"amount": "10.00",
909+
"createdate": "2025-05-04T18:50:16.137Z",
910+
"dealname": "Spyder One-time via Payment Link",
911+
"hs_lastmodifieddate": "2025-05-04T18:50:38.651Z",
912+
"hs_object_id": "36672569189",
913+
"pipeline": "691999256"
914+
},
915+
"updatedAt": "2025-05-04T18:50:38.651Z"
916+
},
917+
{
918+
"createdAt": "2025-05-04T21:55:20.178Z",
919+
"archived": false,
920+
"id": "36687533695",
921+
"properties": {
922+
"amount": "50.00",
923+
"createdate": "2025-05-04T21:55:20.178Z",
924+
"dealname": "Level-up the Variable Explorer: One-time via Payment Link",
925+
"hs_lastmodifieddate": "2025-05-04T21:55:45.189Z",
926+
"hs_object_id": "36687533695",
927+
"pipeline": "691999256"
928+
},
929+
"updatedAt": "2025-05-04T21:55:45.189Z"
930+
},
931+
{
932+
"createdAt": "2025-05-06T20:46:16.006Z",
933+
"archived": false,
934+
"id": "36834640221",
935+
"properties": {
936+
"amount": "15.00",
937+
"createdate": "2025-05-06T20:46:16.006Z",
938+
"dealname": "Spyder One-time via Payment Link",
939+
"hs_lastmodifieddate": "2025-05-06T20:51:29.385Z",
940+
"hs_object_id": "36834640221",
941+
"pipeline": "691999256"
942+
},
943+
"updatedAt": "2025-05-06T20:51:29.385Z"
944+
},
945+
{
946+
"createdAt": "2025-05-08T11:00:42.052Z",
947+
"archived": false,
948+
"id": "36896574053",
949+
"properties": {
950+
"amount": "10.00",
951+
"createdate": "2025-05-08T11:00:42.052Z",
952+
"dealname": "Spyder One-time via Payment Link",
953+
"hs_lastmodifieddate": "2025-05-08T11:06:05.623Z",
954+
"hs_object_id": "36896574053",
955+
"pipeline": "691999256"
956+
},
957+
"updatedAt": "2025-05-08T11:06:05.623Z"
734958
}
735959
],
736-
"totalDonations": 887,
960+
"totalDonations": 1122,
737961
"totalMonthlyDonations": 360,
738-
"totalOneTimeDonations": 527,
739-
"lastUpdated": "2025-04-29T19:56:58.134Z"
962+
"totalOneTimeDonations": 762,
963+
"lastUpdated": "2025-05-08T22:01:16.424Z"
740964
}

vite.config.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,21 @@ export default defineConfig({
1717
chunkSizeWarningLimit: 1500,
1818
ssrEmitAssets: true,
1919
sourcemap: false,
20+
rollupOptions: {
21+
output: {
22+
manualChunks: {
23+
'svelte-core': ['svelte'],
24+
// Create separate chunks for each icon pack
25+
'icons-ai': ['svelte-icons-pack/ai'],
26+
'icons-bs': ['svelte-icons-pack/bs'],
27+
'icons-bi': ['svelte-icons-pack/bi'],
28+
'icons-lu': ['svelte-icons-pack/lu'],
29+
'icons-vsc': ['svelte-icons-pack/vsc'],
30+
}
31+
}
32+
},
2033
},
34+
optimizeDeps: {
35+
include: ['svelte'],
36+
}
2137
});

0 commit comments

Comments
 (0)