2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								USING:  help.markup  help.syntax  io.streams.string  kernel  sequences  strings  urls  syndication  calendar  ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								IN:  furnace.syndication 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  <feed-action> 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $values { "action"  feed-action } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Creates a new Atom feed action."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  >entry 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "object"  object  }
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     { "entry"  entry }
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $contract "Converts an object into an Atom feed entry. The default implementation constructs an entry by calling " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $link feed-entry-title } ", " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $link feed-entry-description } ", " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $link feed-entry-date } ", and " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $link feed-entry-url } "."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  feed-action 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $class-description "The class of feed actions. Contains several slots, documented in "  { $link "furnace.syndication.config"  } "."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  feed-entry-date 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "object"  object  }
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     { "timestamp"  timestamp }
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $contract "Outputs a feed entry timestmap."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  feed-entry-description 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "object"  object  }
							 
						 
					
						
							
								
									
										
										
										
											2009-01-27 16:38:01 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     { "description"  string  }
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $contract "Outputs a feed entry description."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  feed-entry-title 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "object"  object  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $contract "Outputs a feed entry title."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  feed-entry-url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "object"  object  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     { "url"  url }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								{ $contract "Outputs a feed entry URL."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ARTICLE: "furnace.syndication.config"  "Configuring Atom feed actions" 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-15 00:01:04 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"Instances of "  { $link feed-action } " have three slots which need to be set:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $table
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { { $slot "title"  } "The title of the feed as a string"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { { $slot "url"  } { "The feed "  { $link url } } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { { $slot "entries"  } { "A quotation with stack effect "  { $snippet "( -- seq )"  } ", which produces a sequence of objects responding to the "  { $link "furnace.syndication.protocol"  } " protocol"  } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 23:51:53 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ARTICLE: "furnace.syndication.protocol"  "Atom feed entry protocol" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"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:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection >entry }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"Or a series of generic words, called by the default implementation of "  { $link >entry } ":" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection feed-entry-title }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection feed-entry-description }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection feed-entry-date }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection feed-entry-url } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ARTICLE: "furnace.syndication"  "Furnace Atom syndication support" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"The "  { $vocab-link "furnace.syndication"  } " vocabulary builds on the "  { $link "syndication"  } " library by providing easy support for generating Atom feeds from "  { $link "furnace.actions"  } "." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection <feed-action> }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection "furnace.syndication.config"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsection "furnace.syndication.protocol"  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-14 05:01:26 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								ABOUT: "furnace.syndication"