2020 # React Native関連
2121 "React Native Blog" : "https://reactnative.dev/blog/rss.xml" ,
2222 "React Native Community" : "https://medium.com/feed/react-native-community" ,
23+ "Expo Blog" : "https://expo.dev/blog.rss" ,
24+ "Callstack Blog" : "https://www.callstack.com/blog/rss.xml" ,
25+ "Infinite Red" : "https://infinite.red/feed.xml" ,
26+ "Aman Mittal" : "https://amanhimself.dev/rss.xml" ,
2327 "Reddit React Native" : "https://www.reddit.com/r/reactnative/.rss" ,
2428 "Qiita (React Native)" : "https://qiita.com/tags/react-native/feed" ,
2529 "React Native YouTube" : "https://www.youtube.com/feeds/videos.xml?channel_id=UCMYS7PYW8T9lHVtNXbLvR3w" ,
4953 "dev.to" : "https://dev.to/feed" ,
5054 "Hacker News" : "https://hnrss.org/frontpage" ,
5155 "Google Developers" : "https://developers.googleblog.com/feeds/posts/default" ,
56+ "Connpass Events" : "https://connpass.com/explore/ja.atom" ,
57+
58+ # AI・機械学習
5259 "OpenAI Blog" : "https://openai.com/blog/rss.xml" ,
60+ "Anthropic News" : "https://www.anthropic.com/news/rss" ,
61+ "GitHub Blog" : "https://github.blog/feed.xml" ,
5362 "Reddit Artificial" : "https://www.reddit.com/r/artificial/.rss" ,
54- "Connpass Events " : "https://connpass. com/explore/ja.atom " ,
63+ "Reddit Machine Learning " : "https://www.reddit. com/r/MachineLearning/.rss " ,
5564}
5665# --- ここまで ---
5766
@@ -117,6 +126,7 @@ def fetch_recent_articles():
117126 articles_text += check_flutter_changelog ()
118127
119128 for name , url in RSS_FEEDS .items ():
129+ print (f"Processing { name } ..." )
120130 feed = feedparser .parse (url )
121131 for entry in feed .entries :
122132 # 記事の公開日をdatetimeオブジェクトに変換
@@ -127,14 +137,17 @@ def fetch_recent_articles():
127137 elif hasattr (entry , 'updated_parsed' ) and entry .updated_parsed :
128138 published_date = datetime .datetime (* entry .updated_parsed [:6 ])
129139 else :
130- # 日付が取得できない場合は現在の日付を使用(最新として扱う)
131- published_date = datetime .datetime .now ()
132- except Exception :
133- # 日付の変換に失敗した場合は現在の日付を使用
134- published_date = datetime .datetime .now ()
140+ # 日付が取得できない場合はスキップ(古い記事の可能性が高い)
141+ print (f"Warning: No date found for article '{ entry .title } ' from { name } , skipping" )
142+ continue
143+ except Exception as e :
144+ # 日付の変換に失敗した場合はスキップ
145+ print (f"Warning: Date parsing failed for article '{ entry .title } ' from { name } : { e } , skipping" )
146+ continue
135147
136148 # 公開日が指定された日付よりも新しいかチェック
137149 if published_date >= since_date :
150+ print (f"Including article: '{ entry .title } ' from { name } (published: { published_date .strftime ('%Y-%m-%d' )} )" )
138151 # Connpassイベントの場合はモバイル開発関連のみフィルタリング
139152 if name == "Connpass Events" :
140153 mobile_keywords = ["flutter" , "react native" , "swift" , "ios" , "android" , "kotlin" , "mobile" , "モバイル" ]
@@ -212,6 +225,7 @@ def generate_article_with_ai(articles, slack_links=""):
212225 - **チーム開発**: コードレビュー、設計パターン、プロジェクト管理、チームワーク
213226 - **キャリア**: 技術選択、学習方法、業界動向、エンジニアとしての成長
214227 - 新機能や重要なアップデート情報を優先
228+ - **AI関連の重要リリース**: OpenAI、Anthropic(Claude)、Google(Gemini)などの主要AI企業の新モデルリリースやAPI更新は必須で含める
215229 - ベストプラクティスやアーキテクチャに関する記事を重視
216230 - 個人的な体験談や基本的なチュートリアルは避ける
217231 - **Flutter大学Slackコミュニティセクション**: Slackで話題になった記事がある場合、「## Flutter大学で話題になっていた記事」セクションを追加し、各記事について2-3文で簡潔に説明する
@@ -245,12 +259,17 @@ def generate_article_with_ai(articles, slack_links=""):
245259## Frontmatter設定
246260以下の指示に従ってfrontmatterを生成する:
247261
248- **title**: 必ず「【週刊ニュース】」で始まり、今週の最も重要な2-3つのトピックを具体的に列挙し、「ほか」で終わるタイトルを作成する:
249- - "【週刊ニュース】Flutter 3.32.8、Firebase AI機能、React Native SwiftUI統合ほか"
250- - "【週刊ニュース】Swift 6.2 Actor最適化、Kotlin オフラインAR、Jetpack Composeナビゲーションほか"
251- - "【週刊ニュース】watchOS 64bit要件、Gemini 2.5 Flash安定版、TanStack Query最適化ほか"
262+ **title**: 必ず「【週刊ニュース】」で始まり、今週の記事リストに実際に含まれている最も重要な2-3つのトピックを正確に列挙し、「ほか」で終わるタイトルを作成する。
252263
253- 具体的なバージョン番号、機能名、技術名を使用し、読者が一目で今週の主要トピックを把握できるようにする。
264+ 重要:
265+ - 実際の記事リストに含まれていない情報(架空のバージョン番号や機能名)は絶対に使用しない
266+ - 提供されたニュースリストの内容のみから具体的なトピックを抽出する
267+ - 実際の記事タイトルや内容から主要なキーワードを正確に抜き出す
268+
269+ 例:
270+ - 実際にFlutterのCHANGELOG更新があれば「【週刊ニュース】Flutter CHANGELOG更新、Material/Cupertino分離議論、React Native Hapticsライブラリほか」
271+ - Gemini関連の記事があれば「【週刊ニュース】Gemini 2.5 Flash-Lite安定版、React Native WiFi Vault、SwiftUI PencilKit統合ほか」
272+ - 記事リストの内容に基づいて正確にタイトルを生成する
254273
255274**description**: 長い要約文ではなく、SNSでシェアしたくなるような短くてキャッチーな一文を作成する。以下を参考に:
256275- "今週注目の技術革新をピックアップ"
0 commit comments