◊(Local Yarn Code "Check-in [aaa8d600]")

Overview
Comment:Use metas?
Timelines: family | ancestors | cache-faster
Files: files | file ages | folders
SHA3-256: aaa8d600828bcf39d54066d40d4330a47f90bad7a5e680dfccfb18f8075657e7
User & Date: joel on 2021-02-14 03:14:32
Other Links: branch diff | manifest | tags
Context
2021-02-14
03:14
Use metas? Leaf check-in: aaa8d600 user: joel tags: cache-faster
2020-07-03
20:59
A start on improving build times check-in: 4b2c827f user: joel tags: cache-faster
Changes

Modified dust.rkt from [cb0db902] to [831cdf23].

19
20
21
22
23
24
25

26
27
28
29
30
31
32
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33







+







         racket/system
         racket/string)

;; Provides common helper functions used throughout the project

(provide maybe-meta     ; Select from (current-metas) or default value ("") if not available
         maybe-attr     ; Return an attribute’s value or a default ("") if not available
         set-meta!
         here-output-path
         here-source-path
         here-id
         listing-context
         current-series-noun    ; Retrieve noun-singular from current 'series meta, or #f
         current-series-title   ; Retrieve title of series in current 'series meta, or #f
         current-series-pagenode
60
61
62
63
64
65
66





67
68
69
70
71
72
73
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79







+
+
+
+
+







(define (default-title body-txprs)
  (format "“~a…”" (first-words body-txprs 5)))

(define (maybe-meta m [missing ""])
  (cond [(current-metas) (or (select-from-metas m (current-metas)) missing)]
        [else missing]))

(define (set-meta! key v)
  (define cur-metas (current-metas))
  (and cur-metas
       (current-metas (hash-set! cur-metas key v))))

;; Return the current source path, relative to (current-project-root)
(define (here-source-path)
  (match (current-metas)
    [(? hash? m)
     (define-values (_ rel-path-parts)
       (drop-common-prefix (explode-path (current-project-root))
                           (explode-path (string->path (hash-ref m 'here-path)))))

Modified tags-html.rkt from [88b1006b] to [6a584dcf].

108
109
110
111
112
113
114
115
116
117











118
119
120
121
122
123
124
108
109
110
111
112
113
114



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132







-
-
-
+
+
+
+
+
+
+
+
+
+
+







  (define second-pass
    (decode-elements first-pass
                     #:block-txexpr-proc detect-newthoughts
                     #:inline-txexpr-proc decode-link-urls
                     #:exclude-tags '(script style pre code)))
  `(body ,@second-pass))

(define (html-title . elements) `(title ,@elements))
(define (html-excerpt . elements) `(excerpt ,@elements))
(define (html-excerpt* . elements) `(excerpt* ,@elements))
(define (html-title . elements)
  (set-meta! 'title elements)
  `(title ,@elements))

(define (html-excerpt . elements)
  (set-meta! 'excerpt elements)
  "")

(define (html-excerpt* . elements)
  (set-meta! 'excerpt elements)
  `(@ ,@elements))

(define (html-blockcode attrs elems)
  (define file (or (assoc 'filename attrs) ""))
  (define codeblock `(pre [[class "code"]] (code ,@elems)))
  (cond [(string>? file "") `(@ (div [[class "listing-filename"]] 128196 " " ,file) ,codeblock)]
        [else codeblock]))