1 USING: calendar help.markup help.syntax kernel strings
3 IN: furnace.syndication
6 { $values { "action" feed-action } }
7 { $description "Creates a new Atom feed action." } ;
14 { $contract "Converts an object into an Atom feed entry. The default implementation constructs an entry by calling "
15 { $link feed-entry-title } ", "
16 { $link feed-entry-description } ", "
17 { $link feed-entry-date } ", and "
18 { $link feed-entry-url } "." } ;
21 { $class-description "The class of feed actions. Contains several slots, documented in " { $link "furnace.syndication.config" } "." } ;
26 { "timestamp" timestamp }
28 { $contract "Outputs a feed entry timestmap." } ;
30 HELP: feed-entry-description
33 { "description" string }
35 { $contract "Outputs a feed entry description." } ;
37 HELP: feed-entry-title
42 { $contract "Outputs a feed entry title." } ;
49 { $contract "Outputs a feed entry URL." } ;
51 ARTICLE: "furnace.syndication.config" "Configuring Atom feed actions"
52 "Instances of " { $link feed-action } " have three slots which need to be set:"
54 { "title" "The title of the feed as a string" }
55 { "url" { "The feed " { $link url } } }
56 { "entries" { "A quotation with stack effect " { $snippet "( -- seq )" } ", which produces a sequence of objects responding to the " { $link "furnace.syndication.protocol" } " protocol" } }
59 ARTICLE: "furnace.syndication.protocol" "Atom feed entry protocol"
60 "An Atom feed action takes a sequence of objects and converts them into Atom feed entries. The objects must implement a protocol consisting of either a single generic word:"
61 { $subsections >entry }
62 "Or a series of generic words, called by the default implementation of " { $link >entry } ":"
65 feed-entry-description
70 ARTICLE: "furnace.syndication" "Furnace Atom syndication support"
71 "The " { $vocab-link "furnace.syndication" } " vocabulary builds on the " { $link "syndication" } " library by providing easy support for generating Atom feeds from " { $link "furnace.actions" } "."
74 "furnace.syndication.config"
75 "furnace.syndication.protocol"
78 ABOUT: "furnace.syndication"