jsonfeed

package
v1.13.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2025 License: CC0-1.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_external_jsonfeed_jsonfeed_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Attachment

type Attachment struct {

	// (required, string) specifies the location of the attachment.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// (required, string) specifies the type of the attachment, such as
	// “audio/mpeg.”
	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
	// (optional, string) specifies the title of the attachment.
	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	// (optional, number) specifies how large the file is.
	SizeInBytes int32 `protobuf:"varint,4,opt,name=size_in_bytes,json=sizeInBytes,proto3" json:"size_in_bytes,omitempty"`
	// (optional, number) specifies how long it takes to listen to or watch, when
	// played at normal speed.
	DurationInSeconds int32 `protobuf:"varint,5,opt,name=duration_in_seconds,json=durationInSeconds,proto3" json:"duration_in_seconds,omitempty"`
	// contains filtered or unexported fields
}

Attachment is an object representing a file associated with an item.

func (*Attachment) Descriptor deprecated

func (*Attachment) Descriptor() ([]byte, []int)

Deprecated: Use Attachment.ProtoReflect.Descriptor instead.

func (*Attachment) GetDurationInSeconds

func (x *Attachment) GetDurationInSeconds() int32

func (*Attachment) GetMimeType

func (x *Attachment) GetMimeType() string

func (*Attachment) GetSizeInBytes

func (x *Attachment) GetSizeInBytes() int32

func (*Attachment) GetTitle

func (x *Attachment) GetTitle() string

func (*Attachment) GetUrl

func (x *Attachment) GetUrl() string

func (*Attachment) ProtoMessage

func (*Attachment) ProtoMessage()

func (*Attachment) ProtoReflect

func (x *Attachment) ProtoReflect() protoreflect.Message

func (*Attachment) Reset

func (x *Attachment) Reset()

func (*Attachment) String

func (x *Attachment) String() string

type Author

type Author struct {

	// (optional, string) is the author’s name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// (optional, string) is the URL of a site owned by the author. It could be a
	// blog, micro-blog, Twitter account, and so on. Ideally the linked-to page
	// provides a way to contact the author, but that’s not required. The URL
	// could be a mailto: link, though we suspect that will be rare.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// (optional, string) is the URL for an image for the author. As with icon, it
	// should be square and relatively large — such as 512 x 512 pixels — and
	// should use transparency where appropriate, since it may be rendered on a
	// non-white background.
	Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar,omitempty"`
	// contains filtered or unexported fields
}

Author is an object representing the author of the feed or item.

func (*Author) Descriptor deprecated

func (*Author) Descriptor() ([]byte, []int)

Deprecated: Use Author.ProtoReflect.Descriptor instead.

func (*Author) GetAvatar

func (x *Author) GetAvatar() string

func (*Author) GetName

func (x *Author) GetName() string

func (*Author) GetUrl

func (x *Author) GetUrl() string

func (*Author) ProtoMessage

func (*Author) ProtoMessage()

func (*Author) ProtoReflect

func (x *Author) ProtoReflect() protoreflect.Message

func (*Author) Reset

func (x *Author) Reset()

func (*Author) String

func (x *Author) String() string

type Feed

