katharsis Arghena
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
Installation
> [!NOTE] > You can download the prebuilt binary artifacts from the Releases page.
Package Managers
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
Command | Description |
---|---|
init | Generates a katharsis.config.toml file in the current directory |
help | Displays help information |
Options
Option | Description |
---|---|
-c | Specifies a katharsis.config.toml file as the config |
-h | Displays help information |
-V | Displays 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.
Property | Description |
---|---|
rss.title | The title of the website |
rss.description | A description of the website |
rss.site_url | The main URL of the website |
rss.image | Path to the channel's logo |
rss.copyright | Copyright information |
rss.language | Preferred language |
rss.output | Path 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
).
Property | Description |
---|---|
article.title | The tag containing the article's title |
article.description | The tag or attribute containing the article's description |
article.input | The HTML files that needs to be parsed |
article.author | Information about the article's author |
article.prefix | The relative prefix for the article's URL |
article.content | The tag or attribute containing the article's content |
article.date | The tag containing the article's publication date |
article.image | The image files to be used as the article cover |
article.sort | Whether 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
Katharsis | MSRV1 | Codename | Released at | End of Life |
---|---|---|---|---|
v1.0.0 | 1.85.0 | Rabbit | - | - |
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
-
Minimum Supported Rust Version ↩