Skip to content
0

katanakit-js / IRssService

Interface: IRssService ​

Defined in: src/types/index.ts:800

Contract of the RSS facade.

Methods ​

useCreateRssEndpoint() ​

ts
useCreateRssEndpoint(config): (context) => Promise<Response>;

Defined in: src/types/index.ts:806

Generates an Astro GET endpoint handler for the RSS feed.

Parameters ​

ParameterType
configOmit<{ customData?: string; description: string; items: { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[]; language?: string; lastBuildDate?: boolean; site: string; title: string; trailingSlash?: boolean; xmlPath?: string; xslUrl?: string; }, "items"> & { items: | { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[] | (() => | { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[] | Promise<{ author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[]>); }

Returns ​

(context) => Promise<Response>


useCreateRssEndpointFromConfig() ​

ts
useCreateRssEndpointFromConfig(siteConfig, items): (context) => Promise<Response>;

Defined in: src/types/index.ts:810

Convenience: creates an RSS endpoint from a SiteConfig.

Parameters ​

ParameterType
siteConfigSiteConfig
items| { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[] | (() => | { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[] | Promise<{ author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[]>)

Returns ​

(context) => Promise<Response>


useGenerateRss() ​

ts
useGenerateRss(config): RssResult;

Defined in: src/types/index.ts:802

Generates the RSS XML string from a config.

Parameters ​

ParameterTypeDescription
config{ customData?: string; description: string; items: { author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[]; language?: string; lastBuildDate?: boolean; site: string; title: string; trailingSlash?: boolean; xmlPath?: string; xslUrl?: string; }-
config.customData?stringCustom XML to inject into the <channel> element.
config.descriptionstringDescription of the feed.
config.items{ author?: string; categories?: string[]; content?: string; customData?: string; description?: string; link: string; pubDate: string | Date; title: string; }[]Feed items.
config.language?stringLanguage code (default: "en").
config.lastBuildDate?booleanWhether to include the <lastBuildDate> (default: true).
config.sitestringBase URL of the site (e.g. "https://example.com").
config.titlestringTitle of the feed (e.g. "My Blog").
config.trailingSlash?booleanTrailing slash behavior for item links (default: true).
config.xmlPath?stringOutput path (default: "/rss.xml").
config.xslUrl?stringXSL stylesheet URL for browser rendering (optional).

Returns ​

RssResult


useRssLinkTag() ​

ts
useRssLinkTag(config): string;

Defined in: src/types/index.ts:804

Generates an HTML <link> tag for the RSS feed.

Parameters ​

ParameterType
configPick<RssConfig, "title" | "xmlPath">

Returns ​

string

Released under the MIT License.