Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Notion RSS Reader

watsuyo_2
February 17, 2022

Notion RSS Reader

Agenda

- Why did I select Notion to develop "Notion RSS Reader"?
- "esbuild" is 40 times faster than "webpack".
- Use GitHub Actions as a crawler to get articles.
- How to release OSS, "Notion RSS Reader"

watsuyo_2

February 17, 2022
Tweet

More Decks by watsuyo_2

Other Decks in Programming

Transcript

  1. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Notion RSS Reader 1

    with TypeScript + esbuild + GitHub Actions + Notion as OSS 2022/02/17 English Tech LT Jam Tsuyoshi Hirosawa(@watsuyo) from iCARE Co., Ltd.
  2. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Agenda 1. Why did

    I select Notion to develop "Notion RSS Reader"? 2. "esbuild" is 40 times faster than "webpack". 3. Use GitHub Actions as a crawler to get articles. 4. How to release OSS, "Notion RSS Reader" 3
  3. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Introduce Twitter: @watsuyo_2 GitHub:

    @watsuyo Home: watsuyo.dev Front-end Developer @iCARE Co., Ltd. Advanced Institute of Industrial Technology (産業技術大学院大学) 2021年4月~ 4
  4. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 What is "Notion RSS

    Reader"? • Current features ◦ "Notion RSS Reader" allows you to check updates of your favorite sites to Notion. ◦ You can freely decide the interval to get articles (default is once every an hour). • Roadmap ◦ Feedly and Pocket integration. ◦ etc… 7
  5. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Why did I select

    Notion to develop "Notion RSS Reader"? • No need to make UI. • I could implement an idea at a low cost • I could try it right away. 10
  6. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Getting RSS articles •

    What is RSS? ◦ "A web feed that allows users and applications to access updates to websites in a standardized, computer-readable format."[1] • Using "rss-parser" with TypeScript ◦ "rss-parser" : https://github.com/rbren/rss-parser ◦ For details👇 14
  7. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Why is "esbuild" so

    fast? • "It's written in Go and compiles to native code." • "Parallelism is used heavily." • "Memory is used efficiently." Reference: https://esbuild.github.io/faq/#why-is-esbuild-fast[2] 18
  8. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Use GitHub Actions as

    a "crawler" to get articles. • GitHub Actions ◦ "Easy to automate all your software workflows, now with world-class CI/CD". ◦ "Kick off workflows with GitHub events like push, issue creation, or a new release". ◦ "Public branch use is free, private branch use based on quantity". Reference: https://github.com/features/actions 20
  9. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Use GitHub Actions as

    a "crawler" to get articles. • You need to set environment variables that can be used within GitHub Actions. ◦ Send a GET request with Curl. ◦ Set script to be run once an hour. 21
  10. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 "Notion RSS Reader" to

    the public as OSS. • Specify license information. ◦ "The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties." [3] • Describe how to use and contribute to the tool a README. ◦ Communicate the use of the tool to users who visit the repository. ◦ In the case of OSS, you will be developing together with other contributors. ◦ For this reason, it is important to describe how to create the development environment. 23
  11. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Specify license information. •

    Just sign the template on GitHub. • This time, select MIT license. ◦ Allows free use, reproduction, and redistribution. ◦ "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software"[4] ◦ Unless intentionally removed, the author's name and license file will remain in the source, so there is no need to do anything special. 24
  12. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 Agenda 1. Why with

    Notion? 2. When I switched to "esbuild", the build speed has been 40 times faster than "webpack5". 3. Use GitHub Actions as a "crawler" to get articles. 4. How to release "Notion RSS Reader" as OSS 25
  13. Notion RSS Reader🎁: https://github.com/watsuyo/notion-rss-reader Twitter: @watsuyo_2 References. [1] "RSS -

    Wikipedia", https://en.wikipedia.org/wiki/RSS Feb, 17, 2022 [2] "Why is esbuild fast?", https://esbuild.github.io/faq/#why-is-esbuild-fast Feb, 17, 2022 [3] "The Open Source Definition", Debian Free Software Guidelines (DFSG), 22, 2007, https://opensource.org/docs/osd Feb, 17, 2022 [4] "The MIT License", MIT, 22, 2007, https://opensource.org/licenses/MIT Feb, 17, 2022 27