Skip to content

Source Namespace Reference

The Source namespace provides elements for enhanced feed metadata, including social media accounts, subscription lists, blogrolls, and source content in various formats like Markdown and OPML outlines.

Namespace URIhttp://source.scripting.com/
Specificationsource.scripting.com
Prefix<source:*>
Available inRSS
PropertysourceNs (due to conflict with RSS's source element)

Types

INFO

For details on type parameters (TStrict) and Requirable<T> markers, see TypeScript Reference.

ts
export namespace SourceNs {
  export type Account<TStrict extends boolean = false> = Strict<
    {
      service: Requirable<string> // Required in spec
      value?: string
    },
    TStrict
  >

  export type Likes<TStrict extends boolean = false> = Strict<
    {
      server: Requirable<string> // Required in spec
    },
    TStrict
  >

  export type Archive<TStrict extends boolean = false> = Strict<
    {
      url: Requirable<string> // Required in spec
      startDay: Requirable<string> // Required in spec
      endDay?: string
      filename?: string
    },
    TStrict
  >

  export type SubscriptionList<TStrict extends boolean = false> = Strict<
    {
      url: Requirable<string> // Required in spec
      value?: string
    },
    TStrict
  >

  export type InReplyTo<TStrict extends boolean = false> = Strict<
    {
      value: Requirable<string> // Required in spec
      isPermaLink?: boolean
    },
    TStrict
  >

  export type Comments<TStrict extends boolean = false> = Strict<
    {
      count: Requirable<number> // Required in spec
      feedUrl: Requirable<string> // Required in spec
    },
    TStrict
  >

  export type Feed<TStrict extends boolean = false> = {
    accounts?: Array<Account<TStrict>>
    likes?: Likes<TStrict>
    archive?: Archive<TStrict>
    subscriptionLists?: Array<SubscriptionList<TStrict>>
    cloud?: string
    blogroll?: string
    self?: string
    localTime?: string
  }

  export type Item<TStrict extends boolean = false> = {
    markdown?: string
    outlines?: Array<string>
    linkFull?: string
    inReplyTo?: InReplyTo<TStrict>
    comments?: Comments<TStrict>
  }
}