Overview
Comment: | Move normalize func into dust.rkt |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
dc2a4bd031e4ab5cc9cf3a66f53d5104 |
User & Date: | joel on 2020-03-31 03:45:52 |
Other Links: | manifest | tags |
Context
2020-03-31
| ||
03:49 | Make xref tag more convenient, update code docs check-in: 63baf301 user: joel tags: trunk | |
03:45 | Move normalize func into dust.rkt check-in: dc2a4bd0 user: joel tags: trunk | |
2020-03-24
| ||
03:26 | Style updates for headings, lists, and separators check-in: 34d3bec4 user: joel tags: trunk | |
Changes
Modified code-docs/dust.scrbl from [6b21bda7] to [33008fed].
︙ | ︙ | |||
154 155 156 157 158 159 160 161 162 163 164 165 166 167 | (first-words txs-decimals 5) (first-words txs-punc-and-split-elems 5) (first-words txs-dashes 5) (first-words txs-parens-commas 5) (first-words txs-short 5) ] @section{Article parsers and helpers} @defparam[listing-context ctxt (or/c 'blog 'feed 'print "") #:value ""] A parameter specifying the current context where any listings of articles would appear. Its purpose is to allow articles to exclude themselves from certain special collections (e.g., the blog, the RSS | > > > > > > > > > > > > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | (first-words txs-decimals 5) (first-words txs-punc-and-split-elems 5) (first-words txs-dashes 5) (first-words txs-parens-commas 5) (first-words txs-short 5) ] @defproc[(normalize [str string?]) string?]{ Removes all non-space/non-alphanumeric characters from @racket[_str], converts it to lowercase, and replaces all spaces with hyphens. @examples[#:eval dust-eval (normalize "Why, Hello World!") (normalize "My first-ever 99-argument function, haha") ] } @section{Article parsers and helpers} @defparam[listing-context ctxt (or/c 'blog 'feed 'print "") #:value ""] A parameter specifying the current context where any listings of articles would appear. Its purpose is to allow articles to exclude themselves from certain special collections (e.g., the blog, the RSS |
︙ | ︙ |
Modified dust.rkt from [aa082dfb] to [cb0db902].
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 | web-root articles-folder series-folder images-folder articles-pagetree series-pagetree first-words build-note-id notes->last-disposition-values disposition-values ) (define default-authorname "Joel Dueck") (define series-folder "series") | > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | web-root articles-folder series-folder images-folder articles-pagetree series-pagetree first-words normalize build-note-id notes->last-disposition-values disposition-values ) (define default-authorname "Joel Dueck") (define series-folder "series") |
︙ | ︙ | |||
257 258 259 260 261 262 263 264 265 266 267 268 269 270 | (check-equal? (first-words txs-decimals 5) "Four score and 7.8 years") (check-equal? (first-words txs-punc+split-elems 5) "Stop! she called. She was") (check-equal? (first-words txs-dashes 5) "One and only one. That") (check-equal? (first-words txs-dashes 4) "One and only one.") (check-equal? (first-words txs-parens-commas 5) "She counted one two silently") (check-equal? (first-words txs-short 5) "Not much here!")) ;; Convert, e.g., "* thoroughly recanted" into (values "*" "thoroughly recanted") (define (disposition-values str) (cond [(string=? "" str) (values "" "")] [else (let ([splut (string-split str)]) (values (car splut) (string-join (cdr splut))))])) | > > > > > > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | (check-equal? (first-words txs-decimals 5) "Four score and 7.8 years") (check-equal? (first-words txs-punc+split-elems 5) "Stop! she called. She was") (check-equal? (first-words txs-dashes 5) "One and only one. That") (check-equal? (first-words txs-dashes 4) "One and only one.") (check-equal? (first-words txs-parens-commas 5) "She counted one two silently") (check-equal? (first-words txs-short 5) "Not much here!")) ;; Convert a string into all lowercase, replace all non-alphanum chars with ‘-’ (define (normalize str) (~> (regexp-replace* #rx"[^A-Za-z0-9 ]" str "") string-downcase (string-normalize-spaces #px"\\s+" "-"))) ;; Convert, e.g., "* thoroughly recanted" into (values "*" "thoroughly recanted") (define (disposition-values str) (cond [(string=? "" str) (values "" "")] [else (let ([splut (string-split str)]) (values (car splut) (string-join (cdr splut))))])) |
︙ | ︙ |
Modified util/newpost.rkt from [d7b70e83] to [5a285fa8].
︙ | ︙ | |||
9 10 11 12 13 14 15 | racket/string racket/file racket/system "../dust.rkt") (provide main) | < < < < < | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | racket/string racket/file racket/system "../dust.rkt") (provide main) (define (make-filename basename) (build-path (current-directory) articles-folder (string-append basename ".poly.pm"))) (define (comment . strs) (format "◊; ~a" (apply string-append strs))) (define date-string |
︙ | ︙ |