Index: code-docs/snippets-html.scrbl
==================================================================
--- code-docs/snippets-html.scrbl
+++ code-docs/snippets-html.scrbl
@@ -56,14 +56,17 @@
@defproc[(html$-page-head [title (or/c string? #f) #f]) non-empty-string?]
Returns the @tt{
} section of an HTML document.
-@defproc[(html$-page-body-open) non-empty-string?]
+@defproc[(html$-page-body-open [body-class string? ""]) non-empty-string?]
Returns the opening @tt{} and @tt{} tags and elements that immediately follow, such as
site header, logo and navigation.
+
+If @racket[_body-class] is a non-empty string, its contents will be included in the @tt{class}
+attribute of the @tt{} tag.
@defproc[(html$-article-open [pagenode pagenode?]
[title-specified-in-doc? boolean?]
[title txexpr?]
[pubdate string?])
Index: crystalize.rkt
==================================================================
--- crystalize.rkt
+++ crystalize.rkt
@@ -235,11 +235,11 @@
(define (make-article-footertext pagenode series disposition disp-note-id note-count)
(define s-title (series-title))
(define s-noun (series-noun))
(define series-part
(cond [(non-empty-string? s-title)
- (format "This is ~a, part of ‘~a’."
+ (format "This is ~a, part of ‘~a’."
s-noun
series
s-title)]
[else ""]))
(define disp-part
@@ -259,11 +259,11 @@
(format "There is a note appended."
pagenode)]
[else ""]))
(cond [(ormap non-empty-string? (list series-part disp-part notes-part))
- (format "~a ~a ~a" series-part disp-part notes-part)]
+ (string-join (list series-part disp-part notes-part))]
[else ""]))
;; ~~~ Notes ~~~
Index: series/template.html.p
==================================================================
--- series/template.html.p
+++ series/template.html.p
@@ -1,14 +1,14 @@
◊html$-page-head[(select-from-metas 'title metas)]
-◊html$-page-body-open[]
+◊html$-page-body-open["series-page"]
◊(unfence (->html doc #:splice? #t))
◊html$-page-body-close[]
Index: snippets-html.rkt
==================================================================
--- snippets-html.rkt
+++ snippets-html.rkt
@@ -48,12 +48,13 @@
})
-(define (html$-page-body-open)
- ◊string-append{
+(define (html$-page-body-open [class ""])
+ (define body-class (if (non-empty-string? class) (format " class=\"~a\"" class) ""))
+ ◊string-append{
The Local Yarn
})
Index: web-extra/martin.css.pp
==================================================================
--- web-extra/martin.css.pp
+++ web-extra/martin.css.pp
@@ -305,10 +305,15 @@
}
footer.article-info::before {
content: "☞\00a0";
}
+
+ /* Within article info, don’t display series info when on a series page (redundant) */
+ body.series-page .series-part {
+ display: none;
+ }
p.time::before {
content: none;
}