Giter Club home page Giter Club logo

notion-rss's Introduction

notion-rss

Get RSS feeds in notion.so daily

Overview

notion-rss lets you manage and retrieve all your RSS feeds in Notion.so.

One can add rss feeds, and every day, a cron Github Action will trawl your RSS feeds for new content. rss-feeds

Then you can find them all in Notion.so rss-items

Usage

  1. Fork the repo (it sets up Github Actions, etc)
  2. Create two databases in Notion with the properties defined below.
  3. Create a notion connection and get an API token.
  4. Add Github action secrets defined below
  5. Populate your Feeds Database in Notion
  6. Wait until tomorrow for new RSS content (or manually run the Github action .github/workflow/cron.yml)

Database Interface

This project uses two notion databases: to store RSS links (to subscribe to), to store the RSS content.

Feeds Database

Property Name Property Type
Title title
Link url
Enabled checkbox

Content Database

Property Name Property Type
Title title
Link Url
Description Text
Enabled Checkbox
From Select
Categories MultiSelect
Published Date
Starred Checkbox
Created Date

Github Action Secrets

Github Secrets needed in the repository for the workflow actions to work:

  • NOTION_API_TOKEN: notion.so api token for a specific integration. Integration must have access to NOTION_RSS_CONTENT_DATABASE_ID and NOTION_RSS_FEEDS_DATABASE_ID.
  • NOTION_RSS_CONTENT_DATABASE_ID: notion.so database id that stores RSS content (see Database Interface / Content Database).
  • NOTION_RSS_FEEDS_DATABASE_ID: notion.so database id that stores RSS feed details (see Database Interface / Feeds Database).

Nice to haves

  1. Use rss.Item.Content into notion blocks so the content can be viewed in Notion.
  2. Convert combined RSS feeds into single feed: https://github.com/gorilla/feeds

Improve Code Quality

  1. Use release binary in .github/workflows/release.yml.
  2. Write unit tests
  3. Write integration tests
  4. Finish Github action to run unit and integration tests.
  5. Add in Precommit
  6. Add in badging on README.
  7. Replicate Github actions with local scripts

notion-rss's People

Contributors

jacksongoode avatar jeadie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

notion-rss's Issues

Request <3

Hello, and what a wonderful little thing you have made! :)
Could you add a section for Description? I believe RSS offers this in the feeds.

Cheers!

Working perfectly, manually, but I don't have a cron.yml ?

This worked great for me, many thanks for the excellent work.

The only part I don't understand or have missed is having the feeds updated each day (via cron). The setup instructions reference .github/workflow/cron.yml but the only file I have in my forked repo at .github/workflow/ is main.yml

Currently, the way I invoke notion-rss is to visit my fork of the repo > Actions > Get Feed > [Run Workflow]

Thanks again.

Error encountered when running cron job

When fetch resources from the a RSS source, I got en error and it reads "body.properties.Description.rich_text[0].text.content.length should be โ‰ค 2000, instead was 7963".

Why this error occured?

Is there a place to config the content.length to be a larger number?

The RSS source is https://celery.school/rss.xml

Many thanks to your help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.