site/lib/jsonfeed
Cadey Ratio d2455aa1c1
Cache better (#296)
* Many improvements around bandwidth use

- Use ETags for RSS/Atom feeds
- Use cache-control headers
- Update to rust nightly (for rust-analyzer and faster builds)
- Limit feeds to the last 20 posts:
  https://twitter.com/theprincessxena/status/1349891678857998339
- Use if-none-match to limit bandwidth further

Also does this:

- bump go_vanity to 0.3.0 and lets users customize the branch name
- fix formatting on jsonfeed
- remove last vestige of kubernetes/docker support

Signed-off-by: Christine Dodrill <me@christine.website>

* expire cache quicker for dynamic pages

Signed-off-by: Christine Dodrill <me@christine.website>

* add rss ttl

Signed-off-by: Christine Dodrill <me@christine.website>

* add blogpost

Signed-off-by: Christine Dodrill <me@christine.website>
2021-01-14 22:36:34 -05:00
..
src Cache better (#296) 2021-01-14 22:36:34 -05:00
.gitignore Rewrite site backend in Rust (#178) 2020-07-16 15:32:30 -04:00
Cargo.toml Rewrite site backend in Rust (#178) 2020-07-16 15:32:30 -04:00
LICENSE-APACHE Rewrite site backend in Rust (#178) 2020-07-16 15:32:30 -04:00
LICENSE-MIT Rewrite site backend in Rust (#178) 2020-07-16 15:32:30 -04:00
README.adoc Rewrite site backend in Rust (#178) 2020-07-16 15:32:30 -04:00

README.adoc

= JSON Feed Parser

[link=https://github.com/pwoolcoc/jsonfeed]
image::https://img.shields.io/crates/v/jsonfeed.svg[JSON Feed crate version]

This is a http://jsonfeed.org[JSON Feed] parser in Rust. Just a thin layer on top of `serde`, but it
provides serialization & deserialization, along with a Builder API for constructing feeds.

Note that this is alpha, I still need to add a lot of tests and a couple more features.

== Example

----
extern crate jsonfeed;
extern crate reqwest;

fn main() {
	let resp = reqwest::get("https://example.com/feed.json").unwrap();
	let feed = jsonfeed::from_reader(resp).unwrap();
	println!("Feed title is: {}", feed.title);
}
----

TODO:

* Tests. Lots and lots of tests
* Implement ability to add, serialize, and deserialize custom attributes from the json feed spec