2016-04-24 21:26:44 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
<!-- Copyright (C) 2015 David Thompson
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License". -->
2017-01-24 02:40:04 +01:00
<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
2016-04-24 21:26:44 +02:00
< head >
< title > Haunt Reference Manual: Posts< / title >
< meta name = "description" content = "Haunt Reference Manual: Posts" >
< meta name = "keywords" content = "Haunt Reference Manual: Posts" >
< meta name = "resource-type" content = "document" >
< meta name = "distribution" content = "global" >
< meta name = "Generator" content = "makeinfo" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< link href = "index.html#Top" rel = "start" title = "Top" >
< link href = "Concept-Index.html#Concept-Index" rel = "index" title = "Concept Index" >
< link href = "index.html#SEC_Contents" rel = "contents" title = "Table of Contents" >
< link href = "Programming-Interface.html#Programming-Interface" rel = "up" title = "Programming Interface" >
< link href = "Readers.html#Readers" rel = "next" title = "Readers" >
< link href = "Sites.html#Sites" rel = "prev" title = "Sites" >
< style type = "text/css" >
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
2017-01-24 02:40:04 +01:00
span.roman {font-family: initial; font-weight: normal}
2016-04-24 21:26:44 +02:00
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
< / style >
< / head >
< body lang = "en" >
< a name = "Posts" > < / a >
< div class = "header" >
< p >
Next: < a href = "Readers.html#Readers" accesskey = "n" rel = "next" > Readers< / a > , Previous: < a href = "Sites.html#Sites" accesskey = "p" rel = "prev" > Sites< / a > , Up: < a href = "Programming-Interface.html#Programming-Interface" accesskey = "u" rel = "up" > Programming Interface< / a > [< a href = "index.html#SEC_Contents" title = "Table of contents" rel = "contents" > Contents< / a > ][< a href = "Concept-Index.html#Concept-Index" title = "Index" rel = "index" > Index< / a > ]< / p >
< / div >
< hr >
< a name = "Posts-1" > < / a >
< h3 class = "section" > 5.2 Posts< / h3 >
< div class = "example" >
< pre class = "example" > (use-modules (haunt post))
< / pre > < / div >
< p > Posts represent the articles that are kept in a site’ s post directory
and written in a markup format that Haunt can
understand. see < a href = "Readers.html#Readers" > Readers< / a > ) for how files on disk can be transformed
into posts.
< / p >
< dl >
< dt > < a name = "index-make_002dpost" > < / a > Scheme Procedure: < strong > make-post< / strong > < em > < var > file-name< / var > < var > metadata< / var > < var > sxml< / var > < / em > < / dt >
< dd > < p > Create a new post object that represents the contents of the file
< var > file-name< / var > . The body of the post, < var > sxml< / var > , is represented as
an SXML tree (see < a href = "http://www.gnu.org/software/guile/manual/html_node/SXML.html#SXML" > SXML< / a > in < cite > GNU Guile Reference Manual< / cite > )
and the metadata is an association list (see < a href = "http://www.gnu.org/software/guile/manual/html_node/Association-Lists.html#Association-Lists" > Association Lists< / a > in < cite > GNU Guile Reference Manual< / cite > ) of arbitrary
key/value pairs.
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_003f" > < / a > Scheme Procedure: < strong > post?< / strong > < em > < var > object< / var > < / em > < / dt >
< dd > < p > Return < code > #t< / code > if < var > object< / var > is a post.
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_002dfile_002dname" > < / a > Scheme Procedure: < strong > post-file-name< / strong > < em > < var > post< / var > < / em > < / dt >
< dd > < p > Return the file name for < var > post< / var > .
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_002dmetadata" > < / a > Scheme Procedure: < strong > post-metadata< / strong > < em > < var > post< / var > < / em > < / dt >
< dd > < p > Return the metadata association list for < var > post< / var > .
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_002dsxml" > < / a > Scheme Procedure: < strong > post-sxml< / strong > < em > < var > post< / var > < / em > < / dt >
< dd > < p > Return the SXML tree for < var > post< / var > .
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_002dref" > < / a > Scheme Procedure: < strong > post-ref< / strong > < em > < var > post< / var > < var > key< / var > < / em > < / dt >
< dd > < p > Return the metadata value corresponding to < var > key< / var > within
< var > post< / var > .
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-post_002dslug" > < / a > Scheme Procedure: < strong > post-slug< / strong > < em > < var > post< / var > < / em > < / dt >
< dd > < p > Transform the title of < var > post< / var > into a URL slug suitable for the
file name of a web page.
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-_0025default_002ddate" > < / a > Scheme Variable: < strong > %default-date< / strong > < / dt >
< dd > < p > The default date of a post when no other date is specified in the
metadata association list.
< / p > < / dd > < / dl >
< dl >
2017-01-24 02:40:04 +01:00
< dt > < a name = "index-post_002ddate" > < / a > Scheme Procedure: < strong > post-date< / strong > < em > < var > post< / var > < / em > < / dt >
2016-04-24 21:26:44 +02:00
< dd > < p > Return the date for < var > post< / var > , or < code > %default-date< / code > if no date is
specified.
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-posts_002freverse_002dchronological" > < / a > Scheme Procedure: < strong > posts/reverse-chronological< / strong > < em > < var > posts< / var > < / em > < / dt >
< dd > < p > Sort < var > posts< / var > , a list of posts, in reverse chronological order.
< / p > < / dd > < / dl >
< dl >
< dt > < a name = "index-posts_002fgroup_002dby_002dtag" > < / a > Scheme Procedure: < strong > posts/group-by-tag< / strong > < em > < var > posts< / var > < / em > < / dt >
< dd > < p > Create an association list of tags mapped to the posts in the list
< var > posts< / var > that used them.
< / p > < / dd > < / dl >
< hr >
< div class = "header" >
< p >
Next: < a href = "Readers.html#Readers" accesskey = "n" rel = "next" > Readers< / a > , Previous: < a href = "Sites.html#Sites" accesskey = "p" rel = "prev" > Sites< / a > , Up: < a href = "Programming-Interface.html#Programming-Interface" accesskey = "u" rel = "up" > Programming Interface< / a > [< a href = "index.html#SEC_Contents" title = "Table of contents" rel = "contents" > Contents< / a > ][< a href = "Concept-Index.html#Concept-Index" title = "Index" rel = "index" > Index< / a > ]< / p >
< / div >
< / body >
< / html >