From 8110b6915411660a10ec31421ef9bd0fe51c0a0b Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:01:12 +0900
Subject: [PATCH 01/16] Convert HTML to ERB: Partners section
---
app/views/shared/_partners.haml | 59 ----------------------------
app/views/shared/_partners.html.erb | 61 +++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 59 deletions(-)
delete mode 100644 app/views/shared/_partners.haml
create mode 100644 app/views/shared/_partners.html.erb
diff --git a/app/views/shared/_partners.haml b/app/views/shared/_partners.haml
deleted file mode 100644
index c19196fd..00000000
--- a/app/views/shared/_partners.haml
+++ /dev/null
@@ -1,59 +0,0 @@
-:javascript
- $(function () {
- $('[data-toggle="tooltip"]').tooltip();
- });
-
-%ul
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/case-shinjuku.png', alt: 'CASE Shinjuku', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'オフィスの提供'), '/podcasts/8', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/yasslab.webp', alt: 'YassLab 株式会社', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Webサイトの運営および開発支援'), 'https://github.com/coderdojo-japan/coderdojo.jp#history', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/osscafe.png', alt: "下北沢オープンソースCafe", data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドメイン代の支援'), 'https://medium.com/opensource-cafe', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/mitoujr.webp', alt: '未踏ジュニア', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金の継続的な支援'), '/podcasts/11', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/ht79.png', alt: 'NPO法人のためのIT支援事務所 ht', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Newsサーバー代の支援'), 'https://ht79.info/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/esa.webp', alt: 'esa LLC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドキュメント共有サービスの提供'), 'https://docs.esa.io/posts/239', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/sakura-internet.png', alt: 'さくらインターネット', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'サーバー環境(クラウド)の提供'), 'https://www.sakura.ad.jp/information/pressreleases/2017/07/20/90191/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/hay-kaikei.png', alt: 'Hay未来の税理士法人', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'CoderDojo Japan の会計支援'), 'http://www.hay-kaikei.com/', target: "_blank", rel: "external noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/techsoup-japan.png', alt: 'TechSoup Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'G Suite などの寄贈申請の支援'), 'https://news.coderdojo.jp/2019/03/03/google-for-nonprofits-via-techsoup-japan/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/progate.png', alt: 'Progate', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2018/10/29/プログラミング学習のprogate、全国のcoderdojoへ法人プラン/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/algolia.png', alt: 'Algolia', data: { toggle: 'tooltip', placement: 'bottom' }, title: '検索エンジン DocSearch の提供'), 'https://community.algolia.com/docsearch/', target: "_blank", rel: "external noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/github.png', alt: 'GitHub', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'GitHub for Nonprofit の提供'), 'https://news.coderdojo.jp/2019/08/29/github-for-nonprofit/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/hackforplay.webp', alt: 'HackforPlay', data: { toggle: 'tooltip', placement: 'bottom' }, title: '法人向け HackforPlay の提供'), 'https://news.coderdojo.jp/2020/04/06/hackforplay-for-team/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/google.png', alt: 'Google', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Benevity を通した活動資金の支援'), 'https://news.coderdojo.jp/2019/11/13/google-and-coderdojo-join-forces-in-japan/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/tfabworks.png', alt: 'TFabWorks', data: { toggle: 'tooltip', placement: 'bottom' }, title: '無償レンタルプログラムの提供'), 'https://news.coderdojo.jp/2020/11/26/tfabworks-microbit-rental-program/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto;'}= link_to lazy_image_tag('/partners/grips.png', alt: 'GRIPS', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用ロボットアームの提供'), 'https://news.coderdojo.jp/2021/04/28/dobot-rental-program/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 35px auto 25px;'}= link_to lazy_image_tag('/partners/pokemon-foundation.png', alt: 'プログラミングでポケモンをうごかしてみよう', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ワークショッププログラムの提供'), 'https://news.coderdojo.jp/2021/04/23/programming-with-pokemon/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 35px auto 25px;'}= link_to lazy_image_tag('/partners/dpro.png', alt: 'DPro (ディープロ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学習コンテンツの提供'), 'https://news.coderdojo.jp/2021/12/27/diver-learnings-for-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/toio.webp', alt: 'toio(トイオ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットトイ「toio」の提供'), 'https://news.coderdojo.jp/2022/03/17/toio-sony-interactive-entertainment/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/microbit.png', alt: 'micro:bit(マイクロビット)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用マイコンボードの提供'), 'https://news.coderdojo.jp/2022/05/16/1500-microbits-to-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 30px auto 20px;'}= link_to lazy_image_tag('/partners/minecraftcup.png', alt: 'Minecraftカップ全国大会', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育版マイクラのライセンス貸出'), 'https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 30px auto 20px;'}= link_to lazy_image_tag('/partners/geolonia.png', alt: 'Geolonia', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'DojoMap への地図データ提供'), 'https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/', target: "_blank", rel: "noopener"
-
- // %li{style: 'margin: 30px auto 25px;'}= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener"
- // %li{style: 'margin: 30px auto 25px;'}= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 30px auto 30px;'}= link_to lazy_image_tag('/partners/prtimes.png', alt: 'PR TIMES', data: { toggle: 'tooltip', placement: 'bottom' }, title: '非営利活動の情報発信の支援'), 'https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 30px auto 30px;'}= link_to lazy_image_tag('/partners/box.webp', alt: 'Box Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: '128台のノート PC 寄贈'), 'https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 10px auto 30px;'}= link_to lazy_image_tag('/partners/aqoocan.webp', alt: 'アクウカン - 所沢市のコワーキングスペース&工作室', data: { toggle: 'tooltip', placement: 'bottom' }, title: '75台の『ニャイス!コード』寄贈'), 'https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 10px auto 30px;'}= link_to lazy_image_tag('/partners/jcdpgstadium.webp', alt: 'プログラミングスタジアム', data: { toggle: 'tooltip', placement: 'bottom' }, title: '地域の Dojo の周知支援'), 'https://jcdpgstadium.jp/', target: "_blank", rel: "noopener"
-
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/backlog.svg', alt: 'Backlog|チームで使うプロジェクト管理・タスク管理ツール', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Backlog によるタスク管理支援'), 'https://backlog.com/ja/', target: "_blank", rel: "noopener"
- %li{style: 'margin: 20px auto 30px;'}= link_to lazy_image_tag('/partners/ngrok.svg', alt: 'ngrok | API Gateway, Kubernetes Ingress, Webhook Gateway', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ngrok によるWeb開発支援'), 'https://ngrok.com/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/scrivito.png', alt: 'Scrivito', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Cloud-Based CMS の提供'), 'https://scrivito.com/', target: "_blank", rel: "external noopener"
- /%li= link_to lazy_image_tag('/partners/cygames.webp', alt: 'Cygames', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'PC寄贈に関する支援'), 'https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/facebook.png', alt: 'Facebook Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Facebookページの運用支援'), 'http://news.coderdojo.jp/2018/10/12/press-support-facebook-coupon/', target: "_blank", rel: "noopener"
- /%li= link_to lazy_image_tag('/partners/wro.png', alt: 'WRO Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットキットの提供'), 'https://news.coderdojo.jp/2019/12/21/wro-japan-and-coderdojo-japan/', target: "_blank", rel: "noopener"
-
- /%li= link_to lazy_image_tag('/partners/topsic.png', alt: 'TOPSIC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/', target: "_blank", rel: "noopener"
- /%li= link_to lazy_image_tag('/partners/code-for-everyone.webp', alt: 'みんなのコード', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学校との連携支援'), 'https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/', target: "_blank", rel: "noopener"
diff --git a/app/views/shared/_partners.html.erb b/app/views/shared/_partners.html.erb
new file mode 100644
index 00000000..cbc538aa
--- /dev/null
+++ b/app/views/shared/_partners.html.erb
@@ -0,0 +1,61 @@
+<% content_for :javascript do %>
+ $(function () {
+ $('[data-toggle="tooltip"]').tooltip();
+ });
+<% end %>
+
+
+ - <%= link_to lazy_image_tag('/partners/case-shinjuku.png', alt: 'CASE Shinjuku', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'オフィスの提供'), '/podcasts/8', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/yasslab.webp', alt: 'YassLab 株式会社', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Webサイトの運営および開発支援'), 'https://github.com/coderdojo-japan/coderdojo.jp#history', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/osscafe.png', alt: "下北沢オープンソースCafe", data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドメイン代の支援'), 'https://medium.com/opensource-cafe', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/mitoujr.webp', alt: '未踏ジュニア', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金の継続的な支援'), '/podcasts/11', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/ht79.png', alt: 'NPO法人のためのIT支援事務所 ht', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Newsサーバー代の支援'), 'https://ht79.info/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/esa.webp', alt: 'esa LLC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ドキュメント共有サービスの提供'), 'https://docs.esa.io/posts/239', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/sakura-internet.png', alt: 'さくらインターネット', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'サーバー環境(クラウド)の提供'), 'https://www.sakura.ad.jp/information/pressreleases/2017/07/20/90191/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/hay-kaikei.png', alt: 'Hay未来の税理士法人', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'CoderDojo Japan の会計支援'), 'http://www.hay-kaikei.com/', target: "_blank", rel: "external noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/techsoup-japan.png', alt: 'TechSoup Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'G Suite などの寄贈申請の支援'), 'https://news.coderdojo.jp/2019/03/03/google-for-nonprofits-via-techsoup-japan/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/progate.png', alt: 'Progate', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2018/10/29/プログラミング学習のprogate、全国のcoderdojoへ法人プラン/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/algolia.png', alt: 'Algolia', data: { toggle: 'tooltip', placement: 'bottom' }, title: '検索エンジン DocSearch の提供'), 'https://community.algolia.com/docsearch/', target: "_blank", rel: "external noopener" %>
+ - <%= link_to lazy_image_tag('/partners/github.png', alt: 'GitHub', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'GitHub for Nonprofit の提供'), 'https://news.coderdojo.jp/2019/08/29/github-for-nonprofit/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/hackforplay.webp', alt: 'HackforPlay', data: { toggle: 'tooltip', placement: 'bottom' }, title: '法人向け HackforPlay の提供'), 'https://news.coderdojo.jp/2020/04/06/hackforplay-for-team/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/google.png', alt: 'Google', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Benevity を通した活動資金の支援'), 'https://news.coderdojo.jp/2019/11/13/google-and-coderdojo-join-forces-in-japan/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/tfabworks.png', alt: 'TFabWorks', data: { toggle: 'tooltip', placement: 'bottom' }, title: '無償レンタルプログラムの提供'), 'https://news.coderdojo.jp/2020/11/26/tfabworks-microbit-rental-program/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/grips.png', alt: 'GRIPS', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用ロボットアームの提供'), 'https://news.coderdojo.jp/2021/04/28/dobot-rental-program/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/pokemon-foundation.png', alt: 'プログラミングでポケモンをうごかしてみよう', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ワークショッププログラムの提供'), 'https://news.coderdojo.jp/2021/04/23/programming-with-pokemon/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/dpro.png', alt: 'DPro (ディープロ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学習コンテンツの提供'), 'https://news.coderdojo.jp/2021/12/27/diver-learnings-for-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/toio.webp', alt: 'toio(トイオ)', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットトイ「toio」の提供'), 'https://news.coderdojo.jp/2022/03/17/toio-sony-interactive-entertainment/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/microbit.png', alt: 'micro:bit(マイクロビット)', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育用マイコンボードの提供'), 'https://news.coderdojo.jp/2022/05/16/1500-microbits-to-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/minecraftcup.png', alt: 'Minecraftカップ全国大会', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育版マイクラのライセンス貸出'), 'https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/geolonia.png', alt: 'Geolonia', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'DojoMap への地図データ提供'), 'https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/prtimes.png', alt: 'PR TIMES', data: { toggle: 'tooltip', placement: 'bottom' }, title: '非営利活動の情報発信の支援'), 'https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/box.webp', alt: 'Box Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: '128台のノート PC 寄贈'), 'https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/aqoocan.webp', alt: 'アクウカン - 所沢市のコワーキングスペース&工作室', data: { toggle: 'tooltip', placement: 'bottom' }, title: '75台の『ニャイス!コード』寄贈'), 'https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/jcdpgstadium.webp', alt: 'プログラミングスタジアム', data: { toggle: 'tooltip', placement: 'bottom' }, title: '地域の Dojo の周知支援'), 'https://jcdpgstadium.jp/', target: "_blank", rel: "noopener" %>
+
+ - <%= link_to lazy_image_tag('/partners/backlog.svg', alt: 'Backlog|チームで使うプロジェクト管理・タスク管理ツール', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Backlog によるタスク管理支援'), 'https://backlog.com/ja/', target: "_blank", rel: "noopener" %>
+ - <%= link_to lazy_image_tag('/partners/ngrok.svg', alt: 'ngrok | API Gateway, Kubernetes Ingress, Webhook Gateway', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ngrok によるWeb開発支援'), 'https://ngrok.com/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/scrivito.png', alt: 'Scrivito', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Cloud-Based CMS の提供'), 'https://scrivito.com/', target: "_blank", rel: "external noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/cygames.webp', alt: 'Cygames', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'PC寄贈に関する支援'), 'https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/facebook.png', alt: 'Facebook Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Facebookページの運用支援'), 'http://news.coderdojo.jp/2018/10/12/press-support-facebook-coupon/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/wro.png', alt: 'WRO Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ロボットキットの提供'), 'https://news.coderdojo.jp/2019/12/21/wro-japan-and-coderdojo-japan/', target: "_blank", rel: "noopener" %>
+
+ <%# - <%= link_to lazy_image_tag('/partners/topsic.png', alt: 'TOPSIC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/code-for-everyone.webp', alt: 'みんなのコード', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学校との連携支援'), 'https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/', target: "_blank", rel: "noopener" %>
+
\ No newline at end of file
From 636b757e8ad55903926e1c6b937c943dd3c4dc81 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:05:09 +0900
Subject: [PATCH 02/16] Convert HTML to ERB: Sotechsha2 section
---
app/views/shared/_sitemap_sotechsha2.html.erb | 47 +++++++++++++++++++
.../shared/_sitemap_sotechsha2.html.haml | 29 ------------
2 files changed, 47 insertions(+), 29 deletions(-)
create mode 100644 app/views/shared/_sitemap_sotechsha2.html.erb
delete mode 100644 app/views/shared/_sitemap_sotechsha2.html.haml
diff --git a/app/views/shared/_sitemap_sotechsha2.html.erb b/app/views/shared/_sitemap_sotechsha2.html.erb
new file mode 100644
index 00000000..530003d0
--- /dev/null
+++ b/app/views/shared/_sitemap_sotechsha2.html.erb
@@ -0,0 +1,47 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_sitemap_sotechsha2.html.haml b/app/views/shared/_sitemap_sotechsha2.html.haml
deleted file mode 100644
index 632278c7..00000000
--- a/app/views/shared/_sitemap_sotechsha2.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-%nav.navbar
- %ul.nav.navbar-nav
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/gazou"} スプライト素材のダウンロード
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/0"} 序章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/1"} 1章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/2"} 2章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/3"} 3章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/4"} 4章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/5"} 5章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/6"} 6章課題
-
-%hr/
-%br/
From 993a95b4daf5bcec5a568f08a49bdde3916e095a Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:07:53 +0900
Subject: [PATCH 03/16] Convert HTML to ERB: Sotechsha section
---
app/views/shared/_sitemap_sotechsha.html.erb | 47 +++++++++++++++++++
app/views/shared/_sitemap_sotechsha.html.haml | 29 ------------
2 files changed, 47 insertions(+), 29 deletions(-)
create mode 100644 app/views/shared/_sitemap_sotechsha.html.erb
delete mode 100644 app/views/shared/_sitemap_sotechsha.html.haml
diff --git a/app/views/shared/_sitemap_sotechsha.html.erb b/app/views/shared/_sitemap_sotechsha.html.erb
new file mode 100644
index 00000000..fca68d51
--- /dev/null
+++ b/app/views/shared/_sitemap_sotechsha.html.erb
@@ -0,0 +1,47 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_sitemap_sotechsha.html.haml b/app/views/shared/_sitemap_sotechsha.html.haml
deleted file mode 100644
index 56949abf..00000000
--- a/app/views/shared/_sitemap_sotechsha.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-%nav.navbar
- %ul.nav.navbar-nav
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/gazou"} スプライト素材のダウンロード
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/0"} 序章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/1"} 1章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/2"} 2章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/3"} 3章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/4"} 4章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/5"} 5章課題
- %li
- %span.list-group
- %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha/6"} 6章課題
-
-%hr/
-%br/
From 65364193724f261f7ee43dab7c0e46ed392f6cf2 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:37:17 +0900
Subject: [PATCH 04/16] Use content_for :javascript to work with ERB
---
app/views/layouts/application.html.erb | 2 ++
app/views/shared/_partners.html.erb | 8 +++++---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 39f7f458..30943f52 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -96,6 +96,8 @@
<%= render 'shared/footer' %>
+ <%= yield :javascript %>
+
<% end %>
From e320a2c3f4e24b43761524214086ab7acd0292af Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:38:45 +0900
Subject: [PATCH 05/16] Cosmetic change
---
app/views/shared/_partners.html.erb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/views/shared/_partners.html.erb b/app/views/shared/_partners.html.erb
index abe063d7..fc91b5db 100644
--- a/app/views/shared/_partners.html.erb
+++ b/app/views/shared/_partners.html.erb
@@ -40,9 +40,6 @@
- <%= link_to lazy_image_tag('/partners/minecraftcup.png', alt: 'Minecraftカップ全国大会', data: { toggle: 'tooltip', placement: 'bottom' }, title: '教育版マイクラのライセンス貸出'), 'https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/', target: "_blank", rel: "noopener" %>
- <%= link_to lazy_image_tag('/partners/geolonia.png', alt: 'Geolonia', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'DojoMap への地図データ提供'), 'https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/', target: "_blank", rel: "noopener" %>
- <%# - <%= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener" %>
- <%# - <%= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener" %>
-
- <%= link_to lazy_image_tag('/partners/prtimes.png', alt: 'PR TIMES', data: { toggle: 'tooltip', placement: 'bottom' }, title: '非営利活動の情報発信の支援'), 'https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/', target: "_blank", rel: "noopener" %>
- <%= link_to lazy_image_tag('/partners/box.webp', alt: 'Box Japan', data: { toggle: 'tooltip', placement: 'bottom' }, title: '128台のノート PC 寄贈'), 'https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/', target: "_blank", rel: "noopener" %>
@@ -52,6 +49,9 @@
- <%= link_to lazy_image_tag('/partners/backlog.svg', alt: 'Backlog|チームで使うプロジェクト管理・タスク管理ツール', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Backlog によるタスク管理支援'), 'https://backlog.com/ja/', target: "_blank", rel: "noopener" %>
- <%= link_to lazy_image_tag('/partners/ngrok.svg', alt: 'ngrok | API Gateway, Kubernetes Ingress, Webhook Gateway', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'ngrok によるWeb開発支援'), 'https://ngrok.com/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/docker.png', alt: 'Docker Inc.', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Docker によるチーム開発の支援'), 'https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/', target: "_blank", rel: "noopener" %>
+ <%# - <%= link_to lazy_image_tag('/partners/mitsue-links.png', alt: 'ミツエーリンクス', data: { toggle: 'tooltip', placement: 'bottom' }, title: '活動資金に対する支援'), 'https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/', target: "_blank", rel: "noopener" %>
+
<%# - <%= link_to lazy_image_tag('/partners/scrivito.png', alt: 'Scrivito', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'Cloud-Based CMS の提供'), 'https://scrivito.com/', target: "_blank", rel: "external noopener" %>
<%# - <%= link_to lazy_image_tag('/partners/cygames.webp', alt: 'Cygames', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'PC寄贈に関する支援'), 'https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/', target: "_blank", rel: "noopener" %>
@@ -60,4 +60,4 @@
<%# - <%= link_to lazy_image_tag('/partners/topsic.png', alt: 'TOPSIC', data: { toggle: 'tooltip', placement: 'bottom' }, title: 'プログラミング学習環境の支援'), 'https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/', target: "_blank", rel: "noopener" %>
<%# - <%= link_to lazy_image_tag('/partners/code-for-everyone.webp', alt: 'みんなのコード', data: { toggle: 'tooltip', placement: 'bottom' }, title: '学校との連携支援'), 'https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/', target: "_blank", rel: "noopener" %>
-
\ No newline at end of file
+
From c23f28e3f29df25db23f3301329a1da09325efeb Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:45:28 +0900
Subject: [PATCH 06/16] Convert HTML to ERB: Social Buttons partial
---
app/views/shared/_social_buttons.html.erb | 15 +++++++++++++
app/views/shared/_social_buttons.html.haml | 15 -------------
app/views/shared/_social_buttons_raw.html.erb | 21 +++++++++++++++++++
.../shared/_social_buttons_raw.html.haml | 14 -------------
4 files changed, 36 insertions(+), 29 deletions(-)
create mode 100644 app/views/shared/_social_buttons.html.erb
delete mode 100644 app/views/shared/_social_buttons.html.haml
create mode 100644 app/views/shared/_social_buttons_raw.html.erb
delete mode 100644 app/views/shared/_social_buttons_raw.html.haml
diff --git a/app/views/shared/_social_buttons.html.erb b/app/views/shared/_social_buttons.html.erb
new file mode 100644
index 00000000..fc68cb4a
--- /dev/null
+++ b/app/views/shared/_social_buttons.html.erb
@@ -0,0 +1,15 @@
+<% content_for :javascript do %>
+
+<% end %>
+
+
\ No newline at end of file
diff --git a/app/views/shared/_social_buttons.html.haml b/app/views/shared/_social_buttons.html.haml
deleted file mode 100644
index 2f7579bc..00000000
--- a/app/views/shared/_social_buttons.html.haml
+++ /dev/null
@@ -1,15 +0,0 @@
-%ul.social_buttons
- %li
- %div.fb-like{"data-action" => "like", "data-href" => "#{full_url(yield(:url))}", "data-layout" => "button_count", "data-share" => "true", "data-show-faces" => "true"}
- %li
- %a.twitter-share-button{"data-hashtags" => "CoderDojo", "data-lang" => "ja", "data-text" => "#{full_title(yield(:title))}", "data-url" => "#{full_url(yield(:url))}", "data-via" => "CoderDojoJapan", href: "https://twitter.com/share", width: "100"} Tweet
- :javascript
- !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
-
- /%li
- / %a.hatena-bookmark-button{"data-hatena-bookmark-lang" => "ja", "data-hatena-bookmark-layout" => "basic-counter", "data-hatena-bookmark-title" => "#{full_title(yield(:title))}", href: "#{full_url(yield(:url))}", title: "このエントリーをはてなブックマークに追加"}
- / %img{alt: "このエントリーをはてなブックマークに追加", height: "20", src: "https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png", style: "border: none;", width: "20"}/
- / %script{async: "async", charset: "utf-8", src: "https://b.st-hatena.com/js/bookmark_button.js", type: "text/javascript"}
- /%li{:style => "display: inline-block;"}
- / %div.line-it-button{"data-lang" => "ja", "data-type" => "like", "data-url" => "#{full_url(yield(:url))}", style: "display: none;"}
- / %script{async: "async", defer: "defer", src: "https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js"}
diff --git a/app/views/shared/_social_buttons_raw.html.erb b/app/views/shared/_social_buttons_raw.html.erb
new file mode 100644
index 00000000..f15dcd44
--- /dev/null
+++ b/app/views/shared/_social_buttons_raw.html.erb
@@ -0,0 +1,21 @@
+<% content_for :javascript do %>
+
+
+<% end %>
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ <%# コメントアウトされたLINEのボタンは省略 %>
+
\ No newline at end of file
diff --git a/app/views/shared/_social_buttons_raw.html.haml b/app/views/shared/_social_buttons_raw.html.haml
deleted file mode 100644
index 53ef6584..00000000
--- a/app/views/shared/_social_buttons_raw.html.haml
+++ /dev/null
@@ -1,14 +0,0 @@
-%ol.text-center{:style => "list-style: none; margin-top: 30px; margin-left: 0px; padding-left: 0px; text-align: center;"}
- %li{:style => "display: inline-block; line-height: 28px;"}
- %div.fb-like{"data-action" => "like", "data-href" => "#{full_url(yield(:url))}", "data-layout" => "button_count", "data-share" => "true", "data-show-faces" => "true"}
- %li{:style => "display: inline-block;"}
- %a.twitter-share-button{"data-hashtags" => "CoderDojo", "data-lang" => "ja", "data-text" => "#{full_title(yield(:title))}", "data-url" => "#{full_url(yield(:url))}", "data-via" => "CoderDojoJapan", href: "https://twitter.com/share", width: "100"} Tweet
- :javascript
- !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
- %li{:style => "display: inline-block;"}
- %a.hatena-bookmark-button{"data-hatena-bookmark-lang" => "ja", "data-hatena-bookmark-layout" => "basic-counter", "data-hatena-bookmark-title" => "#{full_title(yield(:title))}", href: "#{full_url(yield(:url))}", title: "このエントリーをはてなブックマークに追加"}
- %img{alt: "このエントリーをはてなブックマークに追加", height: "20", src: "https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png", style: "border: none;", width: "20"}/
- %script{async: "async", charset: "utf-8", src: "https://b.st-hatena.com/js/bookmark_button.js", type: "text/javascript"}
- /%li{:style => "display: inline-block;"}
- / %div.line-it-button{"data-lang" => "ja", "data-type" => "like", "data-url" => "#{full_url(yield(:url))}", style: "display: none;"}
- / %script{async: "async", defer: "defer", src: "https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js"}
From 9ae9b5e057d5c0bb80381972cf5bf3ea80501a67 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:48:51 +0900
Subject: [PATCH 07/16] Convert HTML to ERB: Newsletter
---
app/views/home/show.html.erb | 14 +++++++++++++-
app/views/shared/_newsletter.html.haml | 8 --------
2 files changed, 13 insertions(+), 9 deletions(-)
delete mode 100644 app/views/shared/_newsletter.html.haml
diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb
index 51aa2156..b2b24cf8 100644
--- a/app/views/home/show.html.erb
+++ b/app/views/home/show.html.erb
@@ -203,7 +203,19 @@
(毎月配信)
- <%= render partial: 'shared/newsletter' %>
+
+
+
diff --git a/app/views/shared/_newsletter.html.haml b/app/views/shared/_newsletter.html.haml
deleted file mode 100644
index 4f1bd460..00000000
--- a/app/views/shared/_newsletter.html.haml
+++ /dev/null
@@ -1,8 +0,0 @@
-%div#mc_embed_signup
- %form#mc-embedded-subscribe-form{class: "validate", action: "https://coderdojo.us17.list-manage.com/subscribe/post?u=39a5824e42ab56ec44bb4e84e&id=097dfa6a14", method: "post", name: "mc-embedded-subscribe-form", novalidate: "", target: "_blank"}
- #mc_embed_signup_scroll
- %input#mce-EMAIL{type: "email", name: "EMAIL", class: "email", placeholder: "your@example.com"}
- %div{style: "position: absolute; left: -5000px;", 'aria-hidden' => 'true'}
- %input{tabindex: "-1", name: "b_39a5824e42ab56ec44bb4e84e_097dfa6a14", type: "text", value: ""}
- %input{id: "mc-embedded-subscribe", class: "button", name: "subscribe", type: "submit", value: "購読する"}
-
From 13968aa15be553df534821ce4a4414359a194233 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 12:57:34 +0900
Subject: [PATCH 08/16] Convert HTML to ERB: Header partial
---
app/views/shared/_header.html.erb | 100 +++++++++++++++++++++++++++++
app/views/shared/_header.html.haml | 82 -----------------------
2 files changed, 100 insertions(+), 82 deletions(-)
create mode 100644 app/views/shared/_header.html.erb
delete mode 100644 app/views/shared/_header.html.haml
diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb
new file mode 100644
index 00000000..96868778
--- /dev/null
+++ b/app/views/shared/_header.html.erb
@@ -0,0 +1,100 @@
+
+
+<% content_for :javascript do %>
+
+<% end %>
diff --git a/app/views/shared/_header.html.haml b/app/views/shared/_header.html.haml
deleted file mode 100644
index 96c1d2fc..00000000
--- a/app/views/shared/_header.html.haml
+++ /dev/null
@@ -1,82 +0,0 @@
-%nav.navbar.navbar-default.navbar-fixed-top#header
- .container-fluid
- .navbar-header
- %button.navbar-toggle.collapsed{ "type" => "button", "data-toggle" => "collapse",
- "data-target" => "#header-nav-toggle", "aria-expanded" => "false" }
- %span.sr-only Toggle navigation
- %span.icon-bar
- %span.icon-bar
- %span.icon-bar
- .navbar-header-logos
- = link_to lazy_image_tag('/img/header-logo.png', alt: 'CoderDojo logo', min: true), '/', id: "header-logo"
- = link_to lazy_image_tag('/img/header-brand.png', alt: 'CoderDojo brand', min: true), '/', id: "header-brand"
- #bs-example-navbar-collapse-1.collapse#header-nav-toggle.navbar-collapse
- %ul.nav.navbar-nav.navbar-right
- %li= link_to '全国の道場', '/#dojos'
- %li= link_to 'パートナー法人', '/#partners'
- %li.navbar-dd-p
- = link_to '最近の活動', '/#news'
- %span.navbar-dd-l
- %ul.navbar-dd
- /%li= link_to '☯️ SNS', '/#timeline'
- %li= link_to '📰 News', '/#news'
- %li= link_to '📻 Podcast', '/podcasts'
- %li= link_to '📺 YouTube', '/youtube'
- %li= link_to '📚 その他', '/#kata'
- %li.navbar-dd-p
- = link_to '道場を探す', '/#dojos'
- %span.navbar-dd-l
- %ul.navbar-dd
- / %li= link_to '☯️ 一覧から', '/#dojos'
- %li
- = link_to '/#dojos' do
- ☯️ 一覧から
- %span.ignore-pc<> 探す
- %li
- = link_to '/events' do
- 📅 日付から
- %span.ignore-pc<> 探す
- %li
- = link_to dojomap_url do
- 🗾 地図から
- %span.ignore-pc<> 探す
- %li.navbar-dd-p
- = link_to '資料を探す', '/kata'
- %span.navbar-dd-l
- %ul.navbar-dd
- %li= link_to '🔰 はじめに', '/kata#README'
- %li= link_to '📰 メディア', '/kata#media'
- %li= link_to '🎓 学ぶ', '/kata#learn'
- %li= link_to '🏆 腕試し', '/kata#challenge'
- %li= link_to '☯️ 立ち上げ', '/kata#startup'
- %li= link_to '🎁 運営支援', '/kata#support'
- %li= link_to '✅ FAQ', '/kata#faq'
- %li= link_to '🤝 法人向け', '/partnership'
- %li= link_to '📊 統計情報', '/stats'
- %li= link_to '📚 資料集', '/docs'
- %li= link_to '📩 連絡する', '/#contact'
- %li= link_to '🌏 English', '/english', hreflang: 'en'
-
- / DocSearch: https://github.com/algolia/docsearch-configs/blob/master/configs/coderdojo.json
- %li.search-li
- %label.search-label{for: 'search'}
- %img.search-icon{alt: '検索アイコン', src: '/img/search.svg'}
- 検索で探す
- = check_box_tag :search, "検索アイコン", false, class: 'search-checkbox', onclick: 'focusSearchBox()'
- %div.search
- %input#searchbox{placeholder: "例: コンテスト、教材", type: "text"}
- #hits
- #pagination
-
-
-:javascript
- function focusSearchBox() {
- document.getElementById("searchbox").focus();
- };
-
- document.addEventListener('click', (e) => {
- if(e.target.closest('#header-nav-toggle') || !e.target.closest('#header-nav-toggle')) {
- const element = document.getElementById('header-nav-toggle')
- element.classList.remove('in');
- }
- })
From 60034258384bbb4fad8870753eec79593c24c639 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:03:02 +0900
Subject: [PATCH 09/16] Convert HTML to ERB: Footer partial
---
app/views/shared/_footer.html.erb | 55 ++++++++++++++++++++++++++++++
app/views/shared/_footer.html.haml | 55 ------------------------------
2 files changed, 55 insertions(+), 55 deletions(-)
create mode 100644 app/views/shared/_footer.html.erb
delete mode 100644 app/views/shared/_footer.html.haml
diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb
new file mode 100644
index 00000000..0aeb7d0a
--- /dev/null
+++ b/app/views/shared/_footer.html.erb
@@ -0,0 +1,55 @@
+
diff --git a/app/views/shared/_footer.html.haml b/app/views/shared/_footer.html.haml
deleted file mode 100644
index a924d6dc..00000000
--- a/app/views/shared/_footer.html.haml
+++ /dev/null
@@ -1,55 +0,0 @@
-%footer#footer.footer-bottom.text-center
- %h2{style: "line-height: 30px;"}
- %a.footer-link{href: '/', title: 'トップページに戻ります'} Top
- |
- %a.footer-link{href: '/kata', title: '道場情報まとめ「Kata」を見る'} Kata
- |
- %a.footer-link{href: '/#news', title: '最近のニュース「DojoLetter」を見る'} News
- |
- %a.footer-link{href: '/docs', title: '公式資料まとめ「Docs」を見る'} 資料
- |
- %a.footer-link{href: '/charter', title: 'CoderDojo 憲章を見る'} 憲章
- |
- %a.footer-link{href: '/stats', title: 'CoderDojo の統計データを見る'} 統計
- |
- %a.footer-link{href: '/sotechsha2', title: 'CoderDojo Japan 公式ブックを見る'} 書籍
- |
- %a.footer-link{href: dojomap_url, title: '地図から探せる「DojoMap」を見る'} 地図
- |
- %a.footer-link{href: '/privacy', title: 'プライバシーポリシーを見る'} Privacy
- |
- %a.footer-link{href: '/podcasts', title: 'ポッドキャスト番組「DojoCast」を見る'} Podcast
- |
- %a.footer-link{href: decadojo_url, title: 'CoderDojo の地域カンファレンス「DecaDojo」を見る'} DecaDojo
- |
- %a.footer-link{href: dojocon_url, title: 'CoderDojo の全国カンファレンス「DojoCon Japan」を見る'} DojoCon
- |
- %a.footer-link{href: '/english', hreflang: 'en', title: "Read CoderDojo Japan's website in English"} English
- %h2
- %a{href: "http://news.coderdojo.jp/", target: "_blank", rel: "external noopener"}
- %i.fa.fa-newspaper-o.fa-3x.fa-fw{"aria-hidden" => "true", title: "News"}
- /%a{href: "https://github.com/coderdojo-japan"} / GitHub は直後の文章でリンクがあるので省略
- / %i.fa.fa-github.fa-3x.fa-fw{"aria-hidden" => "true", :title => "GitHub"}
- %a{href: "https://www.facebook.com/coderdojo.jp/"}
- %i.fa.fa-facebook.fa-3x.fa-fw{"aria-hidden" => "true", title: "Facebook"}
- %a{href: "https://twitter.com/CoderDojoJapan"}
- %i.fa.fa-twitter.fa-3x.fa-fw{"aria-hidden" => "true", title: "Twitter"}
- %a{href: "https://www.youtube.com/CoderDojoJapan"}
- %i.fa.fa-youtube.fa-3x.fa-fw{"aria-hidden" => "true", title: "YouTube"}
- %a{href: "/podcasts" }
- %i.fa.fa-podcast.fa-3x.fa-fw{"aria-hidden" => "true", title: "Podcast"}
- %a{href: "/english" }
- %i.fa.fa-globe.fa-3x.fa-fw{"aria-hidden" => "true", title: "English"}
- %p{style: "margin-bottom: 30px;"}
- 本サイトのソースコードは
- %br.ignore-pc
- %a.footer-link{href: "https://github.com/coderdojo-japan/coderdojo.jp"} GitHub
- 上で公開されています。
- %p{style: "font-size: 90%; color: \#DDDDDD;"}
- Copyright ©
- %a{href: "/about-coderdojo-japan", style: "color: \#DDDDDD; text-decoration: none;"}
- 一般社団法人 CoderDojo Japan
- %br/
- 新宿区高田馬場1-28-10 三慶ビル4F
- %a{href: "https://case-shinjuku.com/", style: "color: \#DDDDDD; text-decoration: none;"}
- ケイス新宿
From e878855c9cd44c647fabca9eaf65f8fa88402fca Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:07:07 +0900
Subject: [PATCH 10/16] Cosmetic change on links in footer
---
app/views/shared/_footer.html.erb | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb
index 0aeb7d0a..0e330c11 100644
--- a/app/views/shared/_footer.html.erb
+++ b/app/views/shared/_footer.html.erb
@@ -16,24 +16,24 @@
From eeabbf78e82aadbe55bc31e23912516891dfa825 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:13:10 +0900
Subject: [PATCH 11/16] Refactor: Add and use helpers for links to official
pages
---
app/helpers/application_helper.rb | 30 +++++++++++-------------------
app/views/shared/_footer.html.erb | 6 +++---
2 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 78d8edd6..22f36f0f 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -85,26 +85,18 @@ def news_path(options={anchor: 'news'})
root_path(options)
end
- def news_url(path='/')
- 'https://news.coderdojo.jp' + path
- end
-
- def decadojo_url; 'https://decadojo.coderdojo.jp'; end
- def dojocon_url; 'https://dojocon.coderdojo.jp'; end
+ def news_url(path='/'); 'https://news.coderdojo.jp' + path; end
+ def dojomap_url(path='/'); 'https://map.coderdojo.jp' + path; end
+ def zen_url(path='/find'); 'https://zen.coderdojo.com' + path; end
- def dojoletter_url()
- 'https://news.coderdojo.jp/category/DojoLetterバックナンバー'
- end
+ def decadojo_url; 'https://decadojo.coderdojo.jp'; end
+ def dojocon_url; 'https://dojocon.coderdojo.jp'; end
+ def dojoletter_url; 'https://news.coderdojo.jp/category/DojoLetterバックナンバー'; end
+ def foundation_url; 'https://speakerdeck.com/helloworldfoundation'; end
- def dojomap_url(path='/')
- 'https://map.coderdojo.jp' + path
- end
+ def facebook_group_url; 'https://www.facebook.com/groups/coderdojo.jp'; end
+ def facebook_page_url; 'https://www.facebook.com/coderdojo.jp'; end
+ def twitter_url; 'https://twitter.com/CoderDojoJapan'; end
+ def youtube_url; 'https://youtube.com/CoderDojoJapan'; end
- def foundation_url
- 'https://speakerdeck.com/helloworldfoundation'
- end
-
- def zen_url(path='/find')
- 'https://zen.coderdojo.com' + path
- end
end
diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb
index 0e330c11..7a041c02 100644
--- a/app/views/shared/_footer.html.erb
+++ b/app/views/shared/_footer.html.erb
@@ -19,13 +19,13 @@
<%= link_to news_url do %>
<% end %>
- <%= link_to "https://www.facebook.com/coderdojo.jp/" do %>
+ <%= link_to facebook_page_url do %>
<% end %>
- <%= link_to "https://twitter.com/CoderDojoJapan" do %>
+ <%= link_to twitter_url do %>
<% end %>
- <%= link_to "https://www.youtube.com/CoderDojoJapan" do %>
+ <%= link_to youtube_url do %>
<% end %>
<%= link_to podcasts_path do %>
From 4d6b687ba011ae3ce953491a14f1f38218e65ce7 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:20:02 +0900
Subject: [PATCH 12/16] Cosmetic change on helpers
---
app/helpers/application_helper.rb | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 22f36f0f..8ad2b234 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -77,16 +77,11 @@ def lazy_image_tag(source, options={})
end
end
- def welcome_path(options={anchor: 'welcome'})
- root_path(options)
- end
-
- def news_path(options={anchor: 'news'})
- root_path(options)
- end
+ def welcome_path(options={anchor: 'welcome'}); root_path(options); end
+ def news_path (options={anchor: 'news'}); root_path(options); end
- def news_url(path='/'); 'https://news.coderdojo.jp' + path; end
- def dojomap_url(path='/'); 'https://map.coderdojo.jp' + path; end
+ def news_url (path='/'); 'https://news.coderdojo.jp' + path; end
+ def dojomap_url(path='/'); 'https://map.coderdojo.jp' + path; end
def zen_url(path='/find'); 'https://zen.coderdojo.com' + path; end
def decadojo_url; 'https://decadojo.coderdojo.jp'; end
From 1b83ea422a5f58325abe90469c8095139a5342c1 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:28:55 +0900
Subject: [PATCH 13/16] Convert HTML to ERB: Dojo/Dojos partials
---
app/views/shared/_dojo.html+smartphone.erb | 27 ++++++++++++++++
app/views/shared/_dojo.html+smartphone.haml | 18 -----------
app/views/shared/_dojo.html.erb | 25 +++++++++++++++
app/views/shared/_dojo.html.haml | 17 ----------
app/views/shared/_dojos.html+smartphone.erb | 33 ++++++++++++++++++++
app/views/shared/_dojos.html+smartphone.haml | 24 --------------
app/views/shared/_dojos.html.erb | 3 ++
app/views/shared/_dojos.html.haml | 2 --
app/views/shared/_dojos_stats.html.erb | 1 +
app/views/shared/_dojos_stats.html.haml | 1 -
10 files changed, 89 insertions(+), 62 deletions(-)
create mode 100644 app/views/shared/_dojo.html+smartphone.erb
delete mode 100644 app/views/shared/_dojo.html+smartphone.haml
create mode 100644 app/views/shared/_dojo.html.erb
delete mode 100644 app/views/shared/_dojo.html.haml
create mode 100644 app/views/shared/_dojos.html+smartphone.erb
delete mode 100644 app/views/shared/_dojos.html+smartphone.haml
create mode 100644 app/views/shared/_dojos.html.erb
delete mode 100644 app/views/shared/_dojos.html.haml
create mode 120000 app/views/shared/_dojos_stats.html.erb
delete mode 120000 app/views/shared/_dojos_stats.html.haml
diff --git a/app/views/shared/_dojo.html+smartphone.erb b/app/views/shared/_dojo.html+smartphone.erb
new file mode 100644
index 00000000..07283497
--- /dev/null
+++ b/app/views/shared/_dojo.html+smartphone.erb
@@ -0,0 +1,27 @@
+
+
+ <%= link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture-sp'), dojo.url,
+ target: "_blank", rel: "external noopener" %>
+
+
+ <%= link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener" %>
+ <% if not dojo.counter == 1 %>
+ <%= dojo.counter %>
+ <% end %>
+
+
+ <%= dojo.description %>
+ <% if dojo.is_private %>
+ <%= link_to 'Private', doc_path('private-dojo'), class: 'dojo-private' %>
+ <% end %>
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_dojo.html+smartphone.haml b/app/views/shared/_dojo.html+smartphone.haml
deleted file mode 100644
index dcf7ab56..00000000
--- a/app/views/shared/_dojo.html+smartphone.haml
+++ /dev/null
@@ -1,18 +0,0 @@
-%li.dojo.dojo-sp
- %header
- = link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture-sp'), dojo.url,
- target: "_blank", rel: "external noopener"
- %p.dojo-sp-info
- %span.dojo-name.dojo-name-sp
- = link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener"
- - if not dojo.counter == 1
- %span.dojo-counter{'data-original-title' => '道場数',
- 'data-placement' => 'bottom',
- 'data-toggle' => 'tooltip'}= dojo.counter
- %span.dojo-description
- = dojo.description
- - if dojo.is_private
- = link_to 'Private', doc_path('private-dojo'), class: 'dojo-private'
- %ul.tags
- - dojo.tags.each do |tag|
- %li= tag
diff --git a/app/views/shared/_dojo.html.erb b/app/views/shared/_dojo.html.erb
new file mode 100644
index 00000000..9fa50b44
--- /dev/null
+++ b/app/views/shared/_dojo.html.erb
@@ -0,0 +1,25 @@
+
+
+ <%= link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture'), dojo.url,
+ target: "_blank", rel: "external noopener" %>
+
+ <%= link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener" %>
+ <% if not dojo.counter == 1 %>
+ <%= dojo.counter %>
+ <% end %>
+
+
+
+
+ <%= dojo.description %>
+ <% if dojo.is_private %>
+ <%= link_to 'Private', doc_path('private-dojo'), class: 'dojo-private' %>
+ <% end %>
+
+
\ No newline at end of file
diff --git a/app/views/shared/_dojo.html.haml b/app/views/shared/_dojo.html.haml
deleted file mode 100644
index 3c1f6953..00000000
--- a/app/views/shared/_dojo.html.haml
+++ /dev/null
@@ -1,17 +0,0 @@
-%li.dojo{id: "#{dojo.name}"}
- %header
- = link_to lazy_image_tag(dojo.logo, alt: "CoderDojo #{dojo.name}", class: 'dojo-picture'), dojo.url,
- target: "_blank", rel: "external noopener"
- %span.dojo-name
- = link_to "#{dojo.name} (#{dojo.prefecture.name})", dojo.url, target: "_blank", rel: "external noopener"
- - if not dojo.counter == 1
- %span.dojo-counter{'data-original-title' => '道場数',
- 'data-placement' => 'bottom',
- 'data-toggle' => 'tooltip'}= dojo.counter
- %ul.tags
- - dojo.tags.each do |tag|
- %li= tag
- %p.dojo-description
- = dojo.description
- - if dojo.is_private
- = link_to 'Private', doc_path('private-dojo'), class: 'dojo-private'
diff --git a/app/views/shared/_dojos.html+smartphone.erb b/app/views/shared/_dojos.html+smartphone.erb
new file mode 100644
index 00000000..71629ad7
--- /dev/null
+++ b/app/views/shared/_dojos.html+smartphone.erb
@@ -0,0 +1,33 @@
+
+ <% regions_and_dojos.each_with_index do |(region, dojos), index| %>
+
+
+
+
+ <%= render partial: 'shared/dojo', collection: dojos %>
+
+
+
+ <% end %>
+
+
+
\ No newline at end of file
diff --git a/app/views/shared/_dojos.html+smartphone.haml b/app/views/shared/_dojos.html+smartphone.haml
deleted file mode 100644
index 04d32ba9..00000000
--- a/app/views/shared/_dojos.html+smartphone.haml
+++ /dev/null
@@ -1,24 +0,0 @@
-#accordion.panel-group{"aria-multiselectable" => "true", role: "tablist"}
- - regions_and_dojos.each_with_index do |(region, dojos), index|
- .panel.panel-default
- .panel-heading{id: "heading#{index}", role: "tab"}
- %h4.panel-title
- %a{"data-toggle" => "collapse",
- href: "##{"collapse#{index}"}", role: "button"}
- %i.fa.fa-chevron-right{"aria-hidden" => "true"}
- = region
- \- #{dojos.pluck(:counter).sum} Dojos
- .panel-collapse.collapse{id: "collapse#{index}", role: "tabpanel"}
- .panel-body.grayscale-bg.dojo-flex
- = render partial: 'shared/dojo', collection: dojos
-
-:javascript
- $(document).ready(function() {
- $('.collapse').on('shown.bs.collapse', function() {
- $(this).parent().find(".fa-chevron-right").removeClass("fa-chevron-right").addClass("fa-chevron-down");
- });
-
- $('.collapse').on('hidden.bs.collapse', function() {
- $(this).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-right");
- });
- });
diff --git a/app/views/shared/_dojos.html.erb b/app/views/shared/_dojos.html.erb
new file mode 100644
index 00000000..4fa82c1b
--- /dev/null
+++ b/app/views/shared/_dojos.html.erb
@@ -0,0 +1,3 @@
+
+ <%= render partial: 'shared/dojo', collection: regions_and_dojos.values.flatten %>
+
\ No newline at end of file
diff --git a/app/views/shared/_dojos.html.haml b/app/views/shared/_dojos.html.haml
deleted file mode 100644
index 621d32b8..00000000
--- a/app/views/shared/_dojos.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-%ul.loaded.dojo-flex
- = render partial: 'shared/dojo', collection: regions_and_dojos.values.flatten
diff --git a/app/views/shared/_dojos_stats.html.erb b/app/views/shared/_dojos_stats.html.erb
new file mode 120000
index 00000000..e033c6b7
--- /dev/null
+++ b/app/views/shared/_dojos_stats.html.erb
@@ -0,0 +1 @@
+_dojos.html+smartphone.erb
\ No newline at end of file
diff --git a/app/views/shared/_dojos_stats.html.haml b/app/views/shared/_dojos_stats.html.haml
deleted file mode 120000
index 11471ff0..00000000
--- a/app/views/shared/_dojos_stats.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-_dojos.html+smartphone.haml
\ No newline at end of file
From a933cb6a8eda1bfe40953e64661ea2e2568dd5f8 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:31:54 +0900
Subject: [PATCH 14/16] Change openFiles point to ERB file in Dev Container
---
.devcontainer/devcontainer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index a62f4418..c9edf8ce 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -32,7 +32,7 @@
"customizations": {
"codespaces": {
"openFiles": [
- "app/views/home/show.html.haml"
+ "app/views/home/show.html.erb"
]
},
"vscode": {
From 83a97c481994ff70b3fcb512a138982721256622 Mon Sep 17 00:00:00 2001
From: Yohei Yasukawa
Date: Fri, 16 May 2025 13:34:49 +0900
Subject: [PATCH 15/16] Update HAML-related comments
---
app/views/home/show.html.erb | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb
index b2b24cf8..6b381e9d 100644
--- a/app/views/home/show.html.erb
+++ b/app/views/home/show.html.erb
@@ -105,7 +105,8 @@
-
+