Overview
| Comment: | Add title-plain for notes; small refactor of note title generation |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
286673cf6040b70dd137560ac89a47af |
| User & Date: | joel on 2019-08-19 21:33:37 |
| Other Links: | manifest | tags |
Context
|
2019-08-19
| ||
| 21:36 | Add RSS feed. Closes [5cca77420922765f] check-in: f06db447 user: joel tags: trunk | |
| 21:33 | Add title-plain for notes; small refactor of note title generation check-in: 286673cf user: joel tags: trunk | |
|
2019-08-18
| ||
| 20:06 | Add notice to index preprocess source check-in: 1346740b user: joel tags: trunk | |
Changes
Modified code-docs/snippets-html.scrbl from [841e7710] to [ca2f5449].
| ︙ | ︙ | |||
91 92 93 94 95 96 97 |
Returns a string of HTML for an article as it would appear in a listing context in “short” form
(date and title only, with link).
@defproc[(html$-page-body-close) non-empty-string?]
Returns a string containing the page’s @tt{<footer>} and closing tags.
| < < < < < < < < < | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
Returns a string of HTML for an article as it would appear in a listing context in “short” form
(date and title only, with link).
@defproc[(html$-page-body-close) non-empty-string?]
Returns a string containing the page’s @tt{<footer>} and closing tags.
@defproc[(html$-note-contents [disposition-mark string?] [elems (listof xexpr?)]) non-empty-string?]
Returns a string containing the body-elements of a note converted to HTML. If
@racket[_disposition-mark] is not empty, a @tt{<span>} containing it will be inserted as the first
element of the first block-level element.
@defproc[(html$-note-listing-full [pagenode pagenode?]
|
| ︙ | ︙ |
Modified crystalize.rkt from [43b9fb1b] to [0131cbe3].
| ︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
listing_excerpt_html ; Not used for now
listing_short_html)) ; Date and title only
(define table_notes-fields
'(pagenode
note_id
title_html_flow
author
author_url
date
disposition
content_html
series_pagenode
listing_full_html
| > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
listing_excerpt_html ; Not used for now
listing_short_html)) ; Date and title only
(define table_notes-fields
'(pagenode
note_id
title_html_flow
title_plain
author
author_url
date
disposition
content_html
series_pagenode
listing_full_html
|
| ︙ | ︙ | |||
316 317 318 319 320 321 322 |
"must be in format \"[symbol] [past-tense-verb]\""
"disposition attr"
disposition-attr))
;; Parse out remaining columns
(define author (maybe-attr 'author attrs default-authorname))
(define note-id (build-note-id note-tx))
| | > > > | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
"must be in format \"[symbol] [past-tense-verb]\""
"disposition attr"
disposition-attr))
;; Parse out remaining columns
(define author (maybe-attr 'author attrs default-authorname))
(define note-id (build-note-id note-tx))
(define title-tx (make-note-title pagenode parent-title-plain))
(define title-html-flow (->html title-tx #:splice? #t))
(define title-plain (tx-strs title-tx))
(define author-url (maybe-attr 'author-url attrs))
(define-values (disp-mark disp-verb) (disposition-values disposition-attr))
(define content-html (html$-note-contents disp-mark disp-verb (get-elements note-tx)))
(define listing-full-html
(html$-note-listing-full pagenode note-id title-html-flow note-date content-html author author-url))
(define note-record
(list pagenode
note-id
title-html-flow
title-plain
author
author-url
note-date
disposition-attr
content-html
(symbol->string (series-pagenode))
listing-full-html
|
| ︙ | ︙ | |||
348 349 350 351 352 353 354 355 356 357 358 359 360 361 |
" AND `note_id` = ?2), ~a)")
(list->sql-fields table_notes-fields)
(list->sql-parameters table_notes-fields)))
(apply query! save-note-query note-record)
;; return html$ of note
(html$-note-in-article note-id note-date content-html author author-url))
(define (article-plain-title pagenode)
(query-value (sqltools:dbc) "SELECT `title_plain` FROM `articles` WHERE `pagenode` = ?1" (symbol->string pagenode)))
;; ~~~ Keyword Index Entries ~~~
;; (private) Convert an entry key into a list of at most two elements,
| > > > > > | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 |
" AND `note_id` = ?2), ~a)")
(list->sql-fields table_notes-fields)
(list->sql-parameters table_notes-fields)))
(apply query! save-note-query note-record)
;; return html$ of note
(html$-note-in-article note-id note-date content-html author author-url))
(define (make-note-title pagenode parent-title-plain)
`(note-title "Re: " (a [[class "cross-reference"]
[href ,(format "~a~a" web-root pagenode)]]
,parent-title-plain)))
(define (article-plain-title pagenode)
(query-value (sqltools:dbc) "SELECT `title_plain` FROM `articles` WHERE `pagenode` = ?1" (symbol->string pagenode)))
;; ~~~ Keyword Index Entries ~~~
;; (private) Convert an entry key into a list of at most two elements,
|
| ︙ | ︙ |
Modified snippets-html.rkt from [1d57c14f] to [2b13836e].
| ︙ | ︙ | |||
17 18 19 20 21 22 23 |
(provide html$-page-head
html$-page-body-open
html$-article-open
html$-article-close
html$-article-listing-short
html$-page-body-close
| < | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
(provide html$-page-head
html$-page-body-open
html$-article-open
html$-article-close
html$-article-listing-short
html$-page-body-close
html$-note-contents
html$-note-listing-full
html$-note-in-article
html$-notes-section
html$-paginate-navlinks)
(define (html$-page-head [title #f] [close-head? #t])
|
| ︙ | ︙ | |||
77 78 79 80 81 82 83 |
(define (html$-page-body-close)
◊string-append{<footer>By Joel Dueck</footer>
</main></body>})
;; Notes
;;
| < < < < < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
(define (html$-page-body-close)
◊string-append{<footer>By Joel Dueck</footer>
</main></body>})
;; Notes
;;
(define (html$-note-contents disposition-mark disposition-verb elems)
(define disposition
(cond [(non-empty-string? disposition-mark)
`(abbr [[class "disposition-mark-in-note"]
[title ,(string-append "The original article is herewith considered "
disposition-verb)]]
,disposition-mark)]
|
| ︙ | ︙ |