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

Overview
Comment:Add overview to code docs
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: c0e4841edf0fda31afab28f170edc6de186592039ea7f60aee4b9df10caff43b
User & Date: joel on 2019-03-10 04:19:33
Other Links: manifest | tags
Context
2019-03-13
02:39
Tweak CSS styles check-in: 7c1b510b user: joel tags: trunk
2019-03-10
04:19
Add overview to code docs check-in: c0e4841e user: joel tags: trunk
2019-03-09
04:02
Small fixes in crystalize check-in: 0e2c0e7e user: joel tags: trunk
Changes

Modified code-docs/main.scrbl from [4e9953b9] to [052fbd8b].

29
30
31
32
33
34
35

36
37
38
39
40
41
29
30
31
32
33
34
35
36
37
38
39
40
41
42







+






this repo’s “Code Docs” frame, due to the repository’s
@ext-link["https://content-security-policy.com"]{content security policy}. To follow such links,
right-click and open the link in a new tab or window.


@local-table-of-contents[]

@include-section["overview.scrbl"]
@include-section["pollen.scrbl"]  @; pollen.rkt
@include-section["dust.scrbl"]    @; dust.rkt
@include-section["sqlite-tools.scrbl"] @; sqlite-tools.rkt
@include-section["snippets-html.scrbl"] @; you get the idea
@include-section["crystalize.scrbl"]

Added code-docs/overview.scrbl version [d9ff4aa0].










































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#lang scribble/manual

@; Copyright (c) 2019 Joel Dueck
@;
@; Copying and distribution of this file, with or without modification,
@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved.  This file is offered as-is,
@; without any warranty.

@(require "scribble-helpers.rkt"
          racket/runtime-path)

@(require (for-label racket/base))

@title{Overview}

@section{Source Code}

Here’s a rough diagram showing how the @tt{.rkt} modules in this project relate to each other, and
to the Pollen source documents.

@(define-runtime-path source-diagram "source-diagram.png")
@centered{@responsive-retina-image[source-diagram]}

The solid-line connections indicate explicit @racket[require] relationships. Dotted arrows generally
indicate implicit exports in the Pollen environment: docs and metas to templates,
@filepath{pollen.rkt} to source documents and templates. The orange lines highlight the provision
and use of the functions in @filepath{crystalize.rkt}.

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 functions in @filepath{crystalize.rkt} from within
the 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.

This is the least complex system I could devise that can @tt{A)} implement everything I want in my
@wiki{Design and Layout}, @tt{B)} cleanly separate dependencies for print and web output, and
@tt{C)} organize an ever-growing collection of hundreds of individual notes and articles without
noticable loss of speed. 

Modified code-docs/scribble-helpers.rkt from [20648ff4] to [1eef327e].

44
45
46
47
48
49
50






44
45
46
47
48
49
50
51
52
53
54
55
56







+
+
+
+
+
+
             title
             #:style (style #f (list (attributes '((target . "_parent")))))))

(define (ext-link url-str . elems)
  (keyword-apply hyperlink '(#:style) (list (style #f (list (attributes '((target . "_blank")))))) 
         url-str
         elems))

(define (responsive-retina-image img-path)
  (image img-path 
         #:scale 0.5
         #:style (style #f (list (attributes '((style . "max-width:100%;height:auto;")))))))

Added code-docs/source-diagram.png version [707f47d7].

cannot compute difference between binary files