Overview
| Comment: | Fix series caching |
|---|---|
| Timelines: | family | ancestors | descendants | both | deta-refactor |
| Files: | files | file ages | folders |
| SHA3-256: |
624e5e2b7eb85a38c3aef3debb5fe664 |
| User & Date: | joel on 2020-01-13 00:52:40 |
| Other Links: | branch diff | manifest | tags |
Context
|
2020-01-13
| ||
| 01:04 | Fix cache db filename, index page Leaf check-in: e90a714a user: joel tags: deta-refactor | |
| 00:52 | Fix series caching check-in: 624e5e2b user: joel tags: deta-refactor | |
| 00:37 | Fix article+note listing query so date ordering actually works check-in: fc820f2f user: joel tags: deta-refactor | |
Changes
Modified crystalize.rkt from [e20fefa6] to [950c4fe1].
| ︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
pollen/setup)
(require "dust.rkt" "snippets-html.rkt")
(provide init-cache-db!
cache-conn ; The most eligible bachelor in Neo Yokyo
parse-and-cache-article!
current-plain-title
(schema-out cache:article)
(schema-out cache:note)
(schema-out cache:series)
(schema-out cache:index-entry)
articles
articles+notes
| > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
pollen/setup)
(require "dust.rkt" "snippets-html.rkt")
(provide init-cache-db!
cache-conn ; The most eligible bachelor in Neo Yokyo
parse-and-cache-article!
cache-series!
current-plain-title
(schema-out cache:article)
(schema-out cache:note)
(schema-out cache:series)
(schema-out cache:index-entry)
articles
articles+notes
|
| ︙ | ︙ | |||
73 74 75 76 77 78 79 | [listing-excerpt-html string/f] ; Not used for now [listing-short-html string/f])) ; Date and title only (define-schema cache:series #:table "series" ([id id/f #:primary-key #:auto-increment] [page symbol/f] [title string/f] | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | [listing-excerpt-html string/f] ; Not used for now [listing-short-html string/f])) ; Date and title only (define-schema cache:series #:table "series" ([id id/f #:primary-key #:auto-increment] [page symbol/f] [title string/f] [published string/f] [noun-plural string/f] [noun-singular string/f])) (define-schema cache:index-entry #:table "index_entries" ([id id/f #:primary-key #:auto-increment] [entry string/f] [subentry string/f] |
| ︙ | ︙ | |||
389 390 391 392 393 394 395 396 397 |
;; listing functions
(define (unfence html-str)
(regexp-replace* #px"<[\\/]{0,1}style>" html-str ""))
;; Save the current article to the `series` table of the SQLite cache
;; Should be called from a template for series pages
(define (cache-series!)
(query-exec cache-conn
(delete (~> (from cache:series #:as s)
| > | > | | | | | | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 |
;; listing functions
(define (unfence html-str)
(regexp-replace* #px"<[\\/]{0,1}style>" html-str ""))
;; Save the current article to the `series` table of the SQLite cache
;; Should be called from a template for series pages
(define (cache-series!)
(define here-page (path->string (here-output-path)))
(query-exec cache-conn
(delete (~> (from cache:series #:as s)
(where (= s.page ,here-page)))))
(void
(insert-one! cache-conn
(make-cache:series
#:page (string->symbol here-page)
#:title (hash-ref (current-metas) 'title)
#:published (hash-ref (current-metas) 'published "")
#:noun-plural (hash-ref (current-metas) 'noun-plural "")
#:noun-singular (hash-ref (current-metas) 'noun-singular "")))))
|