Overview
| Comment: | Small fixes and improvements to HTML snippet functions | 
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA3-256: | 
957258233bfd80b3cc3684181a1a694e | 
| User & Date: | joel on 2019-02-23 23:15:00 | 
| Other Links: | manifest | tags | 
Context
| 
   2019-02-23 
 | ||
| 23:16 | Add scribble docs for snippets-html check-in: 8e0002ee user: joel tags: trunk | |
| 23:15 | Small fixes and improvements to HTML snippet functions check-in: 95725823 user: joel tags: trunk | |
| 01:40 | Add docs for sqlite-tools.rkt check-in: 11b31451 user: joel tags: trunk | |
Changes
Modified snippets-html.rkt from [38947f14] to [704d9dde].
| ︙ | ︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 32 33  | 
;;   joel@jdueck.net
;;   https://joeldueck.com
;; -------------------------------------------------------------------------
;; Provides functions for displaying content in HTML templates.
(require pollen/core
         pollen/template
         racket/string
         txexpr
         openssl/sha1
         "dust.rkt")
(provide html$-page-head
         html$-page-body-open
 | >  | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | 
;;   joel@jdueck.net
;;   https://joeldueck.com
;; -------------------------------------------------------------------------
;; Provides functions for displaying content in HTML templates.
(require pollen/core
         pollen/template
         pollen/decode
         racket/string
         txexpr
         openssl/sha1
         "dust.rkt")
(provide html$-page-head
         html$-page-body-open
 | 
| ︙ | ︙ | |||
52 53 54 55 56 57 58  | 
  ◊string-append{<body><main>
 <a href="/"><header>
 <img src="/web-extra/logo.png" height="103" width="129" class="logo">
 <h1>The Local Yarn</h1>
 </header></a>})
(define (html$-article-open title? title-html-flow published)
 | < |  | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87  | 
  ◊string-append{<body><main>
 <a href="/"><header>
 <img src="/web-extra/logo.png" height="103" width="129" class="logo">
 <h1>The Local Yarn</h1>
 </header></a>})
(define (html$-article-open title? title-html-flow published)
  (cond
    [title?
     ◊string-append{<article class="with-title hentry">
      <h1 class="entry-title">◊|title-html-flow|</h1>
      <p class="time"><a href="#" class="rel-bookmark">
      <time datetime="◊published" class="published">◊ymd->english[published]</time>
      </a></p>
      <section class="entry-content">}]
    [else
     ◊string-append{<article class="no-title hentry">
      <h1><a href="#" class="rel-bookmark">
      <time datetime="◊published" class="entry-title">◊ymd->english[published]</time>
      </a></h1>
      <section class="entry-content">}]))
(define (html$-article-close footertext)
  (cond [(non-empty-string? footertext)
         ◊string-append{</section>
          <footer class="article-info"><span class="x">(</span>◊|footertext|<span class="x">)</span></footer>
          </article>}]
        [else "</section></article>"]))
 
(define (html$-page-body-close)
  ◊string-append{<footer>By Joel Dueck</footer>
 </main></body>})
;; Notes
;;
 | 
| ︙ | ︙ | |||
101 102 103 104 105 106 107  | 
  (define-values (first-tag first-attrs first-elems) (txexpr->values (car elems)))
  (define disposition
    (cond [(non-empty-string? disposition-mark)
           `(span [[class "disposition-mark"]] ,disposition-mark)]
          [else ""]))
  (define body-elems
    (cond
 | | |  | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116  | 
  (define-values (first-tag first-attrs first-elems) (txexpr->values (car elems)))
  (define disposition
    (cond [(non-empty-string? disposition-mark)
           `(span [[class "disposition-mark"]] ,disposition-mark)]
          [else ""]))
  (define body-elems
    (cond
      [(block-txexpr? (car elems))
       (cons (txexpr first-tag first-attrs (cons disposition first-elems)) (cdr elems))]
      [else
       (cons disposition elems)]))
  (string-append* (map ->html body-elems)))
(define (html$-note-listing-full pagenode note-id title-html-flow date contents [author default-authorname] [author-url ""])
  (define author-part
    (cond [(non-empty-string? author-url)
 | 
| ︙ | ︙ |