diff --git a/app/libs/posts/rss-parser.mjs b/app/libs/posts/rss-parser.mjs index 3838145..c708feb 100644 --- a/app/libs/posts/rss-parser.mjs +++ b/app/libs/posts/rss-parser.mjs @@ -4,12 +4,13 @@ const parser = new Parser(); (async () => { let jsonFeed = {}; - const [feed1, feed2, feed3] = await Promise.all([ + const [feed1, feed2, feed3, caRss] = await Promise.all([ parser.parseURL("https://zenn.dev/yuto76/feed"), parser.parseURL( "https://www.youtube.com/feeds/videos.xml?channel_id=UCu6ckjaLjqCKY-c01fEqUqw", ), parser.parseURL("https://speakerdeck.com/yossydev.rss"), + parser.parseURL("https://speakerdeck.com/cyberagentdevelopers.rss"), ]); const items = feed1.items.map((data) => { return data; @@ -26,6 +27,21 @@ const parser = new Parser(); const items3 = feed3.items.map((data) => { return data; }); - jsonFeed = items3; + const items4 = caRss.items + .map((data) => { + return data; + }) + .filter((data) => { + return ( + data.link === + "https://speakerdeck.com/cyberagentdevelopers/fantech-web-biome" + ); + }); + + jsonFeed = [...items3, ...items4].sort((a, b) => { + const dateA = new Date(a.isoDate).getTime(); + const dateB = new Date(b.isoDate).getTime(); + return dateB - dateA; + }); writeFileSync("app/libs/rss/speakerdeck.json", JSON.stringify(jsonFeed)); })(); diff --git a/app/libs/rss/speakerdeck.json b/app/libs/rss/speakerdeck.json index 6c3c578..30b00ed 100644 --- a/app/libs/rss/speakerdeck.json +++ b/app/libs/rss/speakerdeck.json @@ -1,4 +1,15 @@ [ + { + "title": "成長中のFanTech領域におけるBiomeを活用したCIの高速化 / fantech-web-biome", + "link": "https://speakerdeck.com/cyberagentdevelopers/fantech-web-biome", + "pubDate": "Wed, 30 Oct 2024 00:00:00 -0400", + "content:encoded": "本セッションでは、メディア事業部のFantech事業部の一つである、CLプロダクトにおいて、Rust製のツールチェインであるBiomeを活用したCIの実行時間の高速化について話します。Biomeとは何かという基本的なことを話した後、Biomeを導入した背景、Biomeの現状の課題を踏まえてどのように導入/PrettierとESLintからの移行を進めたか、そして最後に、Biomeの今後を考えたCLでの対応方法について話します。\r\n\r\nhttps://cadc.cyberagent.co.jp/2024/sessions/fantech-web-biome/", + "content:encodedSnippet": "本セッションでは、メディア事業部のFantech事業部の一つである、CLプロダクトにおいて、Rust製のツールチェインであるBiomeを活用したCIの実行時間の高速化について話します。Biomeとは何かという基本的なことを話した後、Biomeを導入した背景、Biomeの現状の課題を踏まえてどのように導入/PrettierとESLintからの移行を進めたか、そして最後に、Biomeの今後を考えたCLでの対応方法について話します。\r\n\r\nhttps://cadc.cyberagent.co.jp/2024/sessions/fantech-web-biome/", + "content": "本セッションでは、メディア事業部のFantech事業部の一つである、CLプロダクトにおいて、Rust製のツールチェインであるBiomeを活用したCIの実行時間の高速化について話します。Biomeとは何かという基本的なことを話した後、Biomeを導入した背景、Biomeの現状の課題を踏まえてどのように導入/PrettierとESLintからの移行を進めたか、そして最後に、Biomeの今後を考えたCLでの対応方法について話します。\r\n\r\nhttps://cadc.cyberagent.co.jp/2024/sessions/fantech-web-biome/", + "contentSnippet": "本セッションでは、メディア事業部のFantech事業部の一つである、CLプロダクトにおいて、Rust製のツールチェインであるBiomeを活用したCIの実行時間の高速化について話します。Biomeとは何かという基本的なことを話した後、Biomeを導入した背景、Biomeの現状の課題を踏まえてどのように導入/PrettierとESLintからの移行を進めたか、そして最後に、Biomeの今後を考えたCLでの対応方法について話します。\r\n\r\nhttps://cadc.cyberagent.co.jp/2024/sessions/fantech-web-biome/", + "guid": "https://speakerdeck.com/cyberagentdevelopers/fantech-web-biome", + "isoDate": "2024-10-30T04:00:00.000Z" + }, { "title": "Introduction to React Compiler", "link": "https://speakerdeck.com/yossydev/introduction-to-react-compiler", @@ -19,17 +30,6 @@ "guid": "https://speakerdeck.com/yossydev/fast-jsx-dont-clone-props-object-number-28768", "isoDate": "2024-04-24T04:00:00.000Z" }, - { - "title": "2023 Spindle Review", - "link": "https://speakerdeck.com/yossydev/2023-spindle-review", - "pubDate": "Fri, 12 Jan 2024 00:00:00 -0500", - "content:encoded": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", - "content:encodedSnippet": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", - "content": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", - "contentSnippet": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", - "guid": "https://speakerdeck.com/yossydev/2023-spindle-review", - "isoDate": "2024-01-12T05:00:00.000Z" - }, { "title": "Core Web Vitalsについて", "link": "https://speakerdeck.com/yossydev/core-web-vitalsnituite",