asw-v01: archive deferred content (packs, site, lab, legacy examples)

- 2.1: packs/ -> archive/packs/
- 2.2: site/ -> archive/site/
- 2.3: src/lab/ -> archive/lab/
- 2.4: examples/ -> archive/examples-legacy/ (SSI-based)
This commit is contained in:
exe.dev user 2026-06-07 10:39:21 +02:00
parent 416fe2f180
commit e47a9f4401
173 changed files with 11 additions and 5 deletions

View file

@ -0,0 +1,58 @@
---
title: "Diff"
description: "Render structured diffs with line-level semantic markup — added, removed, context, hunk."
section: notes
prev-url: "status/"
prev-title: "Status"
next-url: "session/"
next-title: "Session Log"
type: notes
date: 2026-04-09
tags: ["notes", "diff", "reference"]
ai-disclosure: "generated"
ai-model: "claude-sonnet-4-5"
ai-provider: "Anthropic"
---
## Overview
Use `data-diff` on a `<pre>` block to render a structured diff. Child elements carry line-level semantics.
```html
<pre data-diff>
<span data-line="hunk">@@ -12,7 +12,9 @@</span>
<span data-line="context"> function greet(name) {</span>
<span data-line="removed">- return "Hello " + name;</span>
<span data-line="added">+ const greeting = `Hello, ${name}!`;</span>
<span data-line="added">+ return greeting;</span>
<span data-line="context"> }</span>
</pre>
```
## Line Types
| Value | Meaning |
|-------|---------|
| `hunk` | Hunk header (`@@ ... @@`) — muted, italic |
| `context` | Unchanged surrounding line — default text |
| `removed` | Deleted line — red background, `-` prefix |
| `added` | New line — green background, `+` prefix |
## Inline Diffs
For single-value changes in prose, use `data-diff` directly on `<del>` and `<ins>`:
```html
<p>
Latency changed from
<del data-diff="removed">240ms</del>
to
<ins data-diff="added">18ms</ins>
after the index rebuild.
</p>
```
## Notes
The `data-diff` block expects monospace rendering. ASW applies `font-family: var(--asw-font-mono)` automatically — no additional class needed.