◊(Local Yarn Code "Check-in [1da389c4]")

Overview
Comment:Minor edits to code docs
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 1da389c43ef4999f3fa4c5cbfe5f74686b1ee7837e4382b59ddcadf2b31c2fd7
User & Date: joel on 2020-03-20 03:25:18
Other Links: manifest | tags
Context
2020-03-20
03:43
Add and document ‘magick’ tag function check-in: adf0d96e user: joel tags: trunk
03:25
Minor edits to code docs check-in: 1da389c4 user: joel tags: trunk
03:24
Add and document save-cache-things! check-in: cbaca7d9 user: joel tags: trunk
Changes

Modified code-docs/main.scrbl from [1cad1ba1] to [e1525bab].

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

The modules are arranged vertically: those on the upper rows provide bindings which are used by
those on the lower rows. The bottom row are the @tt{.poly.pm} files that make up @tech{articles} and
@tech{series}.

Individual articles, while they are being rendered to HTML pages, save copies of their metadata and
HTML to the SQLite cache. This is done by calling @racket[parse-and-cache-article!] from within
their template. Likewise, series pages cache themselves with a call to @racket[cache-series!] from
within their template.

Any pages that gather content from multiple articles, such as Series pages and the RSS feed, pull
this content directly from the SQLite cache. This is much faster than trawling through Pollen’s
cached metas of every article looking for matching articles.

@local-table-of-contents[]








<
|







35
36
37
38
39
40
41

42
43
44
45
46
47
48
49

The modules are arranged vertically: those on the upper rows provide bindings which are used by
those on the lower rows. The bottom row are the @tt{.poly.pm} files that make up @tech{articles} and
@tech{series}.

Individual articles, while they are being rendered to HTML pages, save copies of their metadata and
HTML to the SQLite cache. This is done by calling @racket[parse-and-cache-article!] from within

their template. 

Any pages that gather content from multiple articles, such as Series pages and the RSS feed, pull
this content directly from the SQLite cache. This is much faster than trawling through Pollen’s
cached metas of every article looking for matching articles.

@local-table-of-contents[]

Modified code-docs/tour.scrbl from [a54742ec] to [4b80ae52].

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

66
67
68
69
70
71
72
73
74
up we see a basic template ready to edit:

@filebox["articles/my-new-post.poly.pm"
@codeblock|{
#lang pollen
 
◊; Copyright 2020 by Joel Dueck. All Rights Reserved.
◊(define-meta draft #t)
◊(define-meta published "2020-01-18")
 
◊title{My New Post}
 
Write here!
}|]

At this point I might delete the @tt{◊title} line, since specifying a formal title is optional
(other than the one needed to generate the filename). I might also add a @racket[define-meta] for
@tt{series} or @tt{topics}. 

As long as the @racket[define-meta] for @tt{draft} is @racket[#t], the new article will not appear
in the RSS feed, or in the blog or any series pages.


When satisfied with the post I’ll remove the @racket[define-meta] for @tt{draft}, save it one last
time, then go back to the terminal:

@terminal{
@cmd{> make web}
[lots of output: rebuilds blog pages, keyword index, RSS feed]
@cmd{> make publish}
[lots of output: uploads all web content to the server]







|











|
|
>

|







45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
up we see a basic template ready to edit:

@filebox["articles/my-new-post.poly.pm"
@codeblock|{
#lang pollen
 
◊; Copyright 2020 by Joel Dueck. All Rights Reserved.
◊(define-meta conceal "blog,rss")
◊(define-meta published "2020-01-18")
 
◊title{My New Post}
 
Write here!
}|]

At this point I might delete the @tt{◊title} line, since specifying a formal title is optional
(other than the one needed to generate the filename). I might also add a @racket[define-meta] for
@tt{series} or @tt{topics}. 

As long as the @racket[define-meta] for @tt{conceal} contains @racket{rss}, the new article will not
appear in the RSS feed; as long as it contains @racket{blog} it will not appear in the blog. This is
useful for when an article is in a draft state, or simply when you want to keep it semi-hidden.

When satisfied with the post I’ll remove the @racket[define-meta] for @tt{conceal}, save it one last
time, then go back to the terminal:

@terminal{
@cmd{> make web}
[lots of output: rebuilds blog pages, keyword index, RSS feed]
@cmd{> make publish}
[lots of output: uploads all web content to the server]