starfeeds/feed

Types

pub type Author {
  Author(
    name: option.Option(String),
    email: option.Option(String),
    url: option.Option(String),
    avatar: option.Option(String),
  )
}

Constructors

pub type Category {
  Category(
    name: option.Option(String),
    domain: option.Option(String),
    scheme: option.Option(String),
    term: option.Option(String),
  )
}

Constructors

pub type Enclosure {
  Enclosure(
    url: String,
    enc_type: option.Option(String),
    length: option.Option(Int),
    title: option.Option(String),
    duration: option.Option(Int),
  )
}

Constructors

pub type Extension {
  Extension(name: String, objects: ExtensionObjects)
}

Constructors

pub type ExtensionObjects {
  Photos(List(Photo))
  Videos(List(Video))
  UnknownObjects(dynamic.Dynamic)
}

Constructors

pub type Feed {
  Feed(
    options: FeedOptions,
    items: List(Item),
    categories: List(String),
    contributors: List(Author),
    extensions: List(Extension),
  )
}

Constructors

pub type FeedOptions {
  FeedOptions(
    id: String,
    title: String,
    updated: option.Option(birl.Time),
    generator: option.Option(String),
    language: option.Option(String),
    ttl: option.Option(Int),
    feed: option.Option(String),
    feed_links: option.Option(Link),
    hub: option.Option(String),
    docs: option.Option(String),
    podcast: option.Option(Bool),
    category: option.Option(String),
    author: option.Option(Author),
    url: option.Option(String),
    description: option.Option(String),
    image: option.Option(String),
    favicon: option.Option(String),
    copyright: option.Option(String),
  )
}

Constructors

pub type Item {
  Item(
    title: String,
    id: option.Option(String),
    url: String,
    date: birl.Time,
    description: option.Option(String),
    content: option.Option(String),
    category: option.Option(List(Category)),
    guid: option.Option(#(String, option.Option(Bool))),
    image: option.Option(String),
    audio: option.Option(String),
    video: option.Option(String),
    enclosure: option.Option(Enclosure),
    author: option.Option(List(Author)),
    contributor: option.Option(List(Author)),
    published: option.Option(birl.Time),
    copyright: option.Option(String),
    extensions: List(option.Option(Extension)),
  )
}

Constructors

pub type JsonFeed {
  JsonFeed(
    version: String,
    title: String,
    home_page_url: option.Option(String),
    feed_url: option.Option(String),
    description: option.Option(String),
    user_comment: option.Option(String),
    next_url: option.Option(String),
    icon: option.Option(String),
    favicon: option.Option(String),
    authors: List(Author),
    language: option.Option(String),
    expired: option.Option(Bool),
    items: List(JsonItem),
    extensions: dict.Dict(String, ExtensionObjects),
  )
}

Constructors

pub type JsonItem {
  JsonItem(
    title: String,
    id: option.Option(String),
    url: String,
    date: birl.Time,
    summary: option.Option(String),
    content_html: option.Option(String),
    category: option.Option(String),
    image: option.Option(String),
    enclosure: option.Option(Enclosure),
    author: option.Option(Author),
    tags: List(String),
    date_published: String,
    date_modified: String,
    copyright: option.Option(String),
    extensions: List(dict.Dict(String, ExtensionObjects)),
  )
}

Constructors

pub type Link {
  Link(
    href: String,
    rel: String,
    link_type: String,
    length: String,
  )
}

Constructors

  • Link(
      href: String,
      rel: String,
      link_type: String,
      length: String,
    )
pub type Photo {
  Photo(id: Int, url: String, caption: String)
}

Constructors

  • Photo(id: Int, url: String, caption: String)
pub type Video {
  Video(id: Int, title: String, duration_seconds: Int)
}

Constructors

  • Video(id: Int, title: String, duration_seconds: Int)

Values

pub fn add_category(feed: Feed, category: String) -> List(String)
pub fn add_contributor(
  feed: Feed,
  contributor: Author,
) -> List(Author)
pub fn add_extension(
  feed: Feed,
  extenstion: Extension,
) -> List(Extension)
pub fn add_item(feed: Feed, item: Item) -> List(Item)
pub fn author() -> Author
pub fn author_to_json(author: Author) -> json.Json
pub fn enclosure() -> Enclosure
pub fn enclosure_to_json(enclosure: Enclosure) -> json.Json
pub fn extension() -> Extension
pub fn extensionobject_to_json(
  object: dict.Dict(String, ExtensionObjects),
) -> json.Json
pub fn link() -> Link
pub fn new(options: FeedOptions) -> JsonFeed
pub fn photo_to_json(photo: Photo) -> json.Json
pub fn render_json(ins: Feed) -> json.Json
pub fn video_to_json(video: Video) -> json.Json
Search Document