This is the feeder Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:05:21 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
feeder
RSS, Atom and general feed parsing and generating
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/shinmera/feeder.git)
zlib
1.0.0
plump
(system).
local-time
(system).
documentation-utils
(system).
package.lisp
(file).
toolkit.lisp
(file).
protocol.lisp
(file).
rss.lisp
(file).
atom.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
feeder/feeder.asd
feeder/package.lisp
feeder/toolkit.lisp
feeder/protocol.lisp
feeder/rss.lisp
feeder/atom.lisp
feeder/documentation.lisp
feeder/toolkit.lisp
package.lisp
(file).
feeder
(system).
argument-missing
(condition).
feed-condition
(condition).
make-element
(macro).
nil-value
(condition).
text
(function).
unknown-format
(condition).
with-children
(macro).
!
(macro).
arg!
(function).
ensure-attribute-name
(function).
ensure-string
(function).
format-time
(function).
month-digit
(function).
parse-rfc3339-alike
(function).
parse-rfc822-alike
(function).
prefix-p
(function).
rfc3339-tz-offset
(function).
rfc822-tz-offset
(function).
set-attributes
(macro).
split
(function).
trim
(function).
with-child
(macro).
feeder/protocol.lisp
toolkit.lisp
(file).
feeder
(system).
authored-item
(class).
authors
(reader method).
(setf authors)
(writer method).
cache-time
(reader method).
(setf cache-time)
(writer method).
categories
(reader method).
(setf categories)
(writer method).
comment-section
(reader method).
(setf comment-section)
(writer method).
content
(reader method).
(setf content)
(writer method).
content-type
(reader method).
(setf content-type)
(writer method).
contributors
(reader method).
(setf contributors)
(writer method).
email
(reader method).
(setf email)
(writer method).
entry
(class).
feed
(class).
format
(class).
generator
(reader method).
(setf generator)
(writer method).
generator
(class).
id
(reader method).
(setf id)
(writer method).
instance-for-type
(generic function).
language
(reader method).
language
(reader method).
(setf language)
(writer method).
(setf language)
(writer method).
link
(reader method).
(setf link)
(writer method).
link
(class).
logo
(reader method).
(setf logo)
(writer method).
name
(reader method).
name
(reader method).
(setf name)
(writer method).
(setf name)
(writer method).
parse-feed
(generic function).
parse-to
(generic function).
person
(class).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
published-on
(reader method).
(setf published-on)
(writer method).
relation
(reader method).
(setf relation)
(writer method).
remote-item
(class).
rights
(reader method).
(setf rights)
(writer method).
serialize-feed
(generic function).
serialize-to
(generic function).
source
(reader method).
(setf source)
(writer method).
source-has-format-p
(generic function).
summary
(reader method).
(setf summary)
(writer method).
title
(reader method).
title
(reader method).
(setf title)
(writer method).
(setf title)
(writer method).
updated-on
(reader method).
(setf updated-on)
(writer method).
url
(method).
url
(reader method).
url
(method).
url
(method).
(setf url)
(writer method).
version
(reader method).
(setf version)
(writer method).
webmaster
(reader method).
(setf webmaster)
(writer method).
xml-format
(class).
feeder/rss.lisp
protocol.lisp
(file).
feeder
(system).
parse-feed
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
rss
(class).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
source-has-format-p
(method).
feeder/atom.lisp
rss.lisp
(file).
feeder
(system).
atom
(class).
content-type
(reader method).
parse-feed
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
parse-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
serialize-to
(method).
source-has-format-p
(method).
unknown-atom-content-type
(condition).
parse-atom-content
(function).
Packages are listed by definition order.
org.shirakumo.feeder
common-lisp
.
argument-missing
(condition).
atom
(class).
authored-item
(class).
authors
(generic reader).
(setf authors)
(generic writer).
cache-time
(generic reader).
(setf cache-time)
(generic writer).
categories
(generic reader).
(setf categories)
(generic writer).
comment-section
(generic reader).
(setf comment-section)
(generic writer).
content
(generic reader).
(setf content)
(generic writer).
content-type
(generic reader).
(setf content-type)
(generic writer).
contributors
(generic reader).
(setf contributors)
(generic writer).
email
(generic reader).
(setf email)
(generic writer).
entry
(class).
feed
(class).
feed-condition
(condition).
format
(class).
generator
(generic reader).
(setf generator)
(generic writer).
generator
(class).
id
(generic reader).
(setf id)
(generic writer).
instance-for-type
(generic function).
language
(generic reader).
(setf language)
(generic writer).
link
(generic reader).
(setf link)
(generic writer).
link
(class).
logo
(generic reader).
(setf logo)
(generic writer).
make-element
(macro).
name
(generic reader).
(setf name)
(generic writer).
nil-value
(condition).
parse-feed
(generic function).
parse-to
(generic function).
person
(class).
published-on
(generic reader).
(setf published-on)
(generic writer).
relation
(generic reader).
(setf relation)
(generic writer).
remote-item
(class).
rights
(generic reader).
(setf rights)
(generic writer).
rss
(class).
serialize-feed
(generic function).
serialize-to
(generic function).
source
(generic reader).
(setf source)
(generic writer).
source-has-format-p
(generic function).
summary
(generic reader).
(setf summary)
(generic writer).
text
(function).
title
(generic reader).
(setf title)
(generic writer).
unknown-atom-content-type
(condition).
unknown-format
(condition).
updated-on
(generic reader).
(setf updated-on)
(generic writer).
url
(generic function).
(setf url)
(generic writer).
version
(generic reader).
(setf version)
(generic writer).
webmaster
(generic reader).
(setf webmaster)
(generic writer).
with-children
(macro).
xml-format
(class).
!
(macro).
arg!
(function).
ensure-attribute-name
(function).
ensure-string
(function).
format-time
(function).
month-digit
(function).
parse-atom-content
(function).
parse-rfc3339-alike
(function).
parse-rfc822-alike
(function).
prefix-p
(function).
rfc3339-tz-offset
(function).
rfc822-tz-offset
(function).
set-attributes
(macro).
split
(function).
trim
(function).
with-child
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Construct a new XML element.
ATTRIBUTES should be a plist of alternating keys and values. A key may
either be a string or a symbol. If a symbol, it is treated as the
attribute name in lowercase. The attribute is only set if the value is
non-NIL.
If the key is a symbol with the name "-", the value is used as the
text content of the element.
For example, constructing an element like
<foo bar="baz">bam</foo>
would be
(make-element parent "foo"
:bar "baz"
- "bam")
See PLUMP:MAKE-ELEMENT
See PLUMP:ATTRIBUTE
See PLUMP:MAKE-TEXT-NODE
Scans through the immediate children of ROOT and executes bodies as matching.
The format should be as follows:
CLAUSES ::= (TAG . form*)*
TAG — A string designator
The forms of a clause are executed with NAME bound to a PLUMP:ELEMENT
whose tag-name matches that specified in the clause. Tag names are
matched case-insensitively.
See PLUMP:CHILDREN
See PLUMP:TAG-NAME
See PLUMP:ELEMENT
Returns the trimmed text contents of the given node.
This is like PLUMP:TEXT, but with ASCII whitespace trimmed off the
front and end of the text.
See PLUMP:TEXT
Accessor to the list of persons that authored the item.
See PERSON
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the amount of time the feed can be cached.
This value should be an integer representing the cache time in
minutes.
See FEED
Accessor to the list of categories that the item relates to.
Each category should be a simple string.
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the link for a comment section for this item.
Should be a LINK or URL.
See LINK (type)
See ENTRY
Accessor to the content of the item.
For FEEDs, the content should be a list of ENTRYs.
For ENTRYs this may be a plaintext string or a PLUMP:NODE.
See FEED
See ENTRY
See PLUMP:NODE
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the content mime-type at the end of the link.
See LINK (type)
unknown-atom-content-type
)) ¶Accessor to the list of persons that contributed to the item.
See PERSON
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the email address of the person.
No address validation is performed.
See PERSON
Accessor to the generator that created this feed.
See GENERATOR (type)
See FEED
Accessor to the unique ID of the item.
This should either be a value that can be PRINCed to obtain a string
representation of the unique identifier, or a LINK.
See LINK (type)
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
id
.
authored-item
)) ¶automatically generated writer method
id
.
Returns an appropriate instance for the requested type under the specified format.
By default this constructs an empty (all slots set to NIL) instance
using the given type as a class name.
See FORMAT
Accessor to the language of the item
This should be a two or three letter code name of the language in
which the item’s content is written, though no validation to this
effect is performed.
See LINK (type)
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the link of the item.
See LINK (type)
See REMOTE-ITEM
remote-item
)) ¶automatically generated reader method
link
.
remote-item
)) ¶automatically generated writer method
link
.
Accessor to the logo for the feed
This should be a LINK
See FEED
Accessor to the name of the item.
See PERSON
See GENERATOR (type)
Parses the given source into standardised feed objects according to the specified format.
If FORMAT is T, the format is determined automatically depending on
the source’s contents.
Returns a list of FEED instances.
This function should construct the appropriate base object and then
call PARSE-TO.
See FEED
See FORMAT
(eql t)
)) ¶xml-format
)) ¶symbol
)) ¶Fills the target with content from thing according to format.
This is used internally in the parsing process.
See FORMAT
authored-item
) (node element
) (format atom
)) ¶authored-item
) (node element
) (format rss
)) ¶symbol
) thing format) ¶Accessor to the date on which this item was first published.
The date should be a LOCAL-TIME:TIMESTAMP
See LOCAL-TIME:TIMESTAMP
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the relation of the link.
The following values are typically recognised:
- "alternate"
- "related"
- "self"
- "enclosure"
- "via"
See RFC4287 for more information.
See LINK (type)
Accessor to copyright information relating to the item.
This may be a plaintext string or a PLUMP:NODE
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Turns the given feed into the specified format.
Returns the encoded feed.
For XML-FORMATs this will be a PLUMP:NODE
This function should construct the appropriate base object and then
call SERIALIZE-TO.
See PLUMP:NODE
See XML-FORMAT
See FORMAT
feed
) (format xml-format
)) ¶symbol
)) ¶Fills the target with content from thing according to format.
This is used internally in the serialisation process.
See FORMAT
nesting-node
) (item authored-item
) (format atom
)) ¶nesting-node
) (item authored-item
) (format rss
)) ¶Accessor to the source of this item.
This is used if the entry is aggregated from elsewhere.
Should be a LINK.
see LINK (type)
See ENTRY
Returns T if the given source is encoded in the given format
See FORMAT
xml-format
)) ¶symbol
)) ¶Accessor to the summary describing the item in short.
This may be a plaintext string or a PLUMP:NODE
In absence of a CONTENT value, it may also represent the full
content.
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the title of the item
This may be a plaintext string or a PLUMP:NODE
See LINK (type)
See AUTHORED-ITEM
See PLUMP:NODE
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the date on which this item was last updated.
The date should be a LOCAL-TIME:TIMESTAMP
See LOCAL-TIME:TIMESTAMP
See AUTHORED-ITEM
authored-item
)) ¶automatically generated reader method
authored-item
)) ¶automatically generated writer method
Accessor to the URL of a link or remote item.
The URL should be encoded as a string, and no URL validation is
performed.
See LINK (type)
See REMOTE-ITEM
authored-item
)) ¶string
)) ¶remote-item
)) ¶Accessor to the generator version.
See GENERATOR (type)
Accessor to the webmaster responsible for this feed.
This should be a PERSON
See FEED
authored-item
) stream) ¶Error signalled when a required argument is missing.
This usually happens when you try to create an instance of an object
but omitted an argument that is required to create a valid feed.
When this condition is signalled, the following restarts are available
- USE-VALUE
Requires an argument that is then used for the missing argument.
- CONTINUE
Set the slot to NIL anyway.
See FEED-CONDITION
error
.
feed-condition
.
:argument
Base condition for all feed related conditions.
See ARGUMENT-MISSING
See NIL-VALUE
See UNKNOWN-FORMAT
See UNKNOWN-ATOM-CONTENT-TYPE
condition
.
Error signalled when a form returns NIL that should not be NIL.
This usually happens during feed serialisation when a slot is empty
that is required to generate a valid feed.
When this condition is signalled, the following restarts are available
- USE-VALUE
Requires an argument that is then returned in place of the NIL.
See FEED-CONDITION
error
.
feed-condition
.
:form
Error signalled on an unknown content type.
When this condition is signalled, the following restarts are available
- USE-TYPE
Requires an argument that specifies the alternate content-type to
use.
- USE-VALUE
Requires an argument that specifies the content to use in its
place.
- TREAT-AS-PLAINTEXT
Treats the content as plaintext and returns it.
- CONTINUE
Ignores the content and returns NIL
See FEED-CONDITION
See ATOM
error
.
feed-condition
.
:content-type
This slot is read-only.
Error signalled when the given feed source has an unknown format.
When this condition is signalled, the following restarts are available
- USE-VALUE
Requires an argument that designates the format to use.
See FEED-CONDITION
See PARSE-FEED
error
.
feed-condition
.
:source
Atom Feed Format
As defined in RFC4287 https://tools.ietf.org/html/rfc4287 .
As opposed to RSS, Atom is rather strict, and as such parsing of the
feed data does not attempt to guess either. However, just as with RSS,
parsing a feed should not signal an error.
See XML-FORMAT
Representation of a basic feed item.
This is used as the base class for FEEDs and ENTRYs in a feed.
See REMOTE-ITEM
See ID
See CATEGORIES
See AUTHORS
See CONTRIBUTORS
See PUBLISHED-ON
See UPDATED-ON
See RIGHTS
See LANGUAGE
See LINK
See TITLE
See SUMMARY
See CONTENT
(setf authors)
.
authors
.
(setf categories)
.
categories
.
(setf content)
.
content
.
(setf contributors)
.
contributors
.
(setf id)
.
id
.
(setf language)
.
language
.
parse-to
.
parse-to
.
print-object
.
(setf published-on)
.
published-on
.
(setf rights)
.
rights
.
serialize-to
.
serialize-to
.
(setf summary)
.
summary
.
(setf title)
.
title
.
(setf updated-on)
.
updated-on
.
url
.
:categories
:authors
:contributors
:published-on
(local-time:now)
:updated-on
:rights
:language
(org.shirakumo.feeder::arg! :link)
(org.shirakumo.feeder::arg! :title)
:title
(org.shirakumo.feeder::arg! :summary)
:summary
:content
Representation of a feed item.
See AUTHORED-ITEM
See COMMENT-SECTION
See SOURCE
Representation of a syndication feed.
See AUTHORED-ITEM
See CACHE-TIME
See GENERATOR
See LOGO
See WEBMASTER
Base class for an external format for a feed.
See SOURCE-HAS-FORMAT-P
See PARSE-FEED
See SERIALIZE-FEED
See PARSE-TO
See SERIALIZE-TO
Representation of a feed generator.
See REMOTE-ITEM
See NAME
See VERSION
Representation of a link to an external resource.
See URL
See RELATION
See CONTENT-TYPE
See LANGUAGE
See TITLE
:relation
:content-type
:language
:title
Representation of a person.
See REMOTE-ITEM
See NAME
See EMAIL
An item representing a remote resource of some kind.
See LINK
See URL
(setf link)
.
link
.
url
.
RSS 2.0 Feed Format
As defined in https://validator.w3.org/feed/docs/rss2.html with select
extensions such as content:encoded.
RSS is a very "web" format, which is to say that the files claiming
to be RSS that can be found out there all do not adhere to any strict
specifications, or anything at all for that matter. This makes parsing
and dealing with RSS a pain in the ass.
This parser performs a best-effort at parsing the content you hand it,
and attempts to standardise and culminate certain features together as
appropriate. It should not error when parsing a feed, but may miss or
misinterpret certain values present in the raw feed data. For
instance, of duplicated tags that should only exist once, only the
last tag is actually preserved in the generated objects.
Serialising to RSS will follow the description as closely as
possible without touching undefined parts.
See XML-FORMAT
Base class for formats based on XML.
See FORMAT
Jump to: | !
(
A C E F G I L M N P R S T U V W |
---|
Jump to: | !
(
A C E F G I L M N P R S T U V W |
---|
Jump to: | A C E F G I L N P R S T U V W |
---|
Jump to: | A C E F G I L N P R S T U V W |
---|
Jump to: | A C D E F G L N O P R S T U X |
---|
Jump to: | A C D E F G L N O P R S T U X |
---|