diff --git a/.github/workflows/scheduler_daily.yml b/.github/workflows/scheduler_daily.yml
index f06fa899..02d26e9c 100644
--- a/.github/workflows/scheduler_daily.yml
+++ b/.github/workflows/scheduler_daily.yml
@@ -89,8 +89,7 @@ jobs:
- name: 🔧 Build & Test
run: |
- # Convert human-readable Geojson file into computer-friendly one
- bundle exec rake compact_geojson
+ # Jekyll plugin automatically runs upsert_dojos_geojson, compact_geojson, and cache_dojo_logos
JEKYLL_ENV=production bundle exec jekyll build
JEKYLL_ENV=production bundle exec jekyll doctor
SKIP_BUILD=true bundle exec rake test
diff --git a/_data/dojo2dojo.json b/_data/dojo2dojo.json
index 88eead48..c5b656e7 100644
--- a/_data/dojo2dojo.json
+++ b/_data/dojo2dojo.json
@@ -111,6 +111,14 @@
"urlSlug": "jp/murayama-yamagata/murayama",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "1178be6f-f652-4dd1-bf95-3a8b9300b7a3",
+ "name_japan": "SAGA@駅前中央",
+ "name_earth": "CoderDojo SAGA@駅前中央",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "1237536f-44cf-44a7-8fb6-464fb12f3865",
"name_japan": "神楽坂",
@@ -199,6 +207,14 @@
"urlSlug": "jp/qian1-ye4-xian4/kamagaya-chiba",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "1a5ece9e-b149-4cd1-b05f-9a3b8b39bb7a",
+ "name_japan": "八女",
+ "name_earth": "CoderDojo八女",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "1c8ab0f9-e1ab-4874-b364-d620a84ea0dc",
"name_japan": "立川",
@@ -375,6 +391,14 @@
"urlSlug": "jp/maebashi-gunma-prefecture/maebashi-gunma",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "3a2f68c8-b54a-412b-bf28-915df1563b85",
+ "name_japan": "鳥羽@竹田住設",
+ "name_earth": "鳥羽 @ 竹田住設",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "3d037ab0-1ba5-4c94-97ef-2898a37bdb68",
"name_japan": "多摩センター",
@@ -471,6 +495,14 @@
"urlSlug": "jp/ri4-ben3-dong1-jing1-du1-li3-dao3-qu1/ikebukuro-tokyo-unique-inet",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "4e31fc13-205c-4738-9b62-2722d890f6ed",
+ "name_japan": "砧",
+ "name_earth": "CoderDojo砧",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "4f1bc4c3-4bde-47f7-9d84-b8c0038f8c06",
"name_japan": "滝沢",
@@ -695,6 +727,14 @@
"urlSlug": "jp/japan-aichi/dao4-ze2-zheng4-ming2-si4",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "7b441779-c5ab-45af-8823-1a87e95e5d6a",
+ "name_japan": "新大阪",
+ "name_earth": "CoderDojo新大阪",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "7c0ca939-b98e-4fa5-aa6c-dcdf2cffd280",
"name_japan": "浦和@Urawa Minecraft Club",
@@ -767,6 +807,14 @@
"urlSlug": "jp/japan/inagawa-hyogo",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "84f71084-cbb9-4712-b0fc-1e15cd47f90f",
+ "name_japan": "赤坂国際",
+ "name_earth": "Coders International Tokyo",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "85796abb-f777-4edd-886d-af0345e8fde8",
"name_japan": "安城",
@@ -1151,6 +1199,14 @@
"urlSlug": "jp/nihonmatsu-fukushima/sent",
"status": "RUNNING_SESSIONS"
},
+ {
+ "global_club_id": "d600a123-6181-418a-80ee-20a25d9af6e1",
+ "name_japan": "南会津",
+ "name_earth": "CoderDojo南会津",
+ "countryCode": "JP",
+ "urlSlug": null,
+ "status": "RUNNING_SESSIONS"
+ },
{
"global_club_id": "d6a7d7e6-6043-4efd-bba4-db5abf0d6372",
"name_japan": "嘉手納",
diff --git a/_plugins/build_hooks.rb b/_plugins/build_hooks.rb
new file mode 100644
index 00000000..cd62fdf7
--- /dev/null
+++ b/_plugins/build_hooks.rb
@@ -0,0 +1,18 @@
+# Pre-build tasks that run before Jekyll builds the site
+Jekyll::Hooks.register :site, :after_init do |site|
+ puts "🔄 Running pre-build tasks..."
+
+ # Update GeoJSON data
+ puts " → Updating dojos.geojson..."
+ system('bundle exec rake upsert_dojos_geojson')
+
+ # Compact GeoJSON for production
+ puts " → Creating dojos.min.geojson..."
+ system('bundle exec rake compact_geojson')
+
+ # Cache dojo logos
+ puts " → Caching dojo logos..."
+ system('bundle exec rake cache_dojo_logos')
+
+ puts "✅ Pre-build tasks completed"
+end
diff --git a/dojos.geojson b/dojos.geojson
index 6ff0cd59..466e7fac 100644
--- a/dojos.geojson
+++ b/dojos.geojson
@@ -1246,6 +1246,21 @@
"description": " 
村山
村山市で毎月開催
Webサイトを見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 130.2969361,
+ 33.2625159
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
SAGA@駅前中央
佐賀市で毎月土曜開催
→ 次回: 2月7日
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -2041,6 +2056,21 @@
"description": "
Douala @ Mbcode
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 130.58926123030565,
+ 33.20941641677492
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
八女
八女市で毎月開催
→ 次回: 1月24日
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -4606,6 +4636,21 @@
"description": "
Goes @ Bibliotheek Oosterschelde
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 136.84652696727548,
+ 34.467252707825104
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
鳥羽@竹田住設
鳥羽市で隔週開催
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -6001,6 +6046,21 @@
"description": "
Valbelluna
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 139.6005872,
+ 35.6411816
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
砧
世田谷区で毎月開催
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -9496,6 +9556,21 @@
"description": "
Hazerswoude-Rijndijk
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 135.5036897,
+ 34.7320639
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
新大阪
大阪市東淀川区で
毎月開催
→ 次回: 1月17日
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -10276,6 +10351,21 @@
"description": "
CoderDojo@Najaf
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 139.73212228447724,
+ 35.668044491047944
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
赤坂国際
港区赤坂で隔週開催
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {
@@ -16846,6 +16936,21 @@
"description": "
Deventer
連絡先を見る"
}
},
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 139.7737687,
+ 37.2004629
+ ]
+ },
+ "properties": {
+ "marker-size": "small",
+ "marker-symbol": "coderdojo",
+ "description": " 
南会津
南会津で不定期開催
→ 次回: 1月31日
Webサイトを見る"
+ }
+ },
{
"type": "Feature",
"geometry": {