summaryrefslogtreecommitdiff
path: root/docs/site/site.typ
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-10-01 13:43:11 -0300
committerGabriel Schneider <[email protected]>2026-10-01 13:47:24 -0300
commitbbbaf75a6f231475a7b50be7eaadd141d9264215 (patch)
tree6d9db16eba9d64faa48d8761118e1a13fc02ff96 /docs/site/site.typ
parentbac1c62c1905a5ce11a6b630d556bc349041628b (diff)
downloadpardes-bbbaf75a6f231475a7b50be7eaadd141d9264215.tar.gz
pardes-bbbaf75a6f231475a7b50be7eaadd141d9264215.zip
The landing shows each thing once, lists what is in pardes, and the guide opens on an annotated pane
The window shelf drops terminals-are-panes (`landing = false` in clips.toml; the casts show it) and keeps the PDF, image, make, diff and 9P clips. Captions say what happens: the live-text cast renames a variable, runs make and lands on the error; the 9P clip is a shell under 9ns where the session is a directory. Casts stack one per row at the page's width, each showing a frame of itself until it plays. Under the lead, a row of linked chips names what is in pardes: terminals, PDFs, images, language servers, diff review, scripting, themes. Install says how long the first build takes (62 s from a clean cache on 16 cores, measured with the dependencies already fetched), and `project` in style.typ has a `download` slot (url, sha256, arch) install.typ shows once a binary exists. #annotated draws a screenshot with numbered pins and their labels as text beside it; the guide opens with one of the orchard theme's shot: the workspace tag, a column's tag, a pane's tag, the box, the body and the scrollbar, before its glossary. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/site/site.typ')
-rw-r--r--docs/site/site.typ17
1 files changed, 15 insertions, 2 deletions
diff --git a/docs/site/site.typ b/docs/site/site.typ
index e0cd9d4d..787844f5 100644
--- a/docs/site/site.typ
+++ b/docs/site/site.typ
@@ -26,6 +26,16 @@
Bell Labs: #link("https://9p.io/sys/doc/acme/acme.html")[acme]'s text as
the interface, and the 9P protocol.],
status: [Linux; macOS in progress. Version #version.],
+ // what's in it: a word each, linked to where it is told; no prose
+ inside: (
+ ("Terminals", "guide.html#terminals"),
+ ("PDFs", "builtins.html#builtin-PdfSections"),
+ ("Images", "reference.html#panes"),
+ ("Language servers", "setup.html#language-servers"),
+ ("Diff review", "guide.html#reviewing-diffs"),
+ ("Scripting", "scripting.html"),
+ ("Themes", "themes.html"),
+ ),
terminal: [In a terminal],
window: [In its own window],
start: (
@@ -152,7 +162,7 @@
// "</" may not appear inside a script element
let data = json.encode(list, pretty: false).replace("</", "<\\/")
el("script", (src: "player/asciinema-player.min.js"))[]
- el("script")[#("for (const c of " + data + ") { const el = document.getElementById(c.id); el.player = AsciinemaPlayer.create({data: c.data}, el, {cols: c.cols, rows: c.rows, autoPlay: true, loop: true, fit: 'width'}); }")]
+ el("script")[#("for (const c of " + data + ") { const el = document.getElementById(c.id); el.player = AsciinemaPlayer.create({data: c.data}, el, {cols: c.cols, rows: c.rows, autoPlay: true, loop: true, fit: 'width', poster: 'npt:0:2'}); }")]
}
/// Plays a recording while it is on screen and pauses it once it leaves.
@@ -173,6 +183,9 @@
#document(href("index"), title: "pardes", shell("index", "pardes")[
#el("h1", (class: "masthead"))[pardes]
#el("p", (class: "lead"))[#landing.lead]
+ #el("ul", (class: "inside", "aria-label": "What's in it"))[
+ #for (name, to) in landing.inside { el("li")[#el("a", (href: to))[#name]] }
+ ]
#el("p", (class: "credit"))[#landing.credit]
#el("p", (class: "runs"))[#landing.status]
#el("div", (class: "start"))[
@@ -189,7 +202,7 @@
#el("div", (class: "casts"))[#for (i, c) in casts.enumerate() { cast(c, i) }]
#el("h2", (class: "shelf"))[#landing.window]
#el("div", (class: "clips"))[
- #for c in clips {
+ #for c in clips.filter(c => c.at("landing", default: true)) {
el("figure", (class: "clip"))[
#if c.ready { video(c) } else { placeholder }
#el("figcaption")[#c.caption]