fix RSS/Atom/JSONFeed validation errors
This commit is contained in:
parent
16d17f3222
commit
3f4455d43a
|
@ -876,7 +876,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "jsonfeed"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
dependencies = [
|
||||
"error-chain",
|
||||
"serde",
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
[package]
|
||||
authors = ["Paul Woolcock <paul@woolcock.us>"]
|
||||
authors = ["Paul Woolcock <paul@woolcock.us>", "Christine Dodrill <me@christine.website>"]
|
||||
description = "Parser for the JSONFeed (http://jsonfeed.org) specification\n"
|
||||
documentation = "https://docs.rs/jsonfeed"
|
||||
homepage = "https://github.com/pwoolcoc/jsonfeed"
|
||||
license = "MIT/Apache-2.0"
|
||||
name = "jsonfeed"
|
||||
readme = "README.adoc"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
|
||||
[dependencies]
|
||||
error-chain = "0.12"
|
||||
|
|
|
@ -151,6 +151,11 @@ impl ItemBuilder {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn author(mut self, who: Author) -> ItemBuilder {
|
||||
self.author = Some(who);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn content_html<I: Into<String>>(mut self, i: I) -> ItemBuilder {
|
||||
match self.content {
|
||||
Some(Content::Text(t)) => {
|
||||
|
|
|
@ -20,9 +20,16 @@ impl Into<jsonfeed::Item> for Post {
|
|||
let mut result = jsonfeed::Item::builder()
|
||||
.title(self.front_matter.title)
|
||||
.content_html(self.body_html)
|
||||
.content_text(self.body)
|
||||
.id(format!("https://christine.website/{}", self.link))
|
||||
.url(format!("https://christine.website/{}", self.link))
|
||||
.date_published(self.date.to_rfc3339());
|
||||
.date_published(self.date.to_rfc3339())
|
||||
.author(
|
||||
jsonfeed::Author::new()
|
||||
.name("Christine Dodrill")
|
||||
.url("https://christine.website")
|
||||
.avatar("https://christine.website/static/img/avatar.png"),
|
||||
);
|
||||
|
||||
let mut tags: Vec<String> = vec![];
|
||||
|
||||
|
@ -57,6 +64,16 @@ impl Into<atom::Entry> for Post {
|
|||
let content = content.build().unwrap();
|
||||
|
||||
let mut result = atom::EntryBuilder::default();
|
||||
result.id(format!("https://christine.website/{}", self.link));
|
||||
result.contributors({
|
||||
let mut me = atom::Person::default();
|
||||
|
||||
me.set_name("Christine Dodrill");
|
||||
me.set_email("me@christine.website".to_string());
|
||||
me.set_uri("https://christine.website".to_string());
|
||||
|
||||
vec![me]
|
||||
});
|
||||
result.title(self.front_matter.title);
|
||||
let mut link = atom::Link::default();
|
||||
link.href = format!("https://christine.website/{}", self.link);
|
||||
|
@ -76,7 +93,7 @@ impl Into<rss::Item> for Post {
|
|||
result.title(Some(self.front_matter.title));
|
||||
result.link(format!("https://christine.website/{}", self.link));
|
||||
result.guid(guid);
|
||||
result.author(Some("Christine Dodrill <me@christine.website>".to_string()));
|
||||
result.author(Some("me@christine.website (Christine Dodrill)".to_string()));
|
||||
result.content(self.body_html);
|
||||
result.pub_date(self.date.to_rfc2822());
|
||||
|
||||
|
|
Loading…
Reference in New Issue