@@ -58,15 +58,28 @@ These are project-wide pagetrees: @racket[articles-pagetree] contains a pagenode for every Pollen document contained in @racket[articles-folder], and @racket[series-pagetree] contains a pagenode for every Pollen document in @racket[series-folder]. The pagenodes themselves point to the rendered @tt{.html} targets of the source documents. -@defproc[(here-output-path) path?] +@deftogether[(@defproc[(here-output-path) path?] + @defproc[(here-source-path) path?])]{ + +Returns the path to the current output or source file, relative to @racket[current-project-root]. If +no metas are available, returns @racket[(string->path ".")]. + +For the output path, this is similar to the @tt{here} variable that Pollen provides, except it is +available outside templates. As to the source path, Pollen provides it via the @racket['here-path] +key in the current metas, but it is a full absolute path, rather then relative to +@racket[current-project-root]. + +} + +@defproc[(checked-in?) boolean?]{ + +Returns @racket[#t] if the current article is checked into the Fossil repo, @racket[#f] otherwise. -Returns the path to the current output file, relative to @racket[current-project-root]. If no metas -are available, returns @racket[(string->path ".")]. This is like what you can get from the @tt{here} -variable that Pollen provides, except it is available outside templates. +} @defproc[(here-id [suffix (or/c (listof string?) string? #f) #f]) string?] Returns the 8-character prefix of the SHA1 hash of the current document’s output path. If no metas are available, the hash of @racket[(string->path ".")] is used. If @racket[_suffix] evaluates to