Bowfin is a web framework and content manager, written in Chicken Scheme, based on awful, and using git as a backend.
A bowfin website is divided into top-sections. The first level of directories below root are special: they are the top-sections; each is a conceptual major section of the site.
- backend: the backend that contains this content-entry
- resource: the path within the backend that locates the resource represented by this content-entry. directory content-entries have #f for this.
- meta: metadata associated with this content-entry
- children: hash table of children of this content-entry
(content-entry-lookup c spath)
Return content-entry given by spath in c, or #f if it does not exist.
(content-entry-lookup-section c spath)
Returns the portion of spath that represents a directory in c.
(content-entry-lookup-top-section c spath)
Returns the first directory component of spath as a path, if it exists, and is a directory in the content-entry c. Otherwise returns #f.
Returns #t if the content-entry c represents a directory, #f otherwise.
(content-entry-child-exists? c child)
#t if c has a child entry of the name given by child.
(content-entry-child-ref c child)
Return the content-entry in c named by child.
(content-entry-map c func)
Call func on each immediate child of c, in string-sort order.