Index: code-docs/pollen.scrbl ================================================================== --- code-docs/pollen.scrbl +++ code-docs/pollen.scrbl @@ -8,10 +8,11 @@ @; without any warranty. @(require "scribble-helpers.rkt") @(require (for-label "../pollen.rkt" "../dust.rkt" + "../crystalize.rkt" racket/base racket/contract racket/string txexpr pollen/tag @@ -112,10 +113,18 @@ @deftogether[(@defproc[(section [element xexpr?] ...) txexpr?] @defproc[(subsection [element xexpr?] ...) txexpr?])] Create second- and third-level headings, respectively. This is counting the article's title as the first-level header (even if the current article has no title). + +@defproc[(block [element xexpr?] ...) txexpr?] + +A container for content that should appear grouped together on larger displays. Intended for use in +Series pages, where the template is very minimal. You would want output from +@racket[list-short/articles] to appear inside a @racket[block], but you would want output from +@racket[list-full/articles] to appear outside it (since each article effectively supplies its own +block). Only relevant to HTML output. @deftogether[(@defproc[(link [link-id stringish?] [link-text xexpr?]) txexpr?] @defproc[(url [link-id stringish?] [url string?]) void?])] All hyperlinks are specified reference-style. So, to link some text, use the @code{link} tag with Index: pollen.rkt ================================================================== --- pollen.rkt +++ pollen.rkt @@ -111,10 +111,11 @@ (poly-branch-tag url) (poly-branch-tag fn) (poly-branch-tag fndef) (poly-branch-kwargs-tag note) +(poly-branch-tag block) ;; Not yet implemented ; (poly-branch-tag table) ; #:columns "" ; (poly-branch-tag inline-math) ; (poly-branch-tag margin-note) Index: series/template.html.p ================================================================== --- series/template.html.p +++ series/template.html.p @@ -3,18 +3,12 @@ ◊html$-page-head[(select-from-metas 'title metas)] ◊html$-page-body-open[] -
- -

◊(select-from-metas 'title metas)

- ◊(unfence (->html doc #:splice? #t)) -
- ◊html$-page-body-close[] Index: tags-html.rkt ================================================================== --- tags-html.rkt +++ tags-html.rkt @@ -72,10 +72,11 @@ html-section html-subsection html-newthought html-smallcaps html-center + html-block html-blockcode html-verse html-link html-url html-fn @@ -87,10 +88,13 @@ (define html-subsection (default-tag-function 'h3)) (define html-newthought (default-tag-function 'span #:class "newthought")) (define html-smallcaps (default-tag-function 'span #:class "smallcaps")) (define html-center (default-tag-function 'div #:style "text-align: center")) +(define (html-block . elements) + `(section [[class "content-block"]] (div [[class "content-block-main"]] ,@elements))) + (define (html-root . elements) (define first-pass (decode-elements elements #:txexpr-elements-proc decode-hardwrapped-paragraphs #:exclude-tags '(script style figure table pre))) Index: web-extra/martin.css.pp ================================================================== --- web-extra/martin.css.pp +++ web-extra/martin.css.pp @@ -526,31 +526,16 @@ width: 1em; } /* ******* (Mobile first) Journal View styling ******* */ - section.article-listing h2 { - font-weight: normal; - font-style: italic; - font-size: ◊x-lineheight[1]; - margin: 0 0 ◊x-lineheight[0.5] 0; - } - - section.article-listing h2::before { - content: '§\00a0'; - font-family: ◊body-font; - font-style: normal; - color: #d0d0d0; - } - - section.article-listing aside { - margin-bottom: ◊x-lineheight[1]; - font-style: italic; + + section.content-block { } ul.article-list { - margin: 0; + margin-top: ◊x-lineheight[1]; padding: 0; } ul.article-list li { list-style-type: none; @@ -718,32 +703,29 @@ } /* ******* (Grid support) Journal View styling ******* */ - section.article-listing { + section.content-block { display: grid; grid-template-columns: 8rem 7fr 1fr; grid-template-rows: auto auto auto; - grid-template-areas: - ". title title" - "margin main ."; + grid-template-areas: "margin main ."; align-items: start; /* Puts everything at the top */ margin-bottom: 0; grid-column-gap: 1rem; + box-shadow: 0.4em 0.4em 10px #e3e3e3; + background: white; + border: solid 1px #dedede; + border-radius: 2px; + } + div.content-block-main { + padding-top: ◊x-lineheight[1]; + padding-bottom: ◊x-lineheight[1]; + grid-area: main; } - section.article-listing>h2 { - grid-area: title; - } - section.article-listing>aside { - grid-area: margin; - font-size: 0.8rem; - line-height: ◊derive-lineheight[4 #:per-lines 3]; - text-align: right; - color: #6b6b6b; - } - ul.article-list { - grid-area: main; + div.content-block-main > :first-child { + margin-top: 0 !important; } } }