diff --git a/blog/deciding-well-solved/index.html b/blog/deciding-well-solved/index.html index 1de19b4..a615f3d 100644 --- a/blog/deciding-well-solved/index.html +++ b/blog/deciding-well-solved/index.html @@ -2,8 +2,10 @@ - + + + Deciding well is solved. For me. · Robert Blust diff --git a/blog/deciding-well-solved/og.sha b/blog/deciding-well-solved/og.sha index 622307c..c33016c 100644 --- a/blog/deciding-well-solved/og.sha +++ b/blog/deciding-well-solved/og.sha @@ -1 +1 @@ -bd374b662595438d2a64b876e5b5be50461e7bead089ad51c80660101ab023c8 +3274f855772bd4fcf795724a133bd0d12b2b2b4556527921387f8e7605796e79 diff --git a/blog/index.html b/blog/index.html index 76edc19..a90c229 100644 --- a/blog/index.html +++ b/blog/index.html @@ -2,8 +2,10 @@ - + + + Robert Blust — blog diff --git a/blog/og.sha b/blog/og.sha index 11d4d35..d1ddfae 100644 --- a/blog/og.sha +++ b/blog/og.sha @@ -1 +1 @@ -159693450fffd0499d27c4771bd1fef9d4fdea78dc8132077fc431dd9e2fe1e0 +fce80270adc14503fff77ff3140a56d4424a989109ba53c5629e536a19157a34 diff --git a/blog/one-question-answered/index.html b/blog/one-question-answered/index.html index 4cd8892..65be049 100644 --- a/blog/one-question-answered/index.html +++ b/blog/one-question-answered/index.html @@ -2,8 +2,10 @@ - + + + One question answered. One still open. · Robert Blust diff --git a/blog/one-question-answered/og.sha b/blog/one-question-answered/og.sha index cca29a2..06060c9 100644 --- a/blog/one-question-answered/og.sha +++ b/blog/one-question-answered/og.sha @@ -1 +1 @@ -fc05950ec498af33cfe68fe0052ac42617ff4bcb4967ec3071eb751ec45d8b5a +4a6701b8391793f15187417f7bc9ce80cdcf5e222cf1fba5c2ca7b25d24da434 diff --git a/deck.js b/deck.js index 4be611b..3749037 100644 --- a/deck.js +++ b/deck.js @@ -1,4 +1,4 @@ -// @robertblust/design — deck.js, assembled from the shared blocks: theme v5 · runtime v10 · +// @robertblust/design — deck.js, assembled from the shared blocks: theme v6 · runtime v10 · // fit v1. // Editing this file in a site does nothing: the next npm run design overwrites it. @@ -58,6 +58,26 @@ function applyTheme(){ } function setTheme(v){ theme = v; themeRemember(v); applyTheme(); } +/* A page opened from a phone's home screen has Android paint its system bars from the page's + `theme-color`. A page declares that meta with dark's ground, the default, and this keeps it + on the ground of the theme the visitor actually sees. It watches `data-theme` rather than + hooking `applyTheme`, because a page may switch the theme with a copy of its own — blust.ch's + pages do — and the attribute is the one thing every switch sets. The color is read from the + tokens rather than restated here, so a re-picked ground moves the bars with it. A page + without the meta is left as it is. */ +function themeColor(){ + try { + var tc = document.querySelector('meta[name="theme-color"]'); + if (!tc) return; + var g = getComputedStyle(document.documentElement).getPropertyValue("--ground").trim(); + if (g) tc.setAttribute("content", g); + } catch (e) {} +} +themeColor(); +try { + new MutationObserver(themeColor).observe(document.documentElement, { attributes: true, attributeFilter: ["data-theme"] }); +} catch (e) {} + var slides = Array.prototype.slice.call(document.querySelectorAll('.slide')); // slide numbering is zero-based everywhere the viewer can see it: the kicker on each // slide, the transport's display window, and the audio filenames all say the same number. diff --git a/icon-192.png b/icon-192.png new file mode 100644 index 0000000..1932484 Binary files /dev/null and b/icon-192.png differ diff --git a/icon-512.png b/icon-512.png new file mode 100644 index 0000000..61f08af Binary files /dev/null and b/icon-512.png differ diff --git a/icon-maskable-512.png b/icon-maskable-512.png new file mode 100644 index 0000000..8f46ed7 Binary files /dev/null and b/icon-maskable-512.png differ diff --git a/ideas/index.html b/ideas/index.html index 4a60139..eb2edd2 100644 --- a/ideas/index.html +++ b/ideas/index.html @@ -2,8 +2,10 @@ - + + + Ideas — Robert Blust diff --git a/ideas/og.sha b/ideas/og.sha index 5f31ed9..49926a7 100644 --- a/ideas/og.sha +++ b/ideas/og.sha @@ -1 +1 @@ -efb34d150fee15baedbebc1ae578fd7171fdea4e0357534de1d7c80f90ab93d5 +01393f5591b97b8fe31f4d3092560989eca74e4f77b1f307ee2daa1b7a7bcda0 diff --git a/index.html b/index.html index 8689287..b236914 100644 --- a/index.html +++ b/index.html @@ -2,8 +2,10 @@ - + + + Robert Blust — Software Engineer & Architect diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 0000000..19cbeab --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1,14 @@ +{ + "name": "Robert Blust", + "short_name": "Robert Blust", + "start_url": "/", + "scope": "/", + "display": "standalone", + "background_color": "#0C0E13", + "theme_color": "#0C0E13", + "icons": [ + { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" }, + { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }, + { "src": "/icon-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" } + ] +} diff --git a/model/index.html b/model/index.html index babeb4b..e262289 100644 --- a/model/index.html +++ b/model/index.html @@ -2,10 +2,12 @@ - + Model — Robert Blust + + diff --git a/model/og.sha b/model/og.sha index 61045ad..fad55d8 100644 --- a/model/og.sha +++ b/model/og.sha @@ -1 +1 @@ -f5d058c57b8eaf551a82868e0f800b4f484bf1605c84eb216c34b46ba7f0292f +70aad435ddd178da2c75362f76faa0bf9d1d434f544194fd9c36f33e47b6ec5a diff --git a/og.sha b/og.sha index 9a57489..b6c58dd 100644 --- a/og.sha +++ b/og.sha @@ -1 +1 @@ -49b0520b27bf571c8eafd5d34fc33f6a0014f6e543df2de49437efdb31b82c0b +65d2597f4e1a5d9e3a3e455b344da59db0e410054728e59858f8db33db1c4b83 diff --git a/package-lock.json b/package-lock.json index 04e167a..8f3f702 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "companygraph-meta-model": "github:companygraph/meta-model#v0.94.0" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.156.0", + "@robertblust/design": "github:robertblust/design#v0.157.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.69.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0" @@ -95,8 +95,8 @@ } }, "node_modules/@robertblust/design": { - "version": "0.156.0", - "resolved": "git+ssh://git@github.com/robertblust/design.git#e9ae31386c3af4f16cd1f83faa0df5514ff56f6a", + "version": "0.157.0", + "resolved": "git+ssh://git@github.com/robertblust/design.git#fcd879fa7b86610fad28217bafb7df2aa7d1ee05", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 9bd061e..84fe180 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "pin:check": "node pin-check.mjs" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.156.0", + "@robertblust/design": "github:robertblust/design#v0.157.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.69.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0" diff --git a/page.css b/page.css index ee7c5f1..e6498dd 100644 --- a/page.css +++ b/page.css @@ -1,5 +1,5 @@ /* @robertblust/design — page.css, assembled from the shared blocks: reset v3 · link v1 · - header v18 · title v2 · lines v3 · footer v3 · principles v1 · processes v1 · surfaces v2 · + header v18 · title v2 · lines v3 · footer v4 · principles v1 · processes v1 · surfaces v2 · index v2 · home v1. Editing this file in a site does nothing: the next npm run design overwrites it. */ @@ -241,7 +241,7 @@ nav a[aria-current="page"]{color:var(--c-firm)} .keyline{margin:.6rem 0 1.4rem; max-width:54ch; font-size:1.2rem; font-weight:500; line-height:1.45; color:var(--c-firm); text-wrap:balance} -footer{padding:0 0 2rem; display:flex; flex-wrap:wrap; gap:.9rem 2.6rem; align-items:center; +footer{padding:0 0 calc(2rem + env(safe-area-inset-bottom)); display:flex; flex-wrap:wrap; gap:.9rem 2.6rem; align-items:center; font-family:"Plex Mono",monospace; font-size:.76rem; letter-spacing:.08em; color:var(--dim)} footer a[aria-current="page"]{color:var(--c-firm)} diff --git a/page.js b/page.js index 1ade9c2..a030d9b 100644 --- a/page.js +++ b/page.js @@ -1,4 +1,4 @@ -// @robertblust/design — page.js, assembled from the shared blocks: lang v5 · theme v5 · +// @robertblust/design — page.js, assembled from the shared blocks: lang v5 · theme v6 · // navFit v3. // Editing this file in a site does nothing: the next npm run design overwrites it. @@ -136,6 +136,26 @@ function applyTheme(){ } function setTheme(v){ theme = v; themeRemember(v); applyTheme(); } +/* A page opened from a phone's home screen has Android paint its system bars from the page's + `theme-color`. A page declares that meta with dark's ground, the default, and this keeps it + on the ground of the theme the visitor actually sees. It watches `data-theme` rather than + hooking `applyTheme`, because a page may switch the theme with a copy of its own — blust.ch's + pages do — and the attribute is the one thing every switch sets. The color is read from the + tokens rather than restated here, so a re-picked ground moves the bars with it. A page + without the meta is left as it is. */ +function themeColor(){ + try { + var tc = document.querySelector('meta[name="theme-color"]'); + if (!tc) return; + var g = getComputedStyle(document.documentElement).getPropertyValue("--ground").trim(); + if (g) tc.setAttribute("content", g); + } catch (e) {} +} +themeColor(); +try { + new MutationObserver(themeColor).observe(document.documentElement, { attributes: true, attributeFilter: ["data-theme"] }); +} catch (e) {} + (function(){ var root = document.documentElement, bar = document.querySelector(".bar"); // Loud, because the quiet version cost an afternoon. This fence belongs at the end of the diff --git a/principles/index.html b/principles/index.html index b5c2a9d..16ca570 100644 --- a/principles/index.html +++ b/principles/index.html @@ -2,10 +2,12 @@ - + Principles — Robert Blust + + diff --git a/principles/og.sha b/principles/og.sha index dd361e8..577878e 100644 --- a/principles/og.sha +++ b/principles/og.sha @@ -1 +1 @@ -f45905b861b5f56bb3f0ac6491144203cc73a6e6b237d8c6dfafad7bfd84e0b1 +f40876c7addb3c12b0bfa968bc158e23ff76d73830c227b55ce241847e4f81e6 diff --git a/privacy/index.html b/privacy/index.html index e60c0b8..0bd417b 100644 --- a/privacy/index.html +++ b/privacy/index.html @@ -2,10 +2,12 @@ - + Privacy — Robert Blust + + diff --git a/privacy/og.sha b/privacy/og.sha index bafcb97..c83e771 100644 --- a/privacy/og.sha +++ b/privacy/og.sha @@ -1 +1 @@ -7fe64499c47835e939288df92bc1f361a7b5a82b1457756966280895300c5b4a +7e299a2a5f93af2981aa4d3955986d0ee0d75a413853dca0cb089a0aec247bf9 diff --git a/processes/index.html b/processes/index.html index 688bf29..66c7efa 100644 --- a/processes/index.html +++ b/processes/index.html @@ -2,10 +2,12 @@ - + Processes — Robert Blust + + diff --git a/processes/og.sha b/processes/og.sha index e644e88..07a939b 100644 --- a/processes/og.sha +++ b/processes/og.sha @@ -1 +1 @@ -2221bcc0b19df3bb7b73174860ea24a8e7861b5b9dffe65abf28cb8d5189b4de +4afce114c4e16545b9b288a7597f85bb60fd08a7e1ff8f08f36b2f91c5f27622 diff --git a/surfaces/index.html b/surfaces/index.html index 207c791..766130d 100644 --- a/surfaces/index.html +++ b/surfaces/index.html @@ -2,10 +2,12 @@ - + Surfaces — Robert Blust + + diff --git a/surfaces/og.sha b/surfaces/og.sha index 73cd911..4ed149e 100644 --- a/surfaces/og.sha +++ b/surfaces/og.sha @@ -1 +1 @@ -b592f2a14943bcebe661077b4f365787d797a668f19e444d5e5fb3ab5ba7fc36 +c67f6848cca0ce229f405efd5626842b7052fa3f821fe4f0db62861a6d70de05 diff --git a/talks/deciding-well/cost/index.html b/talks/deciding-well/cost/index.html index be1074f..37ea651 100644 --- a/talks/deciding-well/cost/index.html +++ b/talks/deciding-well/cost/index.html @@ -2,10 +2,12 @@ - + What a team would have cost — Robert Blust + + diff --git a/talks/deciding-well/cost/og.sha b/talks/deciding-well/cost/og.sha index f195bad..84d3b81 100644 --- a/talks/deciding-well/cost/og.sha +++ b/talks/deciding-well/cost/og.sha @@ -1 +1 @@ -3b333865ff23a1a27ef5efa792624358fa0ab9c0638c5f215f6de31c8d962b5c +8bec185abb822e06c7f172a220a6cda8df6d65852a00fa57268b3c3f4ece6b53 diff --git a/talks/deciding-well/index.html b/talks/deciding-well/index.html index af02275..9625940 100644 --- a/talks/deciding-well/index.html +++ b/talks/deciding-well/index.html @@ -2,8 +2,10 @@ - + + +