With this rust tool, I don’t see feeds now

Sep 22, 2023

I have been diving into the working of rust and I am loving how rust is just opposite of my primary language like typescript/javascript enums and structs just works like C++ or C. I am loving rust and will probably add more content on comparing rust with typescript.

The CLI tool is linked to the github repository below. Do give a visit and decide if it is worthy of a star or not.

GitHub - n1rjal/rss_rust_parser: A rss parser built on rust _A rss parser built on rust. Contribute to n1rjal/rss_rust_parser development by creating an account on GitHub._github.com

Note that this is my 1st project in rust which can be useful in my daily life and I think there is huge space of improvement and I am open to feedback.

The tool mentioned here can be a great tool or some sort of timewaste depending upon how you feel. I build it whilst I was learning rust.

It does 3 tasks:

Source Adding

It simply means that we are adding a source for a blog provider. A blog provider can be many things like a medium publication, medium user or any blog providers that support rss feed and obeys the structure declared in the source code.

To get source of your favorite blogger, technical writer please use any of these rules

Syncing

Syncing is simply the process of adding the latest blogs from all of the source. The command is simple. It loops through all the source and parses the latest blogs from every single one of the sources.

Searching

Searching is a process where you search for blogs based on the title based on LIKE query in sqlite and has and features like page number and limit.

In a modern terminal like warp, I can click the url here and read the blog over there.

Technology Used

  1. Rust: Programing language
  2. Serde: For seralizing and deserialzing
  3. Clap: For building command line args
  4. Tokio: For async await support
  5. serde_xml_rs: For parsing rss xml document

Want to use it ?

  1. Clone the github repository
  2. Install rust in your system
  3. project dependencies using cargo install
  4. Build the executable using cargo build command
  5. Add the executable in your $PATH

Future Plans:

  1. Support for more rss xml schemas
  2. Make it able to parse youtube channels, itunes, hackernoon general rss feed xml too.
  3. Add axum based rest api support
  4. Schedule syncing process every 5 hours
  5. Add support with local notifications in Mac, Windows and Linux
  6. Enable siri to work with it.

I like to write about technology and programming on LinkedIn. So, let’s get connected there. Here are my socials where you can follow me.

Related Posts

productivity

Stop Writing TypeScript Interfaces, Automate It

EDIT 1: After many requests from users of this tools, I have decided to remove I prefix from the name of the interface
Stop Writing TypeScript Interfaces, Automate It

You many also like

database

Postgres Just In Time Compiler and Worker Processes

Both Just In Time compiler or JIT and worker processes could be news to you. By the end of this article, you would be able to understand the picture I have provided.
Postgres Just In Time Compiler and Worker Processes
productivity

Stop Writing TypeScript Interfaces, Automate It

EDIT 1: After many requests from users of this tools, I have decided to remove I prefix from the name of the interface
Stop Writing TypeScript Interfaces, Automate It
productivity

Vim Selection Groups

In Neovim, the scope that regular expression select group is out of this world. Here is a screencast of me making a json object out of just text data.
Vim Selection Groups
productivity

My journey to VIM, from 😕 to 😄

Vim has been throne till my software development. Something that I always ignored and looked away from. Here I would love to reverse time a by few years and see how my programming journey went and vim has made the journey better making me a more productive software enginner overall.
My journey to VIM, from 😕 to 😄
About Me
Contact
server

Nirjal Paudel