Overview
Comment: | Implement adding index entries via ‘keywords’ meta |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ecb3576a79b168d95a72f0d6df3420f6 |
User & Date: | joel on 2020-03-15 21:42:54 |
Other Links: | manifest | tags |
Context
2020-03-20
| ||
03:24 | Add and document save-cache-things! check-in: cbaca7d9 user: joel tags: trunk | |
2020-03-15
| ||
21:42 | Implement adding index entries via ‘keywords’ meta check-in: ecb3576a user: joel tags: trunk | |
21:42 | Update keywords in ‘Goodnight, Irene: Scene 1’ check-in: 708efa1d user: joel tags: trunk, errata | |
Changes
Modified cache.rkt from [22c08e42] to [766a00d5].
︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | + + | cache-conn ; The most eligible bachelor in Neo Yokyo (schema-out cache:article) (schema-out cache:note) (schema-out cache:index-entry) (schema-out listing) delete-article! delete-notes! delete-index-entries! save-index-entries! articles articles+notes listing-htmls fenced-listing unfence) ;; Cache DB and Schemas |
︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | + + + + + + + + + | (define (delete-notes! page) (query-exec (cache-conn) (~> (from cache:note #:as n) (where (= n.page ,(format "~a" page))) delete))) (define (delete-index-entries! page) (query-exec (cache-conn) (~> (from cache:index-entry #:as e) (where (= e.page ,(format "~a" page))) delete))) (define (save-index-entries! es) (void (apply insert! (cache-conn) es))) ;; ;; ~~~ Fetching articles and notes ~~~ ;; ;; (Private use) Conveniece function for the WHERE `series-page` clause (define (where-series q s) (define (s->p x) (format "~a/~a.html" series-folder x)) |
︙ |
Modified crystalize.rkt from [7aa92528] to [b135d898].
︙ | |||
237 238 239 240 241 242 243 244 245 246 247 248 | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | + + + + + + + + + + + - - - - - - - + + + + + + + - | (match (split-entry (attr-ref tx 'data-index-entry)) [(list main sub) (make-cache:index-entry #:entry main #:subentry sub #:page pagenode #:html-anchor (attr-ref tx 'id))])) ;; Get index entries out of metas (define (current-metas-keyword-entries pagenode) (for/list ([kw (in-list (string-split (maybe-meta 'keywords "") #px",\\s*"))]) (match (split-entry kw) [(list main sub) (make-cache:index-entry #:entry main #:subentry sub #:page pagenode #:html-anchor "")]))) ;; Save any index entries in doc to the SQLite cache. ;; Sub-entries are specified by "!" in the index key (define (cache-index-entries! pagenode doc) (define-values (_ entry-txs) (splitf-txexpr doc index-entry-txpr?)) |