Overview
Comment: | Start using the SQLite cache for series metas |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
829c503ed98259f62e5551c5bf3a7dd7 |
User & Date: | joel on 2019-06-29 21:16:49 |
Other Links: | manifest | tags |
Context
2019-07-04
| ||
18:19 | Add close-head? to page header function check-in: 5fc9abc0 user: joel tags: trunk | |
2019-06-29
| ||
21:16 | Start using the SQLite cache for series metas check-in: 829c503e user: joel tags: trunk | |
2019-06-23
| ||
18:42 | Improve disposition marks in notes check-in: f0e18f94 user: joel tags: trunk | |
Changes
Modified code-docs/crystalize.scrbl from [6c8c6c57] to [85f11db1].
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | my convention of using a prefix of @tt{html$-} for functions that return strings of HTML.} Privately, it does a lot of other work. The article is saved to the SQLite cache. If the article specifies a @racket['series] meta, information about that series is fetched and used in the rendering of the article. If there are @racket[note]s in the doc, they are parsed and saved individually to the SQLite cache. If any of the notes use the @code{#:disposition} attribute, information about the disposition is parsed out and used in the rendering of the article. @deftogether[(@defproc[(list/articles [type (or/c 'listing_full_html 'listing_short_html 'listing_excerpt_html)] [#:series series (or/c string? boolean?) #t] [#:limit limit stringish? -1] [order string? "DESC"]) (listof string?)] @defproc[(list/articles+notes [type (or/c 'listing_full_html | > > > > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | my convention of using a prefix of @tt{html$-} for functions that return strings of HTML.} Privately, it does a lot of other work. The article is saved to the SQLite cache. If the article specifies a @racket['series] meta, information about that series is fetched and used in the rendering of the article. If there are @racket[note]s in the doc, they are parsed and saved individually to the SQLite cache. If any of the notes use the @code{#:disposition} attribute, information about the disposition is parsed out and used in the rendering of the article. @defproc[(crystalize-series!) void?] Saves metas for the current series page in the SQLite cache. Meant to be called from the HTML template for “Series” pages (Pollen documents located in @racket[series-folder]). @deftogether[(@defproc[(list/articles [type (or/c 'listing_full_html 'listing_short_html 'listing_excerpt_html)] [#:series series (or/c string? boolean?) #t] [#:limit limit stringish? -1] [order string? "DESC"]) (listof string?)] @defproc[(list/articles+notes [type (or/c 'listing_full_html |
︙ | ︙ |
Modified crystalize.rkt from [c89fc8e8] to [feaffe0a].
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | "snippets-html.rkt" "dust.rkt") ;; ~~~ Provides ~~~ (provide spell-of-summoning! crystalize-article! article-plain-title list/articles list/articles+notes listing<>-short/articles listing<>-full/articles listing<>-full/articles+notes unfence | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | "snippets-html.rkt" "dust.rkt") ;; ~~~ Provides ~~~ (provide spell-of-summoning! crystalize-article! crystalize-series! article-plain-title list/articles list/articles+notes listing<>-short/articles listing<>-full/articles listing<>-full/articles+notes unfence |
︙ | ︙ | |||
401 402 403 404 405 406 407 | (hash-ref series-metas 'title) (hash-ref series-metas 'published) (hash-ref series-metas 'noun-plural "") (hash-ref series-metas 'noun-singular "")))) (define sql$-insert (make-insert-rows-query 'series table_series-fields series-values)) (displayln sql$-insert) (query! sql$-insert)) | | > > > > > > > > > > | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | (hash-ref series-metas 'title) (hash-ref series-metas 'published) (hash-ref series-metas 'noun-plural "") (hash-ref series-metas 'noun-singular "")))) (define sql$-insert (make-insert-rows-query 'series table_series-fields series-values)) (displayln sql$-insert) (query! sql$-insert)) ;; Save the current article to the `series` table of the SQLite cache ;; Should be called from a template for series pages (define (crystalize-series!) (define series-row (list (path->string (here-output-path)) (hash-ref (current-metas) 'title) (hash-ref (current-metas) 'published "") (hash-ref (current-metas) 'noun-plural "") (hash-ref (current-metas) 'noun-singular ""))) (apply query! (make-insert/replace-query 'series table_series-fields) series-row)) |
Modified series/template.html.p from [2bb23760] to [00a0ebd1].
1 2 | <!DOCTYPE html> <html lang="en"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!DOCTYPE html> <html lang="en"> ◊crystalize-series! ◊html$-page-head[(select-from-metas 'title metas)] ◊html$-page-body-open["series-page"] ◊(unfence (->html doc #:splice? #t)) ◊html$-page-body-close[] </html> |