katharsis logo

katharsis Arghena

Use this command to install katharsis:
winget install --id=arghena.katharsis -e

CLI tool for generating RSS feeds.

Katharsis is a command-line tool designed to generate RSS feeds efficiently. It allows users to create and customize RSS feeds by parsing HTML files and extracting article metadata. The tool supports flexible configuration through a TOML file, enabling users to specify feed properties such as title, description, site URL, and output path. Additionally, it provides options for sorting articles by publication date and handling images associated with each article.

Key Features:

  • Flexible Configuration: Define RSS feed properties using a simple TOML configuration file.
  • HTML Parsing: Extract article metadata from HTML files to populate the RSS feed.
  • Image Handling: Specify image paths relative to the site URL for consistent RSS feed visuals.
  • Sorting Capabilities: Sort articles by publication date to maintain chronological order in the feed.

Audience & Benefit: Ideal for developers and content creators looking to streamline their RSS feed creation process. Katharsis automates the generation of RSS feeds, saving time and effort compared to manual methods.

Katharsis can be installed via winget using the command winget install arghena.katharsis.

README

Katharsis

demo

Installation

> [!NOTE] > You can download the prebuilt binary artifacts from the Releases page.

Package Managers

Packaging status

WinGet

winget install arghena.katharsis

Cargo

  • B(inary)Install:

    cargo binstall katharsis@1.0.0-canary.29
    
  • Crates.io:

    cargo install --locked katharsis@1.0.0-canary.29
    
  • Git:

    git clone https://github.com/arghena/katharsis.git --branch v1.0.0-canary.29 --depth 1
    cd katharsis && cargo install --locked --path .
    

    Paru

paru -S katharsis

Apt

curl -fsSLO https://github.com/arghena/katharsis/releases/download/v1.0.0-canary.29/katharsis_1.0.0-canary.29_amd64.deb
sudo apt install katharsis_1.0.0-canary.29_amd64.deb

Manual

curl -fsSL https://github.com/arghena/katharsis/releases/download/v1.0.0-canary.29/katharsis-v1.0.0-canary.29-x86_64-unknown-linux-gnu.tar.gz | tar -xz
mv katharsis-v1.0.0-canary.29-x86_64-unknown-linux-gnu/katharsis /usr/local/bin

Get Started

> [!NOTE] > You can refer to our examples.

Run the following command to generate a katharsis.config.toml file in the current directory:

katharsis init

Run the following command to create a default rss.xml:

katharsis

Usage

Commands

CommandDescription
initGenerates a katharsis.config.toml file in the current directory
helpDisplays help information

Options

OptionDescription
-cSpecifies a katharsis.config.toml file as the config
-hDisplays help information
-VDisplays the current version of Katharsis

> [!NOTE] > If you do not specify the -c option, the katharsis.config.toml file in the current directory will be used by default.

Properties

You can refer to the RSS 2.0 at Harvard Law for more detailed documentation.

PropertyDescription
rss.titleThe title of the website
rss.descriptionA description of the website
rss.site_urlThe main URL of the website
rss.imagePath to the channel's logo
rss.copyrightCopyright information
rss.languagePreferred language
rss.outputPath to the local output RSS file

> [!NOTE] > > - The rss.site_url property should not include a trailing slash (for example, https://example.com rather than https://example.com/). > - The rss.image property is relative to the rss.site_url (for example, favicon.png corresponds to https://example.com/favicon.png). > - The rss.output property specifies the path relative to the working directory (for example, rss.xml corresponds to ./rss.xml).

PropertyDescription
article.titleThe tag containing the article's title
article.descriptionThe tag or attribute containing the article's description
article.inputThe HTML files that needs to be parsed
article.authorInformation about the article's author
article.prefixThe relative prefix for the article's URL
article.contentThe tag or attribute containing the article's content
article.dateThe tag containing the article's publication date
article.imageThe image files to be used as the article cover
article.sortWhether to sort articles by their publication date

> [!NOTE] > > - The article.input property corresponds to the file stem (*), which is the same as the article's URL slug. > - The article.date property's tag must include a datetime attribute, and the attribute value must follow the %Y-%m-%d format. > - The article.image property's folder name (**) must match the article's URL slug.

API Docs

Please refer to our API Docs.

Contributing

Please refer to our CONTRIBUTING.md.

Security

> [!NOTE] > If you believe you have found a security vulnerability in Katharsis, we encourage you to responsibly disclose this and NOT open a public issue.

Please refer to our SECURITY.md.

Releases

The version naming of Katharsis follows Semantic Versioning 2.0.0.

Long-term Support

> [!NOTE] > When Katharsis releases a new major version, the previous stable version will be designated as an LTS version.

The LTS version of Katharsis provides security updates and bug fixes for six months.

Release Table

KatharsisMSRV1CodenameReleased atEnd of Life
v1.0.01.85.0Rabbit--

License

Katharsis is distributed under the MIT license and provides information about the code of other open-source projects used in the project in the NOTICE file.

Footnotes

  1. Minimum Supported Rust Version

Versions
1.0.0-canary.29
1.0.0-canary.28
1.0.0-canary.27
Website
License