diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index afb5d7c..a1609c5 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -6,6 +6,9 @@ on: push: branches: [main] +permissions: + contents: read + jobs: check: runs-on: ubuntu-latest diff --git a/astro.config.mjs b/astro.config.mjs index 64f05f6..8c3e9ef 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -12,7 +12,7 @@ export default defineConfig({ title: "Plinth", description: "Open-source platform foundation for enterprise teams running fleets of internal-tooling modules.", - // Wordmark only — Plinth in Spectral Medium reads as a logo of its own. + // Wordmark only — "Plinth" in IBM Plex Sans reads as a logo of its own. // (No image logo file; Starlight falls back to the title text.) favicon: "/favicon.svg", social: [ @@ -26,9 +26,14 @@ export default defineConfig({ baseUrl: "https://github.com/plinth-dev/docs/edit/main/", }, lastUpdated: true, - // OG image lands in Phase F — until then no og:image meta is set - // (better than a 404'd image). Re-enable when /og.png ships. + // og:image lands with the default OG card in Wave 4 once huashu-design + // produces /og-default.png. Until then no og:image is set (better than + // a 404'd image). head: [ + { + tag: "meta", + attrs: { name: "theme-color", content: "#FBFBF9" }, + }, { tag: "link", attrs: { rel: "preconnect", href: "https://fonts.googleapis.com" }, diff --git a/public/tools/sketch-app.html b/public/tools/sketch-app.html index 48470b5..447891e 100644 --- a/public/tools/sketch-app.html +++ b/public/tools/sketch-app.html @@ -38,13 +38,14 @@ overflow: hidden; } .toolbar { - height: var(--toolbar-h); + min-height: var(--toolbar-h); background: var(--bg-soft); border-bottom: 1px solid var(--rule); display: flex; align-items: center; gap: 12px; - padding: 0 16px; + padding: 6px 16px; + flex-wrap: wrap; } .toolbar .group { display: flex; align-items: center; gap: 6px; } .toolbar .group + .group { @@ -52,6 +53,11 @@ padding-left: 16px; border-left: 1px solid var(--rule-firm); } + @media (max-width: 56rem) { + .toolbar .group + .group { + margin-left: 0; padding-left: 0; border-left: none; + } + } .toolbar .lbl { font-family: var(--sans); font-size: 11px; font-weight: 600; @@ -80,13 +86,19 @@ } .toolbar .status .ok { color: var(--accent); } .toolbar .status .err { color: #B43A3A; } + .toolbar .status .ok::before { content: "●"; margin-right: 4px; } + .toolbar .status .err::before { content: "✕"; margin-right: 4px; font-weight: 700; } + .visually-hidden { + position: absolute; width: 1px; height: 1px; overflow: hidden; + clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; + } .editor { display: grid; grid-template-columns: 480px 1fr; height: calc(100vh - var(--toolbar-h)); } @media (max-width: 56rem) { - .editor { grid-template-columns: 1fr; } + .editor { grid-template-columns: 1fr; height: auto; } .pane-edit textarea { min-height: 280px; } } .pane-edit { @@ -139,9 +151,11 @@
- + +