| 
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 | 
Creates and initializes the SQLite database cache file (named @filepath{vitreous.sqlite} and located
in the project root folder) by running queries to create tables in the database if they do not
exist.
}
@section{Retrieving cached data}
Some of this looks a little wacky, but it’s a case of putting a little extra complextity into the
back end to make things simple on the front end. These functions are most commonly used inside the
@emph{body} of a Pollen document (i.e., series pages). 
@filebox["series/my-series.poly.pm"@defproc[(preheat-series!) void?]{Save info about each series in @racket[series-folder] to the cache.} | 
<
<
<
<
<
<
 | 
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 | 
Creates and initializes the SQLite database cache file (named @filepath{vitreous.sqlite} and located
in the project root folder) by running queries to create tables in the database if they do not
exist.
}
@section{Retrieving cached data}
Some of this looks a little wacky, but it’s a case of putting a little extra complextity into the
back end to make things simple on the front end. These functions are most commonly used inside the
@emph{body} of a Pollen document (i.e., series pages). 
@filebox["series/my-series.poly.pm"
 | 
| 
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162 | 
The contents of the style tags are left intact.
Use this in templates with strings returned from @racket[->html] when called on docs that use the
@racket[fenced-listing] tag function.
}
@section{Deleting records}
@deftogether[(@defproc[(delete-article! [page stringish?]) void?]
              @defproc[(delete-notes!   [page stringish?]) void?])]{
              
Delete a particular article, or all notes for a particular article, respectively.@defproc[(series-grouped-list) (listof (listof cache:series?))]{Return a list of lists of all @racket[cache:series] in the cache database. The series are grouped sothat series using the same value in the @tt{noun_plural} column appear together.} | 
<
<
<
<
<
<
<
 | 
136
137
138
139
140
141
142
143
144
145
146
147
148
149
 | 
The contents of the style tags are left intact.
Use this in templates with strings returned from @racket[->html] when called on docs that use the
@racket[fenced-listing] tag function.
}
@section{Deleting records}
@deftogether[(@defproc[(delete-article! [page stringish?]) void?]
              @defproc[(delete-notes!   [page stringish?]) void?])]{
              
Delete a particular article, or all notes for a particular article, respectively.
 | 
| 
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241 | 
                        [listing-full-html    string/f]
                        [listing-excerpt-html string/f]
                        [listing-short-html   string/f])
                       #:constructor-name make-cache:note]{
Table holding cached information on notes.
}
@defstruct*[cache:index-entry ([id id/f]
                               [entry       string/f]
                               [subentry    string/f]
                               [page        symbol/f]
                               [html-anchor string/f])}@defstruct*[cache:series ([id            id/f]                          [page          symbol/f]                          [title         string/f]                          [published     string/f]                          [noun-plural   string/f]                          [noun-singular string/f])                         #:constructor-name make-cache:series]{Table holding cached information on series. | 
<
<
<
<
<
<
<
<
<
<
<
<
 | 
203
204
205
206
207
208
209
210
211
212
213
214
215
216
 | 
                        [listing-full-html    string/f]
                        [listing-excerpt-html string/f]
                        [listing-short-html   string/f])
                       #:constructor-name make-cache:note]{
Table holding cached information on notes.
}
@defstruct*[cache:index-entry ([id id/f]
                               [entry       string/f]
                               [subentry    string/f]
                               [page        symbol/f]
                               [html-anchor string/f])
 |