glrss_parser/rss
Look at https://www.rssboard.org/rss-specification or https://www.w3schools.com/xml/xml_rss.asp for more information.
The tags and attributes should mostly match the names here.
Types
pub type Category {
Category(
domain: option.Option(String),
categories: List(String),
)
}
Constructors
-
Category(domain: option.Option(String), categories: List(String))
pub type Channel {
Channel(
title: String,
link: String,
description: String,
language: option.Option(String),
copyright: option.Option(String),
managing_editor: option.Option(String),
web_master: option.Option(String),
pub_date: option.Option(date.RssDate),
last_build_date: option.Option(date.RssDate),
category: option.Option(Category),
generator: option.Option(String),
docs: option.Option(String),
cloud: option.Option(Cloud),
ttl: option.Option(Int),
image: option.Option(Image),
rating: option.Option(String),
text_input: option.Option(TextInput),
skip_hours: List(Int),
skip_days: List(date.DayOfWeek),
item: List(Item),
)
}
Constructors
-
Channel( title: String, link: String, description: String, language: option.Option(String), copyright: option.Option(String), managing_editor: option.Option(String), web_master: option.Option(String), pub_date: option.Option(date.RssDate), last_build_date: option.Option(date.RssDate), category: option.Option(Category), generator: option.Option(String), docs: option.Option(String), cloud: option.Option(Cloud), ttl: option.Option(Int), image: option.Option(Image), rating: option.Option(String), text_input: option.Option(TextInput), skip_hours: List(Int), skip_days: List(date.DayOfWeek), item: List(Item), )
pub type Cloud {
Cloud(
domain: String,
port: Int,
path: String,
register_procedure: String,
protocol: String,
)
}
Constructors
-
Cloud( domain: String, port: Int, path: String, register_procedure: String, protocol: String, )
pub type Enclosure {
Enclosure(url: String, length: Int, type_: String)
}
Constructors
-
Enclosure(url: String, length: Int, type_: String)
pub type Image {
Image(
url: String,
title: String,
link: String,
width: option.Option(Int),
height: option.Option(Int),
description: option.Option(String),
)
}
Constructors
-
Image( url: String, title: String, link: String, width: option.Option(Int), height: option.Option(Int), description: option.Option(String), )
pub type Item {
Item(
title: option.Option(String),
link: option.Option(String),
description: option.Option(String),
author: option.Option(String),
category: option.Option(Category),
comments: option.Option(String),
enclosure: option.Option(Enclosure),
guid: option.Option(String),
pub_date: option.Option(date.RssDate),
source: option.Option(Source),
)
}
Constructors
-
Item( title: option.Option(String), link: option.Option(String), description: option.Option(String), author: option.Option(String), category: option.Option(Category), comments: option.Option(String), enclosure: option.Option(Enclosure), guid: option.Option(String), pub_date: option.Option(date.RssDate), source: option.Option(Source), )
pub type ParseError {
UnexpectedSignal(xmlm.Signal)
UnexpectedAttribute(List(xmlm.Attribute))
UnexpectedData(String)
XmlmError(xmlm.InputError)
PartyError(party.ParseError(Nil))
NilError
}
Constructors
-
UnexpectedSignal(xmlm.Signal) -
UnexpectedAttribute(List(xmlm.Attribute)) -
UnexpectedData(String) -
XmlmError(xmlm.InputError) -
PartyError(party.ParseError(Nil)) -
NilError
pub type Source {
Source(url: String, name: option.Option(String))
}
Constructors
-
Source(url: String, name: option.Option(String))
Values
pub fn parse(
rss_xml: String,
skip_unknown_tags skip: Bool,
) -> Result(Rss, ParseError)
pub fn parse_bits(
rss_xml: BitArray,
skip_unknown_tags skip: Bool,
) -> Result(Rss, ParseError)