From 75aa3edca646bd7240c4724758c9c630318a01e1 Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Thu, 18 Dec 2025 13:52:01 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=E2=9C=A8=20DojoCast=20=E3=83=9D=E3=83=83?= =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A3=E3=82=B9=E3=83=88=20RSS=20=E3=82=92?= =?UTF-8?q?=20news:fetch=20=E3=82=BF=E3=82=B9=E3=82=AF=E3=81=AB=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DOJO_CAST_FEED として https://coderdojo.jp/podcasts.rss を追加 - fetch_podcast_posts() メソッドを実装(RSS 2.0 形式対応) - 本番環境で DojoCast の新着エピソードも「新着情報」として取得可能に --- lib/tasks/news.rake | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/tasks/news.rake b/lib/tasks/news.rake index 360819e5..2601717b 100644 --- a/lib/tasks/news.rake +++ b/lib/tasks/news.rake @@ -6,6 +6,7 @@ TEST_NEWS_FEED = Rails.root.join('spec', 'fixtures', 'sample_news.rss').freeze DOJO_NEWS_FEED = 'https://news.coderdojo.jp/feed/'.freeze DOJO_NEWS_JSON = 'https://news.coderdojo.jp/wp-json/wp/v2/posts'.freeze PR_TIMES_FEED = 'https://prtimes.jp/companyrdf.php?company_id=38935'.freeze +DOJO_CAST_FEED = 'https://coderdojo.jp/podcasts.rss'.freeze NEWS_YAML_PATH = 'db/news.yml'.freeze NEWS_LOGS_PATH = 'log/news.log'.freeze @@ -61,6 +62,18 @@ def fetch_prtimes_posts(rss_feed_url) end end +# DojoCast ポッドキャスト RSS フィードから取得するメソッド +def fetch_podcast_posts(rss_feed_url) + feed = RSS::Parser.parse(rss_feed_url, false) + feed.items.map do |item| + { + 'url' => item.link, + 'title' => item.title, + 'published_at' => item.pubDate.in_time_zone('Asia/Tokyo').iso8601 + } + end +end + namespace :news do desc "ニュースフィードを取得し、#{NEWS_YAML_PATH} を再構築(冪等)" task fetch: :environment do @@ -83,14 +96,17 @@ namespace :news do } } else - # 本番環境: WordPress REST API + PR TIMES RSS + # 本番環境: WordPress REST API + PR TIMES RSS + Podcast RSS dojo_news_items = fetch_dojo_news_posts(DOJO_NEWS_JSON) TASK_LOGGER.info("📰 news.coderdojo.jp から #{dojo_news_items.size} 件を取得") prtimes_items = fetch_prtimes_posts(PR_TIMES_FEED) TASK_LOGGER.info("📢 PR TIMES から #{prtimes_items.size} 件を取得") - items = dojo_news_items + prtimes_items + podcast_items = fetch_podcast_posts(DOJO_CAST_FEED) + TASK_LOGGER.info("🎙️ DojoCast から #{podcast_items.size} 件を取得") + + items = dojo_news_items + prtimes_items + podcast_items end # 3. 古い順にソートして ID を付与(ISO 8601 なら文字列のままソート可能) From bd148e66dc16a5ca78f5491f5cc067881169039a Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Thu, 18 Dec 2025 14:00:25 +0900 Subject: [PATCH 2/4] =?UTF-8?q?Use=20=F0=9F=93=BB=20emoji=20for=20podcast?= =?UTF-8?q?=20logger=20info?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/news.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/news.rake b/lib/tasks/news.rake index 2601717b..4c2c7a4b 100644 --- a/lib/tasks/news.rake +++ b/lib/tasks/news.rake @@ -104,7 +104,7 @@ namespace :news do TASK_LOGGER.info("📢 PR TIMES から #{prtimes_items.size} 件を取得") podcast_items = fetch_podcast_posts(DOJO_CAST_FEED) - TASK_LOGGER.info("🎙️ DojoCast から #{podcast_items.size} 件を取得") + TASK_LOGGER.info("📻 DojoCast から #{podcast_items.size} 件を取得") items = dojo_news_items + prtimes_items + podcast_items end From 4331e803940c5352f3cc2833c92e98b9ea1a922f Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Thu, 18 Dec 2025 14:13:48 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=E2=9C=A8=20DojoCast=20=E3=83=9D=E3=83=83?= =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A3=E3=82=B9=E3=83=88=E3=82=92=E3=80=8C?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E3=81=AE=20CoderDojo=E3=80=8D=E3=82=BB?= =?UTF-8?q?=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - news:fetch タスクに DOJO_CAST_FEED を追加(📻絵文字でログ出力) - ポッドキャストエピソードは内部リンクを使用 - タイトルの先頭3桁数字から番号を抽出(033 → 33、001 → 1) - 内部URL: https://coderdojo.jp/podcasts/{番号} - 番号が取得できない場合はエラーを発生 - ニュース表示時にソースごとに絵文字を使い分け - news.coderdojo.jp → 📰 - coderdojo.jp/podcasts → 📻 - prtimes.jp → 📢 - format_news_title ヘルパーメソッドを更新 - テストケースも対応済み --- app/helpers/application_helper.rb | 15 +- db/news.yml | 430 ++++++++++++++++-------- lib/tasks/news.rake | 12 +- spec/helpers/application_helper_spec.rb | 30 +- 4 files changed, 327 insertions(+), 160 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8bb33b87..ad2ac255 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -213,7 +213,18 @@ def translate_dojo_tag(tag_name) end def format_news_title(news) - has_emoji = news.title[0]&.match?(/[\p{Emoji}&&[^0-9#*]]/) - has_emoji ? news.title : "📰 #{news.title}" + has_custom_emoji = news.title[0]&.match?(/[\p{Emoji}&&[^0-9#*]]/) + return news.title if has_custom_emoji + + # Add preset Emoji to its prefix if news.title does not have Emoji. + emoji = case news.url + when %r{coderdojo\.jp/podcasts}, %r{spotify\.com/pod/show/coderdojo-japan} + '📻' + when %r{prtimes\.jp} + '📢' + else + '📰' + end + "#{emoji} #{news.title}" end end diff --git a/db/news.yml b/db/news.yml index 49889ed1..9b9cf153 100644 --- a/db/news.yml +++ b/db/news.yml @@ -1,598 +1,730 @@ --- -- id: 149 +- id: 182 url: https://news.coderdojo.jp/2025/12/14/162-laptops-to-coderdojo/ title: 米国系 IT 企業から CoderDojo へ、162 台のノート PC 寄贈 published_at: '2025-12-14T16:30:28+09:00' -- id: 148 +- id: 181 url: https://news.coderdojo.jp/2025/12/06/dojoletter-vol-91-2025%e5%b9%b410%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.91 2025年10月号 published_at: '2025-12-06T22:06:50+09:00' -- id: 147 +- id: 180 + url: https://coderdojo.jp/podcasts/33 + title: 033 - 教えて、宮島先生!生成AI時代における〈学び〉の再考 + published_at: '2025-11-28T09:00:00+09:00' +- id: 179 url: https://news.coderdojo.jp/2025/11/02/dojoletter-vol-90-2025%e5%b9%b409%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.90 2025年09月号 published_at: '2025-11-02T22:10:18+09:00' -- id: 146 +- id: 178 url: https://prtimes.jp/main/html/rd/p/000000016.000038935.html title: CoderDojo のオープンデータが、デジタル庁が推進する地域の Well-Being 指標のデジタル生活指数に採用 published_at: '2025-10-24T20:00:07+09:00' -- id: 145 +- id: 177 url: https://news.coderdojo.jp/2025/10/04/dojoletter-vol-89-2025%e5%b9%b408%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.89 2025年08月号 published_at: '2025-10-04T22:20:16+09:00' -- id: 144 +- id: 176 url: https://news.coderdojo.jp/2025/09/10/dojoletter-vol-88-2025%e5%b9%b407%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.88 2025年07月号 published_at: '2025-09-10T12:45:56+09:00' -- id: 143 +- id: 175 url: https://prtimes.jp/main/html/rd/p/000000017.000038935.html title: 日本各地に 200 以上!全国の CoderDojo 関係者が集まるカンファレンス「DojoCon Japan 2025」が、10月25日 (土曜) に福岡県久留米市で開催 published_at: '2025-09-02T17:30:01+09:00' -- id: 142 +- id: 174 url: https://news.coderdojo.jp/2025/08/12/dojoletter-vol-87-2025%e5%b9%b406%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.87 2025年06月号 published_at: '2025-08-12T13:00:02+09:00' -- id: 141 +- id: 173 + url: https://coderdojo.jp/podcasts/32 + title: 032 - ノート PC の233台寄贈を支える工夫 + published_at: '2025-07-27T09:00:00+09:00' +- id: 172 url: https://news.coderdojo.jp/2025/07/14/233-laptops-to-coderdojo/ title: 米国系 IT 企業から CoderDojo へ、233 台のノート PC 寄贈 published_at: '2025-07-14T14:50:31+09:00' -- id: 140 +- id: 171 url: https://news.coderdojo.jp/2025/07/10/dojoletter-vol-86-2025%e5%b9%b405%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.86 2025年05月号 published_at: '2025-07-10T13:00:07+09:00' -- id: 139 +- id: 170 url: https://news.coderdojo.jp/2025/06/10/dojoletter-vol-85-2025%e5%b9%b404%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.85 2025年04月号 published_at: '2025-06-10T12:30:18+09:00' -- id: 138 +- id: 169 url: https://news.coderdojo.jp/2025/05/12/dojoletter-vol-84-2025%e5%b9%b403%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.84 2025年03月号 published_at: '2025-05-12T13:00:33+09:00' -- id: 137 +- id: 168 url: https://news.coderdojo.jp/2025/04/10/dojoletter-vol-83-2025%e5%b9%b402%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.83 2025年02月号 published_at: '2025-04-10T12:45:27+09:00' -- id: 136 +- id: 167 url: https://news.coderdojo.jp/2025/04/04/55-laptops-to-coderdojo/ title: 米国系 IT 企業から CoderDojo へ、55 台のノート PC 寄贈 published_at: '2025-04-04T19:00:32+09:00' -- id: 135 +- id: 166 url: https://news.coderdojo.jp/2025/03/10/dojoletter-vol-82-2025%e5%b9%b401%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.82 2025年01月号 published_at: '2025-03-10T13:00:33+09:00' -- id: 134 +- id: 165 url: https://news.coderdojo.jp/2025/02/14/coderdojo-de-nyaicecode/ title: "\U0001F3B2 ダイス×プログラミング『ニャイス!コード』を、CoderDojo に75台寄贈" published_at: '2025-02-14T17:24:07+09:00' -- id: 133 +- id: 164 url: https://news.coderdojo.jp/2025/02/10/dojoletter-vol-80-2024%e5%b9%b412%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.80 2024年12月号 published_at: '2025-02-10T13:00:55+09:00' -- id: 132 +- id: 163 + url: https://coderdojo.jp/podcasts/31 + title: 031 - 馬場経ラジオ × CoderDojo Japan + published_at: '2025-01-28T09:00:00+09:00' +- id: 162 url: https://news.coderdojo.jp/2025/01/14/dojoletter-vol-79-2024%e5%b9%b411%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.79 2024年11月号 published_at: '2025-01-14T12:30:45+09:00' -- id: 131 +- id: 161 url: https://news.coderdojo.jp/2024/12/25/box-japan-to-coderdojo/ title: "\U0001F384128台のノート PC 寄贈、Box Japan から CoderDojo へ \U0001F381" published_at: '2024-12-25T20:00:40+09:00' -- id: 130 +- id: 160 url: https://prtimes.jp/main/html/rd/p/000000014.000038935.html title: Box Japan からの支援を受け、全国の CoderDojo へ 128 台のノート PC 寄贈 published_at: '2024-12-25T20:00:31+09:00' -- id: 129 +- id: 159 url: https://news.coderdojo.jp/2024/12/10/dojoletter-vol-78-2024%e5%b9%b410%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.78 2024年10月号 published_at: '2024-12-10T13:00:06+09:00' -- id: 128 +- id: 158 url: https://news.coderdojo.jp/2024/11/11/dojoletter-vol-77-2024%e5%b9%b409%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.77 2024年09月号 published_at: '2024-11-11T13:00:36+09:00' -- id: 127 +- id: 157 url: https://news.coderdojo.jp/2024/10/10/dojoletter-vol-77-2024%e5%b9%b408%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.77 2024年08月号 published_at: '2024-10-10T12:00:46+09:00' -- id: 126 +- id: 156 url: https://news.coderdojo.jp/2024/09/10/dojoletter-vol-76-2024%e5%b9%b407%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.76 2024年07月号 published_at: '2024-09-10T12:30:21+09:00' -- id: 125 +- id: 155 url: https://news.coderdojo.jp/2024/08/13/dojoletter-vol-75-2024-06/ title: DojoLetter Vol.75 2024年06月号 published_at: '2024-08-13T13:00:47+09:00' -- id: 124 +- id: 154 url: https://news.coderdojo.jp/2024/07/29/learn-ai-programming-with-scratch-2e/ title: "『Scratchではじめる機械学習 第2版』寄贈" published_at: '2024-07-29T08:43:42+09:00' -- id: 123 +- id: 153 url: https://news.coderdojo.jp/2024/07/10/dojoletter-vol-74-2024%e5%b9%b405%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.74 2024年05月号 published_at: '2024-07-10T12:00:28+09:00' -- id: 122 +- id: 152 url: https://news.coderdojo.jp/2024/06/10/dojoletter-vol-73-2024%e5%b9%b404%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.73 2024年04月号 published_at: '2024-06-10T13:00:51+09:00' -- id: 121 +- id: 151 url: https://news.coderdojo.jp/2024/05/10/dojoletter-vol-72-2024%e5%b9%b43%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.72 2024年3月号 published_at: '2024-05-10T12:30:21+09:00' -- id: 120 +- id: 150 url: https://news.coderdojo.jp/2024/04/10/dojoletter-vol-71-2024%e5%b9%b42%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.71 2024年2月号 published_at: '2024-04-10T12:30:41+09:00' -- id: 119 +- id: 149 url: https://news.coderdojo.jp/2024/03/29/from-yukai-engineering-to-coderdojo/ title: ユカイ工学から CoderDojo へ、学んで遊べるブロックキット「ウゴクブロック」を20台寄贈 published_at: '2024-03-29T12:52:53+09:00' -- id: 118 +- id: 148 url: https://news.coderdojo.jp/2024/03/10/dojoletter-vol-70/ title: DojoLetter Vol.70 2024年1月号 published_at: '2024-03-10T12:00:54+09:00' -- id: 117 +- id: 147 url: https://prtimes.jp/main/html/rd/p/000000012.000038935.html title: 国際的な非営利活動「CoderDojo」の共同発起人が来日、高田馬場でトークイベント開催 published_at: '2024-02-29T15:00:02+09:00' -- id: 116 +- id: 146 url: https://news.coderdojo.jp/2024/02/11/dojoletter-vol-69-2023%e5%b9%b412%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.69 2023年12月号 published_at: '2024-02-11T12:00:13+09:00' -- id: 115 +- id: 145 url: https://news.coderdojo.jp/2024/01/10/dojoletter-vol-68-2023%e5%b9%b411%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.68 2023年11月号 published_at: '2024-01-10T12:30:47+09:00' -- id: 114 +- id: 144 url: https://news.coderdojo.jp/2023/12/11/dojoletter-vol-67-2023%e5%b9%b410%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.67 2023年10月号 published_at: '2023-12-11T13:00:16+09:00' -- id: 113 +- id: 143 url: https://news.coderdojo.jp/2023/11/10/dojoletter-vol-66-2023%e5%b9%b49%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.66 2023年9月号 published_at: '2023-11-10T13:00:17+09:00' -- id: 112 +- id: 142 url: https://news.coderdojo.jp/2023/10/10/dojoletter-vol-65-2023%e5%b9%b408%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.65 2023年08月号 published_at: '2023-10-10T12:30:30+09:00' -- id: 111 +- id: 141 url: https://news.coderdojo.jp/2023/09/11/dojoletter-vol-64-2023%e5%b9%b407%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.64 2023年07月号 published_at: '2023-09-11T12:30:05+09:00' -- id: 110 +- id: 140 url: https://news.coderdojo.jp/2023/08/30/tfabworks-takoratch/ title: TFabWorks と連携し、全国の CoderDojo を対象とした Scratch 用コントローラー「Takoratch」の無償レンタルプログラムをスタート published_at: '2023-08-30T12:10:40+09:00' -- id: 109 +- id: 139 url: https://prtimes.jp/main/html/rd/p/000000011.000038935.html title: TFabWorks と連携し、全国の CoderDojo を対象とした Scratch 用コントローラー「Takoratch」の無償レンタルプログラムをスタート published_at: '2023-08-30T12:10:01+09:00' -- id: 108 +- id: 138 url: https://news.coderdojo.jp/2023/08/10/dojoletter-vol-63-2023%e5%b9%b406%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.63 2023年06月号 published_at: '2023-08-10T12:00:59+09:00' -- id: 107 +- id: 137 url: https://news.coderdojo.jp/2023/07/10/dojoletter-vol-62-2023%e5%b9%b405%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.62 2023年05月号 published_at: '2023-07-10T13:00:32+09:00' -- id: 106 +- id: 136 url: https://prtimes.jp/main/html/rd/p/000000010.000038935.html title: 国内の CoderDojo 関係者が集まる「DojoCon Japan 2023 “Be Cool”」、2023年8月27日(日曜)に奈良で開催 published_at: '2023-06-22T10:00:03+09:00' -- id: 105 +- id: 135 url: https://news.coderdojo.jp/2023/06/19/dojoletter-vol-61-2023%e5%b9%b404%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.61 2023年04月号 published_at: '2023-06-19T12:30:44+09:00' -- id: 104 +- id: 134 url: https://news.coderdojo.jp/2023/05/28/donation-to-coderdojo-community/ title: "『感電上等! ガジェット分解のススメ HYPER』『ユウと魔法のプログラミング・ノート』『3Dプリンター』寄贈" published_at: '2023-05-28T15:27:33+09:00' -- id: 103 +- id: 133 url: https://news.coderdojo.jp/2023/05/10/dojoletter-vol-60-2023%e5%b9%b403%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.60 2023年03月号 published_at: '2023-05-10T12:30:54+09:00' -- id: 102 +- id: 132 url: https://news.coderdojo.jp/2023/04/10/dojoletter-vol-59-2023%e5%b9%b42%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.59 2023年2月号 published_at: '2023-04-10T12:30:14+09:00' -- id: 101 +- id: 131 url: https://news.coderdojo.jp/2023/04/06/sponsored-by-prtimes/ title: PR TIMES が CoderDojo Japan 協賛企業の1社に加わりました published_at: '2023-04-06T21:24:15+09:00' -- id: 100 +- id: 130 url: https://news.coderdojo.jp/2023/03/10/dojoletter-vol-58-2023%e5%b9%b41%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.58 2023年1月号 published_at: '2023-03-10T12:30:04+09:00' -- id: 99 +- id: 129 url: https://news.coderdojo.jp/2023/02/10/dojoletter-vol-57-2022%e5%b9%b412%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.57 2022年12月号 published_at: '2023-02-10T12:00:02+09:00' -- id: 98 +- id: 128 url: https://news.coderdojo.jp/2023/01/10/dojoletter-vol-56-2022%e5%b9%b411%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.56 2022年11月号 published_at: '2023-01-10T12:00:39+09:00' -- id: 97 +- id: 127 url: https://news.coderdojo.jp/2023/01/06/dojoletter-vol-55-2022%e5%b9%b410%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.55 2022年10月号 published_at: '2023-01-06T22:14:25+09:00' -- id: 96 +- id: 126 url: https://news.coderdojo.jp/2023/01/01/partnership-with-mitsue-links/ title: ミツエーリンクスがパートナー法人として CoderDojo Japan を支援 published_at: '2023-01-01T11:00:59+09:00' -- id: 95 +- id: 125 + url: https://coderdojo.jp/podcasts/30 + title: 030 - Micro:bit 教育財団 × CoderDojo + published_at: '2022-12-13T09:00:00+09:00' +- id: 124 + url: https://coderdojo.jp/podcasts/29 + title: '029 - CoderDojo Japan 2022 活動報告' + published_at: '2022-12-12T09:00:00+09:00' +- id: 123 url: https://news.coderdojo.jp/2022/12/03/docker-sponsored-open-source-program/ title: Docker-Sponsored Open Source プログラムの対象となりました published_at: '2022-12-03T15:45:33+09:00' -- id: 94 +- id: 122 url: https://prtimes.jp/main/html/rd/p/000000008.000038935.html title: Geolonia の支援を得て、全国の CoderDojo が地図から探せる「DojoMap」を開発 published_at: '2022-12-01T13:59:22+09:00' -- id: 93 +- id: 121 url: https://news.coderdojo.jp/2022/12/01/dojomap-and-geolonia/ title: Geolonia の支援を得て、地図から探せる「DojoMap」を開発 published_at: '2022-12-01T09:30:33+09:00' -- id: 92 +- id: 120 url: https://news.coderdojo.jp/2022/11/10/dojoletter-vol-54-2022%e5%b9%b409%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.54 2022年09月号 published_at: '2022-11-10T12:30:29+09:00' -- id: 91 +- id: 119 + url: https://coderdojo.jp/podcasts/28 + title: '028 - 遠くへ行きたければ、みんなで行け' + published_at: '2022-10-15T09:00:00+09:00' +- id: 118 url: https://news.coderdojo.jp/2022/10/11/dojoletter-vol-53-2022%e5%b9%b408%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.53 2022年08月号 published_at: '2022-10-11T12:00:59+09:00' -- id: 90 +- id: 117 url: https://news.coderdojo.jp/2022/09/12/dojoletter-vol-52-2022%e5%b9%b407%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.52 2022年07月号 published_at: '2022-09-12T11:45:31+09:00' -- id: 89 +- id: 116 url: https://news.coderdojo.jp/2022/08/10/dojoletter-vol-51-2022%e5%b9%b406%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.51 2022年06月号 published_at: '2022-08-10T12:00:50+09:00' -- id: 88 +- id: 115 url: https://news.coderdojo.jp/2022/07/22/play-and-learn-machine-learning-with-scratch/ title: 書籍『Scratchであそぶ機械学習』が5冊寄贈されました published_at: '2022-07-22T21:58:39+09:00' -- id: 87 +- id: 114 url: https://news.coderdojo.jp/2022/07/12/donation-from-box-to-coderdojo/ title: 15台の MacBook Air 寄贈、Box Japan から CoderDojo へ published_at: '2022-07-12T16:00:21+09:00' -- id: 86 +- id: 113 url: https://news.coderdojo.jp/2022/07/12/dojoletter-vol-50-2022%e5%b9%b405%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.50 2022年05月号 published_at: '2022-07-12T12:00:06+09:00' -- id: 85 +- id: 112 url: https://news.coderdojo.jp/2022/06/10/dojoletter-vol-49-2022%e5%b9%b404%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.49 2022年04月号 published_at: '2022-06-10T13:00:35+09:00' -- id: 84 +- id: 111 url: https://news.coderdojo.jp/2022/05/31/partnership-with-minecraftcup/ title: Minecraftカップ全国大会と連携し、CoderDojo向け教育版マインクラフトのライセンス貸し出しプログラムを開始 published_at: '2022-05-31T17:50:18+09:00' -- id: 83 +- id: 110 + url: https://coderdojo.jp/podcasts/27 + title: 027 - DojoCon Japan 2021 ふりかえり + published_at: '2022-05-26T09:00:00+09:00' +- id: 109 url: https://news.coderdojo.jp/2022/05/16/1500-microbits-to-coderdojo/ title: ポケットサイズの教育用コンピューター「micro:bit」、CoderDojo に 1500 台寄贈 published_at: '2022-05-16T17:00:18+09:00' -- id: 82 +- id: 108 url: https://prtimes.jp/main/html/rd/p/000000007.000038935.html title: ポケットサイズの教育用コンピューター「micro:bit」、CoderDojo に 1500 台寄贈 published_at: '2022-05-16T17:00:03+09:00' -- id: 81 +- id: 107 url: https://news.coderdojo.jp/2022/05/10/dojoletter-vol-48-2022%e5%b9%b43%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.48 2022年3月号 published_at: '2022-05-10T13:00:51+09:00' -- id: 80 +- id: 106 url: https://news.coderdojo.jp/2022/05/04/people-powered/ title: "『遠くへ行きたければ、みんなで行け』が寄贈されました" published_at: '2022-05-04T12:20:07+09:00' -- id: 79 +- id: 105 url: https://news.coderdojo.jp/2022/04/10/dojoletter-vol-47-2022%e5%b9%b42%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.47 2022年2月号 published_at: '2022-04-10T13:00:57+09:00' -- id: 78 +- id: 104 url: https://prtimes.jp/main/html/rd/p/000000005.000038935.html title: 発売3周年のロボットトイ「toio」、CoderDojo 向けレンタルプログラム開始 published_at: '2022-03-18T10:00:20+09:00' -- id: 77 +- id: 103 url: https://news.coderdojo.jp/2022/03/17/toio-sony-interactive-entertainment/ title: 発売3周年をむかえるロボットトイ「toio」の CoderDojo 向けレンタルプログラム開始 published_at: '2022-03-17T18:10:01+09:00' -- id: 76 +- id: 102 url: https://news.coderdojo.jp/2022/03/10/dojoletter-vol-46-2022%e5%b9%b41%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.46 2022年1月号 published_at: '2022-03-10T12:00:04+09:00' -- id: 75 +- id: 101 url: https://news.coderdojo.jp/2022/02/10/dojoletter-vol-45/ title: DojoLetter Vol.45 2021年12月号 published_at: '2022-02-10T12:30:19+09:00' -- id: 74 +- id: 100 url: https://news.coderdojo.jp/2022/01/11/dojoletter-vol-44/ title: DojoLetter Vol.44 2021年11月号 published_at: '2022-01-11T12:30:12+09:00' -- id: 73 +- id: 99 url: https://news.coderdojo.jp/2021/12/27/diver-learnings-for-coderdojo/ title: RubyやPython、機械学習などが学べる「DIVER Learnings」が全国の CoderDojo で利用可能に published_at: '2021-12-27T11:00:01+09:00' -- id: 72 +- id: 98 url: https://news.coderdojo.jp/2021/12/10/dojoletter-vol-43/ title: DojoLetter Vol.43 2021年10月号 published_at: '2021-12-10T12:30:37+09:00' -- id: 71 +- id: 97 + url: https://coderdojo.jp/podcasts/26 + title: 026 - CoderDojo Japan 公開定例会 + published_at: '2021-12-01T09:00:00+09:00' +- id: 96 + url: https://coderdojo.jp/podcasts/25 + title: 025 - 祝222回開催! CoderDojoひばりヶ丘の運営者と一緒にふりかえる、2012年から現在までの変遷 + published_at: '2021-11-14T09:00:00+09:00' +- id: 95 url: https://news.coderdojo.jp/2021/11/10/dojoletter-vol-42/ title: DojoLetter Vol.42 2021年09月号 published_at: '2021-11-10T12:30:45+09:00' -- id: 70 +- id: 94 url: https://news.coderdojo.jp/2021/10/11/dojoletter-vol-41/ title: DojoLetter Vol.41 2021年08月号 published_at: '2021-10-11T12:45:39+09:00' -- id: 69 +- id: 93 url: https://news.coderdojo.jp/2021/09/10/dojoletter-vol-40/ title: DojoLetter Vol.40 2021年07月号 published_at: '2021-09-10T12:45:52+09:00' -- id: 68 +- id: 92 + url: https://coderdojo.jp/podcasts/24 + title: 024 - Scratch とアート&サイエンス + published_at: '2021-08-28T09:00:00+09:00' +- id: 91 url: https://news.coderdojo.jp/2021/08/25/art-and-science-with-scratch/ title: Scratchで楽しく学ぶアート&サイエンスが寄贈されました published_at: '2021-08-25T21:10:59+09:00' -- id: 67 +- id: 90 url: https://news.coderdojo.jp/2021/08/10/dojoletter-vol-39/ title: DojoLetter Vol.39 2021年06月号 published_at: '2021-08-10T12:30:52+09:00' -- id: 66 +- id: 89 url: https://news.coderdojo.jp/2021/08/01/pokemon-workshop-at-school/ title: 出張ポケモンワークショップ事例の公開 @ 大津ヶ丘第一小学校 published_at: '2021-08-01T00:00:31+09:00' -- id: 65 +- id: 88 url: https://news.coderdojo.jp/2021/07/29/robot-programming-kits-from-jci/ title: 日本青年会議所から CoderDojo へ、20台のロボットプログラミングキット寄贈 published_at: '2021-07-29T15:49:16+09:00' -- id: 64 +- id: 87 url: https://news.coderdojo.jp/2021/07/12/dojoletter-vol-38-2021%e5%b9%b405%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.38 2021年05月号 published_at: '2021-07-12T12:30:34+09:00' -- id: 63 +- id: 86 url: https://news.coderdojo.jp/2021/06/30/1080-presents-from-google-to-coderdojo/ title: 全国の CoderDojo へ、Google より Scratch 書籍と AI プログラミング冊子を 1080 部寄贈 published_at: '2021-06-30T17:34:10+09:00' -- id: 62 +- id: 85 url: https://news.coderdojo.jp/2021/06/10/dojoletter-vol-37/ title: DojoLetter Vol.37 2021年4月号 published_at: '2021-06-10T12:30:33+09:00' -- id: 61 +- id: 84 url: https://news.coderdojo.jp/2021/06/10/girls-initiative-for-coderdojo-in-2021/ title: Google の支援を受け、Girls Initiative for CoderDojo を2021年も開催 published_at: '2021-06-10T08:30:03+09:00' -- id: 60 +- id: 83 url: https://news.coderdojo.jp/2021/05/10/dojoletter-vol-36/ title: DojoLetter Vol.36 2021年3月号 published_at: '2021-05-10T12:30:31+09:00' -- id: 59 +- id: 82 url: https://news.coderdojo.jp/2021/04/28/dobot-rental-program/ title: GRIPS、プログラミング学習に最適な教育用ロボットアーム・Dobot Magician LiteをCoderDojo向けに提供 published_at: '2021-04-28T15:00:24+09:00' -- id: 58 +- id: 81 url: https://news.coderdojo.jp/2021/04/23/programming-with-pokemon/ title: プログラミングでポケモンを動かすワークショップが、全国のCoderDojoで実施可能に。 published_at: '2021-04-23T14:00:28+09:00' -- id: 57 +- id: 80 url: https://prtimes.jp/main/html/rd/p/000000003.000038935.html title: プログラミングでポケモンを動かすワークショップが、全国のCoderDojoで実施可能に。 published_at: '2021-04-23T14:00:05+09:00' -- id: 56 +- id: 79 url: https://news.coderdojo.jp/2021/04/12/dojoletter-vol-35/ title: DojoLetter Vol.35 2021年2月号 published_at: '2021-04-12T12:00:13+09:00' -- id: 55 +- id: 78 + url: https://coderdojo.jp/podcasts/23 + title: 023 - みん経ネットワークと CoderDojo + published_at: '2021-03-21T09:00:00+09:00' +- id: 77 url: https://news.coderdojo.jp/2021/03/10/dojoletter-vol-34/ title: DojoLetter Vol.34 2021年1月号 published_at: '2021-03-10T12:00:21+09:00' -- id: 54 +- id: 76 url: https://news.coderdojo.jp/2021/02/10/dojoletter-vol-33/ title: DojoLetter Vol.33 2020年12月号 published_at: '2021-02-10T12:00:28+09:00' -- id: 53 +- id: 75 url: https://news.coderdojo.jp/2021/01/10/dojoletter-vol-32/ title: DojoLetter Vol.32 2020年11月号 published_at: '2021-01-10T12:00:07+09:00' -- id: 52 +- id: 74 + url: https://coderdojo.jp/podcasts/22 + title: 022 - DojoCon Japan 2020 ふりかえり + published_at: '2021-01-07T09:00:00+09:00' +- id: 73 + url: https://coderdojo.jp/podcasts/21 + title: 021 - TFabWorks 無償レンタルプログラム + published_at: '2020-12-11T09:00:00+09:00' +- id: 72 url: https://news.coderdojo.jp/2020/12/10/dojoletter-vol-31/ title: DojoLetter Vol.31 2020年10月号 published_at: '2020-12-10T00:00:36+09:00' -- id: 51 +- id: 71 url: https://news.coderdojo.jp/2020/11/26/tfabworks-microbit-rental-program/ title: TFabWorks、micro:bit と周辺機器の無償レンタルプログラムを全国の CoderDojo 向けに提供 published_at: '2020-11-26T14:00:29+09:00' -- id: 50 +- id: 70 url: https://prtimes.jp/main/html/rd/p/000000002.000038935.html title: TFabWorksと連携し、micro:bitなどの無償レンタルプログラムを全国のCoderDojo向けに提供 published_at: '2020-11-26T14:00:06+09:00' -- id: 49 +- id: 69 url: https://news.coderdojo.jp/2020/11/10/dojoletter-vol-30/ title: DojoLetter Vol.30 2020年9月号 published_at: '2020-11-10T13:00:30+09:00' -- id: 48 +- id: 68 + url: https://coderdojo.jp/podcasts/20 + title: 020 - Scratch と機械学習で作ってみた話 + published_at: '2020-11-07T09:00:00+09:00' +- id: 67 url: https://news.coderdojo.jp/2020/10/10/dojoletter-vol-29/ title: DojoLetter Vol.29 2020年8月号 published_at: '2020-10-10T13:00:14+09:00' -- id: 47 +- id: 66 url: https://news.coderdojo.jp/2020/09/10/dojoletter-vol-28/ title: DojoLetter Vol.28 2020年7月号 published_at: '2020-09-10T13:00:33+09:00' -- id: 46 +- id: 65 url: https://news.coderdojo.jp/2020/08/10/dojoletter-vol-27/ title: DojoLetter Vol.27 2020年6月号 published_at: '2020-08-10T00:00:51+09:00' -- id: 45 +- id: 64 url: https://news.coderdojo.jp/2020/08/07/additional-sessions-for-coderdojo/ title: 追加募集!Girls Initiative for CoderDojo キャンペーンの Mind the Gap セッション追加実施 published_at: '2020-08-07T14:57:57+09:00' -- id: 44 +- id: 63 + url: https://coderdojo.jp/podcasts/19 + title: '019 - CoderDojo Japan 理事の日常' + published_at: '2020-08-03T09:00:00+09:00' +- id: 62 url: https://news.coderdojo.jp/2020/07/31/tokyo-volunteer-portal-with-coderdojo/ title: 東京都が運営するボランティアポータルで CoderDojo の事例が選出 published_at: '2020-07-31T14:30:49+09:00' -- id: 43 +- id: 61 + url: https://coderdojo.jp/podcasts/18 + title: '018 - ゲームと機械学習と Scratch 本' + published_at: '2020-07-20T09:00:00+09:00' +- id: 60 url: https://news.coderdojo.jp/2020/07/19/scratch-books-for-coderdojo/ title: ゲームや機械学習の Scratch 書籍、全国の CoderDojo 向けに寄贈 published_at: '2020-07-19T16:10:07+09:00' -- id: 42 +- id: 59 url: https://news.coderdojo.jp/2020/07/13/girls-initiative-for-coderdojo/ title: Google の支援を受け、スイッチエデュケーションと共同で Girls Initiative for CoderDojo キャンペーンを開始 published_at: '2020-07-13T14:00:56+09:00' -- id: 41 +- id: 58 url: https://news.coderdojo.jp/2020/07/10/dojoletter-vol-26/ title: DojoLetter Vol.26 2020年5月号 published_at: '2020-07-10T13:00:06+09:00' -- id: 40 +- id: 57 url: https://news.coderdojo.jp/2020/07/03/from-yukai-engineering-to-young-people/ title: ユカイ工学から CoderDojo へ、ロボットキット20台寄贈 published_at: '2020-07-03T15:18:01+09:00' -- id: 39 +- id: 56 url: https://news.coderdojo.jp/2020/06/10/dojoletter-vol-25/ title: DojoLetter Vol.25 2020年4月号 published_at: '2020-06-10T12:00:37+09:00' -- id: 38 +- id: 55 url: https://news.coderdojo.jp/2020/05/18/support-online-sessions/ title: CoderDojo オンライン開催の支援について published_at: '2020-05-18T12:05:49+09:00' -- id: 37 +- id: 54 url: https://news.coderdojo.jp/2020/05/11/dojoletter-vol-24/ title: DojoLetter Vol.24 2020年3月号 published_at: '2020-05-11T12:00:50+09:00' -- id: 36 +- id: 53 url: https://news.coderdojo.jp/2020/04/10/dojoletter-vol-23/ title: DojoLetter Vol.23 2020年2月号 published_at: '2020-04-10T13:00:41+09:00' -- id: 35 +- id: 52 url: https://news.coderdojo.jp/2020/04/06/hackforplay-for-team/ title: HackforPlay の法人向け新サービス、全国の CoderDojo 向けに無償提供 published_at: '2020-04-06T12:00:38+09:00' -- id: 34 +- id: 51 url: https://news.coderdojo.jp/2020/03/25/200-servers-provided-by-sakura-internet/ title: さくらインターネット、子ども向けプログラミング道場『CoderDojo』にサーバー100台を追加支援 ~さくらのクラウド計200台を無料提供~ published_at: '2020-03-25T11:00:07+09:00' -- id: 33 +- id: 50 url: https://news.coderdojo.jp/2020/03/10/dojoletter-vol-21/ title: DojoLetter Vol.21 2020年1月号 published_at: '2020-03-10T13:00:51+09:00' -- id: 32 +- id: 49 url: https://news.coderdojo.jp/2020/02/10/dojoletter-vol-20-2019%e5%b9%b412%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.20 2019年12月号 published_at: '2020-02-10T00:00:30+09:00' -- id: 31 +- id: 48 + url: https://coderdojo.jp/podcasts/17 + title: 017 - 映画と漫画とプログラミング + published_at: '2020-01-31T09:00:00+09:00' +- id: 47 + url: https://coderdojo.jp/podcasts/16 + title: 016 - DojoCon Japan 2019 ふりかえり + published_at: '2020-01-26T09:00:00+09:00' +- id: 46 url: https://news.coderdojo.jp/2020/01/10/dojoletter-vol-20/ title: DojoLetter Vol.20 2019年11月号 published_at: '2020-01-10T13:00:55+09:00' -- id: 30 +- id: 45 url: https://news.coderdojo.jp/2019/12/21/wro-japan-and-coderdojo-japan/ title: ロボコンの WRO Japan と提携し、全国の CoderDojo へロボットキットを提供 published_at: '2019-12-21T08:21:42+09:00' -- id: 29 +- id: 44 url: https://news.coderdojo.jp/2019/12/10/dojoletter-vol-19/ title: DojoLetter Vol.19 2019年10月号 published_at: '2019-12-10T13:00:24+09:00' -- id: 28 +- id: 43 + url: https://coderdojo.jp/podcasts/15 + title: 015 - DojoCon Japan 2019 ハイライト + published_at: '2019-11-29T09:00:00+09:00' +- id: 42 url: https://news.coderdojo.jp/2019/11/13/google-and-coderdojo-join-forces-in-japan/ title: Google が CoderDojo Japan のパートナー法人に published_at: '2019-11-13T19:50:02+09:00' -- id: 27 +- id: 41 url: https://news.coderdojo.jp/2019/11/10/dojoletter-vol-18/ title: DojoLetter Vol.18 2019年09月号 published_at: '2019-11-10T00:00:39+09:00' -- id: 26 +- id: 40 url: https://news.coderdojo.jp/2019/10/10/dojoletter-vol-17-2019%e5%b9%b408%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.17 2019年08月号 published_at: '2019-10-10T12:00:38+09:00' -- id: 25 +- id: 39 url: https://news.coderdojo.jp/2019/09/10/dojoletter-vol-16/ title: DojoLetter Vol.16 2019年07月号 published_at: '2019-09-10T12:00:37+09:00' -- id: 24 +- id: 38 url: https://news.coderdojo.jp/2019/08/29/github-for-nonprofit/ title: GitHub for Nonprofit プログラムの対象になりました published_at: '2019-08-29T14:07:33+09:00' -- id: 23 +- id: 37 + url: https://coderdojo.jp/podcasts/14 + title: 014 - [PR] 深センに来てみたよ! @ Makeblock + published_at: '2019-08-13T09:00:00+09:00' +- id: 36 url: https://news.coderdojo.jp/2019/08/05/dojoletter-vol-15-2019%e5%b9%b46%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.15 2019年6月号 published_at: '2019-08-05T22:59:10+09:00' -- id: 22 +- id: 35 url: https://news.coderdojo.jp/2019/07/30/play-and-learn-with-programming-contest/ title: プログラミング問題を解いて学ぶ TOPSIC、全国の CoderDojo へ無償提供 published_at: '2019-07-30T15:30:06+09:00' -- id: 21 +- id: 34 url: https://news.coderdojo.jp/2019/07/10/dojoletter-vol-14/ title: DojoLetter Vol.14 2019年5月号 published_at: '2019-07-10T12:00:16+09:00' -- id: 20 +- id: 33 url: https://news.coderdojo.jp/2019/06/10/dojoletter-vol-13/ title: DojoLetter Vol.13 2019年4月号 published_at: '2019-06-10T13:00:41+09:00' -- id: 19 +- id: 32 + url: https://coderdojo.jp/podcasts/13 + title: 013 - CoderDojo × Scratch 本の執筆秘話 + published_at: '2019-05-30T09:00:00+09:00' +- id: 31 + url: https://coderdojo.jp/podcasts/12 + title: 012 - [EN] The 1st CoderDojo and the Global Vision + published_at: '2019-05-18T09:00:00+09:00' +- id: 30 url: https://news.coderdojo.jp/2019/05/15/dojoletter-vol-12/ title: DojoLetter Vol.12 2019年3月号 published_at: '2019-05-15T12:00:27+09:00' -- id: 18 +- id: 29 url: https://news.coderdojo.jp/2019/05/10/makeblock-halocode-and-coderdojo-japan/ title: MakeblockからCoderDojoへ、新製品のWi-Fi付きシングルボードを200台提供 published_at: '2019-05-10T10:00:43+09:00' -- id: 17 +- id: 28 url: https://news.coderdojo.jp/2019/04/10/dojoletter-vol-11-2019%e5%b9%b42%e6%9c%88%e5%8f%b7/ title: DojoLetter Vol.11 2019年2月号 published_at: '2019-04-10T12:00:19+09:00' -- id: 16 +- id: 27 + url: https://coderdojo.jp/podcasts/11 + title: 011 - [PR] 様々なメンタリングの形 with 未踏ジュニア + published_at: '2019-03-25T09:00:00+09:00' +- id: 26 url: https://news.coderdojo.jp/2019/03/11/dojoletter-vol-10/ title: DojoLetter Vol.10 2019年1月号 published_at: '2019-03-11T12:30:44+09:00' -- id: 15 +- id: 25 url: https://news.coderdojo.jp/2019/03/03/google-for-nonprofits-via-techsoup-japan/ title: TechSoup Japan の協力により、Google for Nonprofits に採択されました published_at: '2019-03-03T12:07:34+09:00' -- id: 14 +- id: 24 url: https://news.coderdojo.jp/2019/02/10/dojoletter-vol-9/ title: DojoLetter Vol.9 2018年12月号 published_at: '2019-02-10T10:00:16+09:00' -- id: 13 +- id: 23 url: https://news.coderdojo.jp/2019/02/04/from-minnnanocode-to-coderdojo-japan/ title: CoderDojo Japanとみんなのコード、 プログラミング教育に関するパートナーシップを締結〜全国165ヶ所の「CoderDojo」を対象としたオンラインコミュニティの共同運営、各種ミートアップを共同で開催〜 published_at: '2019-02-04T13:00:36+09:00' -- id: 12 +- id: 22 url: https://news.coderdojo.jp/2019/01/10/dojoletter-vol-8/ title: DojoLetter Vol.8 2018年11月号 published_at: '2019-01-10T13:00:19+09:00' -- id: 11 +- id: 21 url: https://news.coderdojo.jp/2019/01/07/dojoletter-vol-7/ title: DojoLetter Vol.7 2018年10月号 published_at: '2019-01-07T22:04:32+09:00' -- id: 10 +- id: 20 + url: https://coderdojo.jp/podcasts/10 + title: 010 - [EN] Programming is Beyond a Job For Me + published_at: '2018-12-05T09:00:00+09:00' +- id: 19 url: https://news.coderdojo.jp/2018/11/28/from-cygames-to-all-dojos-in-japan/ title: 株式会社Cygamesとパートナーシップを締結、全国160ヶ所の道場を対象にPCを寄贈 published_at: '2018-11-28T13:00:39+09:00' -- id: 9 +- id: 18 url: https://news.coderdojo.jp/2018/11/12/dojoletter-vol-6/ title: DojoLetter Vol.6 2018年9月号 published_at: '2018-11-12T13:00:55+09:00' -- id: 8 +- id: 17 url: https://news.coderdojo.jp/2018/10/29/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e5%ad%a6%e7%bf%92%e3%81%aeprogate%e3%80%81%e5%85%a8%e5%9b%bd%e3%81%aecoderdojo%e3%81%b8%e6%b3%95%e4%ba%ba%e3%83%97%e3%83%a9%e3%83%b3/ title: プログラミング学習のProgate、全国のCoderDojoへ法人プランの無料提供開始 published_at: '2018-10-29T11:00:41+09:00' -- id: 7 +- id: 16 url: https://news.coderdojo.jp/2018/10/12/press-support-facebook-coupon/ title: フェイスブックジャパンがCoderDojoのコミュニティ運営をサポート published_at: '2018-10-12T12:00:21+09:00' -- id: 6 +- id: 15 url: https://news.coderdojo.jp/2018/10/10/dojoletter-vol-5/ title: DojoLetter Vol.5 2018年8月号 published_at: '2018-10-10T12:00:25+09:00' -- id: 5 +- id: 14 url: https://news.coderdojo.jp/2018/09/20/dojoletter-vol-4/ title: DojoLetter Vol.4 2018年7月号 published_at: '2018-09-20T17:00:37+09:00' -- id: 4 +- id: 13 url: https://news.coderdojo.jp/2018/08/11/dojoletter-vol-3/ title: DojoLetter Vol.3 2018年6月号 published_at: '2018-08-11T15:18:50+09:00' -- id: 3 +- id: 12 url: https://news.coderdojo.jp/2018/07/10/dojoletter-vol-2/ title: DojoLetter Vol.2 2018年5月号 published_at: '2018-07-10T20:17:27+09:00' -- id: 2 +- id: 11 url: https://news.coderdojo.jp/2018/06/05/dojoletter-vol-1/ title: DojoLetter Vol.1 2018年4月号 published_at: '2018-06-05T16:07:18+09:00' -- id: 1 +- id: 10 url: https://news.coderdojo.jp/2018/03/06/start-newsletter/ title: CoderDojo Japan ニュースレター(DojoLetter)始めます! published_at: '2018-03-06T17:00:36+09:00' +- id: 9 + url: https://coderdojo.jp/podcasts/9 + title: '009 - 広島の CoderDojo コミュニティ' + published_at: '2017-09-16T09:00:00+09:00' +- id: 8 + url: https://coderdojo.jp/podcasts/8 + title: '008 - [PR] 未来にコミットしたい (CASE Shinjuku)' + published_at: '2017-07-07T09:00:00+09:00' +- id: 7 + url: https://coderdojo.jp/podcasts/7 + title: 007 - Hack for Dojo(ハックフォー道場) + published_at: '2017-04-25T09:00:00+09:00' +- id: 6 + url: https://coderdojo.jp/podcasts/6 + title: 006 - [PR] 未踏ジュニアとコーダー道場 + published_at: '2017-04-24T09:00:00+09:00' +- id: 5 + url: https://coderdojo.jp/podcasts/5 + title: 005 - DecaDojo とは? + published_at: '2017-04-22T09:00:00+09:00' +- id: 4 + url: https://coderdojo.jp/podcasts/4 + title: 004 - DojoCon Japan のキッカケ + published_at: '2017-04-16T09:00:00+09:00' +- id: 3 + url: https://coderdojo.jp/podcasts/3 + title: 003 - 沖縄の CoderDojo の始まり + published_at: '2017-04-15T09:00:00+09:00' +- id: 2 + url: https://coderdojo.jp/podcasts/2 + title: 002 - 柏と CoderDojo と Scratch + published_at: '2017-04-13T09:00:00+09:00' +- id: 1 + url: https://coderdojo.jp/podcasts/1 + title: 001 - 日本の CoderDojo の成り立ち + published_at: '2017-03-25T09:00:00+09:00' diff --git a/lib/tasks/news.rake b/lib/tasks/news.rake index 4c2c7a4b..533b29ac 100644 --- a/lib/tasks/news.rake +++ b/lib/tasks/news.rake @@ -66,8 +66,18 @@ end def fetch_podcast_posts(rss_feed_url) feed = RSS::Parser.parse(rss_feed_url, false) feed.items.map do |item| + # タイトルの先頭3桁の数字から内部リンクを生成 + # 例: "033 - タイトル" → /podcasts/33 + # 例: "001 - タイトル" → /podcasts/1 + unless item.title =~ /^(\d{3})\s/ + raise "DojoCast episode number not found in title: #{item.title}" + end + + episode_number = $1.to_i # 033 → 33, 001 → 1 + internal_url = "https://coderdojo.jp/podcasts/#{episode_number}" + { - 'url' => item.link, + 'url' => internal_url, 'title' => item.title, 'published_at' => item.pubDate.in_time_zone('Asia/Tokyo').iso8601 } diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 182d901b..36d46822 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -2,14 +2,28 @@ RSpec.describe ApplicationHelper, type: :helper do describe '#format_news_title' do - it '先頭文字が絵文字ならそのまま、そうでなければ 📰 を付与する' do - { - '🔔 新着' => '🔔 新着', - '更新情報' => '📰 更新情報', - '1つ目のお知らせ' => '📰 1つ目のお知らせ' - }.each do |input, expected| - news = double('news', title: input) - expect(helper.format_news_title(news)).to eq expected + it '先頭文字が絵文字ならそのまま返す' do + news = double('news', title: '🔔 新着', url: 'https://news.coderdojo.jp/123') + expect(helper.format_news_title(news)).to eq '🔔 新着' + end + + context '先頭文字が絵文字でない場合' do + it 'ポッドキャストのURLには📻を付与する' do + news = double('news', title: 'DojoCast Episode 33', url: 'https://podcasters.spotify.com/pod/show/coderdojo-japan/episodes/033') + expect(helper.format_news_title(news)).to eq '📻 DojoCast Episode 33' + + news2 = double('news', title: 'エピソード33', url: 'https://coderdojo.jp/podcasts/33') + expect(helper.format_news_title(news2)).to eq '📻 エピソード33' + end + + it 'PR TIMESのURLには📢を付与する' do + news = double('news', title: 'プレスリリース', url: 'https://prtimes.jp/main/html/rd/p/000000001.000038935.html') + expect(helper.format_news_title(news)).to eq '📢 プレスリリース' + end + + it 'その他のURLには📰を付与する' do + news = double('news', title: '更新情報', url: 'https://news.coderdojo.jp/2025/12/06/dojoletter') + expect(helper.format_news_title(news)).to eq '📰 更新情報' end end end From ae2cb01cb82bee4b6cf6e293c8d0b2bbb60c8965 Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Thu, 18 Dec 2025 14:22:48 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=E2=9C=A8=20=E3=83=9D=E3=83=83=E3=83=89?= =?UTF-8?q?=E3=82=AD=E3=83=A3=E3=82=B9=E3=83=88URL=E3=82=92=E7=9B=B8?= =?UTF-8?q?=E5=AF=BE=E3=83=91=E3=82=B9=E3=81=A7=E8=A1=A8=E7=A4=BA=EF=BC=88?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=82=AB=E3=83=AB=E9=96=8B=E7=99=BA=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - news_link_url ヘルパーメソッドを追加 - https://coderdojo.jp/podcasts/* を /podcasts/* に変換 - ローカル開発環境でも内部ページが表示可能に - ホームページのニュース表示部分でヘルパーを使用 - format_news_title の絵文字判定を簡素化(Spotify URL削除) - テストケースも追加 --- app/helpers/application_helper.rb | 11 ++++++++++- app/views/home/show.html.erb | 2 +- spec/helpers/application_helper_spec.rb | 22 +++++++++++++++++----- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ad2ac255..47285052 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -218,7 +218,7 @@ def format_news_title(news) # Add preset Emoji to its prefix if news.title does not have Emoji. emoji = case news.url - when %r{coderdojo\.jp/podcasts}, %r{spotify\.com/pod/show/coderdojo-japan} + when %r{/podcasts/\d+} '📻' when %r{prtimes\.jp} '📢' @@ -227,4 +227,13 @@ def format_news_title(news) end "#{emoji} #{news.title}" end + + def news_link_url(news) + # Convert absolute podcast URLs to relative paths for local development + if news.url.match?(%r{^https://coderdojo\.jp/podcasts/\d+$}) + news.url.sub('https://coderdojo.jp', '') + else + news.url + end + end end diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb index be5e50f6..5b4626c1 100644 --- a/app/views/home/show.html.erb +++ b/app/views/home/show.html.erb @@ -194,7 +194,7 @@
    <% @news_items.each do |news| %>
  • - <%= link_to format_news_title(news), news.url, target: '_blank' %> + <%= link_to format_news_title(news), news_link_url(news), target: '_blank' %>
  • <% end %>
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 36d46822..9304ff07 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -9,11 +9,8 @@ context '先頭文字が絵文字でない場合' do it 'ポッドキャストのURLには📻を付与する' do - news = double('news', title: 'DojoCast Episode 33', url: 'https://podcasters.spotify.com/pod/show/coderdojo-japan/episodes/033') - expect(helper.format_news_title(news)).to eq '📻 DojoCast Episode 33' - - news2 = double('news', title: 'エピソード33', url: 'https://coderdojo.jp/podcasts/33') - expect(helper.format_news_title(news2)).to eq '📻 エピソード33' + news = double('news', title: 'エピソード33', url: 'https://coderdojo.jp/podcasts/33') + expect(helper.format_news_title(news)).to eq '📻 エピソード33' end it 'PR TIMESのURLには📢を付与する' do @@ -27,4 +24,19 @@ end end end + + describe '#news_link_url' do + it 'ポッドキャストの絶対URLを相対パスに変換する' do + news = double('news', url: 'https://coderdojo.jp/podcasts/33') + expect(helper.news_link_url(news)).to eq '/podcasts/33' + end + + it 'その他のURLはそのまま返す' do + news = double('news', url: 'https://news.coderdojo.jp/2025/12/06/dojoletter') + expect(helper.news_link_url(news)).to eq 'https://news.coderdojo.jp/2025/12/06/dojoletter' + + news2 = double('news', url: 'https://prtimes.jp/main/html/rd/p/000000001.000038935.html') + expect(helper.news_link_url(news2)).to eq 'https://prtimes.jp/main/html/rd/p/000000001.000038935.html' + end + end end