type Feed struct {

	// (required, string) is the name of the feed, which will often correspond to
	// the name of the website (blog, for instance), though not necessarily.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// (optional but strongly recommended, string) is the URL of the resource that
	// the feed describes. This resource may or may not actually be a “home” page,
	// but it should be an HTML page. If a feed is published on the public web,
	// this should be considered as required. But it may not make sense in the
	// case of a file created on a desktop computer, when that file is not shared
	// or is shared only privately.
	HomePageUrl string `protobuf:"bytes,3,opt,name=home_page_url,json=homePageUrl,proto3" json:"home_page_url,omitempty"`
	// (optional but strongly recommended, string) is the URL of the feed, and
	// serves as the unique identifier for the feed. As with home_page_url, this
	// should be considered required for feeds on the public web.
	FeedUrl string `protobuf:"bytes,4,opt,name=feed_url,json=feedUrl,proto3" json:"feed_url,omitempty"`
	// (optional, string) provides more detail, beyond the title, on what the feed
	// is about. A feed reader may display this text.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// (optional, string) is a description of the purpose of the feed. This is for
	// the use of people looking at the raw Protobuf, and should be ignored by
	// feed readers.
	UserComment string `protobuf:"bytes,6,opt,name=user_comment,json=userComment,proto3" json:"user_comment,omitempty"`
	// (optional, string) is the URL of an image for the feed suitable to be used
	// in a source list. It should be square and relatively large — such as 512 x
	// 512 — so that it can be scaled down and so that it can look good on retina
	// displays. It should use transparency where appropriate, since it may be
	// rendered on a non-white background.
	Icon string `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
	// (optional, string) is the URL of an image for the feed suitable to be used
	// in a source list. It should be square and relatively small, but not smaller
	// than 64 x 64.
	Favicon string `protobuf:"bytes,8,opt,name=favicon,proto3" json:"favicon,omitempty"`
	// (optional, array of objects) specifies the feed authors.
	Authors []*Author `protobuf:"bytes,9,rep,name=authors,proto3" json:"authors,omitempty"`
	// (optional, string) is the primary language for the feed.
	Language string `protobuf:"bytes,10,opt,name=language,proto3" json:"language,omitempty"`
	// (optional, boolean) says whether or not the feed is finished — that is,
	// whether or not it will ever update again. A feed for a temporary event,
	// such as an instance of the Olympics, could expire. If the value is true,
	// then it’s expired. Any other value, or the absence of expired, means the
	// feed may continue to update.
	Expired bool `protobuf:"varint,11,opt,name=expired,proto3" json:"expired,omitempty"`
	// (required, array of objects) contains the items in the feed. This is the
	// most important element of the feed after the version field. Each item is a
	// story, blog post, article, photograph, video, or other thing. For example,
	// if a feed contains a long article, a podcast episode, and a photo, those
	// three items would be included in items.
	Items []*Item `protobuf:"bytes,12,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

Feed is the root of a Proto Feed document. A feed must at least contain a title and items.

func (*Feed) Descriptor deprecated

func (*Feed) Descriptor() ([]byte, []int)

Deprecated: Use Feed.ProtoReflect.Descriptor instead.

func (*Feed) GetAuthors

func (x *Feed) GetAuthors() []*Author

func (*Feed) GetDescription

func (x *Feed) GetDescription() string

func (*Feed) GetExpired

func (x *Feed) GetExpired() bool

func (*Feed) GetFavicon

func (x *Feed) GetFavicon() string

func (*Feed) GetFeedUrl

func (x *Feed) GetFeedUrl() string

func (*Feed) GetHomePageUrl

func (x *Feed) GetHomePageUrl() string

func (*Feed) GetIcon

func (x *Feed) GetIcon() string

func (*Feed) GetItems

func (x *Feed) GetItems() []*Item

func (*Feed) GetLanguage

func (x *Feed) GetLanguage() string

func (*Feed) GetTitle

func (x *Feed) GetTitle() string

func (*Feed) GetUserComment

func (x *Feed) GetUserComment() string

func (*Feed) ProtoMessage

func (*Feed) ProtoMessage()

func (*Feed) ProtoReflect

func (x *Feed) ProtoReflect() protoreflect.Message

func (*Feed) Reset

func (x *Feed) Reset()

func (*Feed) String

func (x *Feed) String() string

type Item

type Item struct {

	// (required, string) is unique for that item for that feed over time. If an
	// item is ever updated, the id should be unchanged. New items should never
	// use a previously-used id. If an id is presented as a number or other type,
	// a JSON Feed reader must coerce it to a string. Ideally, the id is the full
	// URL of the resource described by the item, since URLs make great unique
	// identifiers.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// (optional, string) is the URL of the resource described by the item. It’s
	// the permalink. This may be the same as the id — but should be present
	// regardless.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// (optional, string) is the URL of a page elsewhere. This is especially
	// useful for linkblogs. If url links to where you’re talking about a thing,
	// then external_url links to the thing you’re talking about.
	ExternalUrl string `protobuf:"bytes,3,opt,name=external_url,json=externalUrl,proto3" json:"external_url,omitempty"`
	// (optional, string) is plain text. Microblog items in particular may omit
	// titles.
	Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	// (optional, string) is the body of the item. It can be plain text, HTML, or
	// a snippet of Markdown. (It should not be the entire Markdown document; just
	// a snippet.) This is complete enough that it can be displayed alone in a
	// reader.
	ContentText string `protobuf:"bytes,5,opt,name=content_text,json=contentText,proto3" json:"content_text,omitempty"`
	// (optional, string) is the body of the item. It can be plain text, HTML, or
	// a snippet of Markdown. (It should not be the entire Markdown document; just
	// a snippet.) This is complete enough that it can be displayed alone in a
	// reader.
	ContentHtml string `protobuf:"bytes,6,opt,name=content_html,json=contentHtml,proto3" json:"content_html,omitempty"`
	// (optional, string) is a plain text sentence or two describing the item.
	// This might be presented in a timeline, for instance, where a detail view
	// would display all of content_html or content_text.
	Summary string `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"`
	// (optional, string) is the URL of the main image for the item. This image
	// may also appear in the content_html — if so, it’s a hint to the feed reader
	// that this is the main, featured image. Even if it’s not, it will appear in
	// the detail view. Images should be square, with a 4:3 aspect ratio. (We will
	// be flexible on this in the future.)
	Image string `protobuf:"bytes,8,opt,name=image,proto3" json:"image,omitempty"`
	// (optional, string) is the URL of an image to use as a banner. Some blogging
	// systems (such as Medium) display a different banner image in the list view
	// from the detail view. In those systems, this image should be used in the
	// list view, and image in the detail view.
	BannerImage string `protobuf:"bytes,9,opt,name=banner_image,json=bannerImage,proto3" json:"banner_image,omitempty"`
	// (optional, string) specifies the date in RFC 3339 format.
	DatePublished *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=date_published,json=datePublished,proto3" json:"date_published,omitempty"`
	// (optional, string) specifies the modification date in RFC 3339 format.
	DateModified *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=date_modified,json=dateModified,proto3" json:"date_modified,omitempty"`
	// (optional, array of objects) has the same structure as the top-level
	// authors. If not specified in an item, then the top-level authors, if
	// present, are the authors of the item.
	Authors []*Author `protobuf:"bytes,12,rep,name=authors,proto3" json:"authors,omitempty"`
	// (optional, array of strings) can have any plain text values you want. Tags
	// tend to be just one word, but they may be anything. Note: they are not the
	// equivalent of Twitter hashtags. Some blogging systems and other feed
	// formats call these categories.
	Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"`
	// (optional, string) is the language for this item, using the same format as
	// the top-level language field. The value can be different than the primary
	// language for the feed when a specific item is written in a different
	// language than other items in the feed.
	Language string `protobuf:"bytes,14,opt,name=language,proto3" json:"language,omitempty"`
	// (optional, array of objects) specifies the attachments associated with the
	// item. Attachments are files that are associated with an item. The value of
	// the attachments field is an array of objects, each of which has a url
	// field, and other fields as specified in the attachment object definition.
	Attachments []*Attachment `protobuf:"bytes,15,rep,name=attachments,proto3" json:"attachments,omitempty"`
	// contains filtered or unexported fields
}

Item is an object representing a single story, blog post, article, photograph, video, or other thing within a feed.

func (*Item) Descriptor deprecated

func (*Item) Descriptor() ([]byte, []int)

Deprecated: Use Item.ProtoReflect.Descriptor instead.

func (*Item) GetAttachments

func (x *Item) GetAttachments() []*Attachment

func (*Item) GetAuthors

func (x *Item) GetAuthors() []*Author

func (*Item) GetBannerImage

func (x *Item) GetBannerImage() string

func (*Item) GetContentHtml

func (x *Item) GetContentHtml() string

func (*Item) GetContentText

func (x *Item) GetContentText() string

func (*Item) GetDateModified

func (x *Item) GetDateModified() *timestamppb.Timestamp

func (*Item) GetDatePublished

func (x *Item) GetDatePublished() *timestamppb.Timestamp

func (*Item) GetExternalUrl

func (x *Item) GetExternalUrl() string

func (*Item) GetId

func (x *Item) GetId() string

func (*Item) GetImage

func (x *Item) GetImage() string

func (*Item) GetLanguage

func (x *Item) GetLanguage() string

func (*Item) GetSummary

func (x *Item) GetSummary() string

func (*Item) GetTags

func (x *Item) GetTags() []string

func (*Item) GetTitle

func (x *Item) GetTitle() string

func (*Item) GetUrl

func (x *Item) GetUrl() string

func (*Item) ProtoMessage

func (*Item) ProtoMessage()

func (*Item) ProtoReflect

func (x *Item) ProtoReflect() protoreflect.Message

func (*Item) Reset

func (x *Item) Reset()

func (*Item) String

func (x *Item) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL