Overview
Comment: | Add rough home page, finally close [3514e657bf79a443] |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a770b9224b2a81cc7d20b2576409e1b0 |
User & Date: | joel on 2019-07-28 16:36:45 |
Other Links: | manifest | tags |
Context
2019-08-18
| ||
19:17 | Makefile: SQLite file to replace zero-byte file in dependency tree. Also rename spritz → zap check-in: ec9ab7ab user: joel tags: trunk | |
2019-07-28
| ||
16:36 | Add rough home page, finally close [3514e657bf79a443] check-in: a770b922 user: joel tags: trunk | |
16:22 | Link to index.html explicitly in header check-in: 174a0398 user: joel tags: trunk | |
Changes
Added index.html.pp version [b1d87bbc].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 42 43 44 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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #lang pollen ◊(require pollen/template db/base racket/list racket/match) ◊(define (fetch-series) (define q "SELECT noun_plural, pagenode, title FROM series ORDER BY noun_plural DESC") (query-rows (sqltools:dbc) q)) ◊(define (series-item->txpr s) (match-define (list n pagenode title) s) `(li (a [[href ,pagenode]] (i ,title)))) ◊(define (series-grouped-list) ;; Produces '((("noun1" "p.html" "Title") ("noun1" "q.html" "Title")) (("noun2" ...) ...)) (define init-group (group-by first (map vector->list (fetch-series)) string-ci=?)) (define series-list-items (for/list ([group (in-list init-group)]) `(div (h2 ,(first (first group))) (ul ,@(map series-item->txpr group))))) `(section [[class "series-list"] [style "margin-top: 1.3rem"]] ,@series-list-items)) <!DOCTYPE html> <html lang="en"> ◊html$-page-head["The Local Yarn" #f] <style> header#front-page { text-align: center; } header#front-page > div { display: inline-block; width: auto; margin: 0 auto; overflow: hidden; } #front-page h1 { font-feature-settings: "smcp" on; text-transform: lowercase; font-weight: normal; font-size: 2.5em; /* 24fps slide-in from right edge of text, just like in GRAND BUDAPEST HOTEL */ animation: slideFromRight 1s steps(24); } @keyframes slideFromRight { 0% { margin-right: -200%; } 100% { margin-right: 0%; } } #front-page-logo { shape-outside: url(web-extra/mark.svg); filter: brightness(0) saturate(100%) invert(20%) sepia(16%) saturate(903%) hue-rotate(153deg) brightness(93%) contrast(90%); shape-margin: 1rem; float: left; margin-left: -20vw; margin-right: 1rem; z-index: -100; } main { background: transparent; font-size: 1.3em; line-height: 1.2em; } </style> </head> <body style="overflow-x:hidden; hyphens: auto"> <header id="front-page"><div> <h1 class="site-title">The Local Yarn</h1> </div></header> <img id="front-page-logo" src="/web-extra/mark.svg" style="max-width: 60vw; height: auto;"> ◊(define front-page-body ◊root{ is the end of the ◊index{thread} that you can pick or pluck, the forked ribbon tracing into the bookshelf, your own or someone else’s. ◊em{I’ve seen this before} says the voice on the other end. ¶ Everything (almost) is ◊link[1]{arranged in time order, newest first}. There are also a few arranged into named collections: ◊url[1]{/blog-pg1.html} }) ◊(crystalize-index-entries! '|index.html| front-page-body) <main> ◊(->html front-page-body #:splice? #t) ◊(->html (series-grouped-list)) </main> </body> </html> |
Modified makefile from [23ab73ad] to [557f6398].
︙ | ︙ | |||
16 17 18 19 20 21 22 | series-sources := $(wildcard series/*.poly.pm) series-html := $(patsubst %.poly.pm, %.html, $(series-sources)) # ~~~ Rules ~~ # # The order of these dependencies is important. They will be processed left to right. | | > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | series-sources := $(wildcard series/*.poly.pm) series-html := $(patsubst %.poly.pm, %.html, $(series-sources)) # ~~~ Rules ~~ # # The order of these dependencies is important. They will be processed left to right. web: _article_htmls.mark $(articles-html) $(series-html) web: index.html blog-pg1.html keyword-index.html web-extra/martin.css web: ## Rebuild all web content (not PDFs) # The file article_htmls.mark is a zero-byte file that serves only as a marker. If it is older than # any of its dependencies (or missing) all of the articles will be rebuilt. Its dependencies are # also on the Pollen cache watchlist (see pollen.rkt) _article_htmls.mark: $(core-files) $(html-deps) template.html.p raco pollen setup -p articles/ |
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 | # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true # Note that if any article is part of a series, it will touch its series .poly.pm file during its # render, triggering this rule for that series. $(series-html): %.html: %.poly.pm raco pollen render $@ # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true # This target will also rebuild pg2, pg3, etc. as needed blog-pg1.html: $(core-files) $(html-deps) $(articles-html) blog.rkt rm -f blog*.html racket -tm blog.rkt # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no blog*.html || true | > > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true # Note that if any article is part of a series, it will touch its series .poly.pm file during its # render, triggering this rule for that series. $(series-html): %.html: %.poly.pm raco pollen render $@ # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true index.html: $(core-files) $(html-deps) $(series-html) index.html.pp raco pollen render index.html # This target will also rebuild pg2, pg3, etc. as needed blog-pg1.html: $(core-files) $(html-deps) $(articles-html) blog.rkt rm -f blog*.html racket -tm blog.rkt # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no blog*.html || true |
︙ | ︙ |