Skip to content

Commit cd374a5

Browse files
committed
fix: fix 17 broken links — truncated slugs, vt100.net, iTerm2 wiki
Config: fix rewrites stripping -index suffixes from feature slugs (ri-reverse-index, ind-index) Content: vt100.net individual control pages → chapter4.html, vt52-ug → vt52-mm Refs: iTerm2 GitLab wiki → iterm2.com docs, contribute.md CLI path updated
1 parent 24ff7f4 commit cd374a5

5 files changed

Lines changed: 17 additions & 17 deletions

File tree

content/features.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,7 +1153,7 @@
11531153
"scrollback.reverse-index": {
11541154
"name": "Reverse index (RI)",
11551155
"slug": "ri-reverse-index",
1156-
"url": "https://vt100.net/docs/vt510-rm/RI.html",
1156+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
11571157
"tags": ["ecma-48", "vt100"],
11581158
"body": "RI moves the cursor up one line. If the cursor is at the top margin of the scroll region, the content scrolls down and a blank line is inserted at the top. The sequence is <code>ESC M</code>. This is the reverse of a line feed at the bottom of the scroll region. Used by applications that need to insert content above the current cursor position.",
11591159
"probe": "Write 3 lines, move to row 0, send <code>\\x1bM</code> (RI), verify row 0 is now blank.",
@@ -1568,7 +1568,7 @@
15681568
"text.tab": {
15691569
"name": "Tab stops",
15701570
"slug": "ht-tab-stops",
1571-
"url": "https://vt100.net/docs/vt510-rm/HT.html",
1571+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
15721572
"tags": ["ecma-48", "vt100"],
15731573
"body": "HT (Horizontal Tab) advances the cursor to the next tab stop. Default tab stops are set every 8 columns. The tab character (0x09) does not produce visible output — it moves the cursor forward. Tab stops can be set with HTS and cleared with TBC.",
15741574
"probe": "Write tab then \"X\", verify X appears at column 8 (after the default 8-column tab stop).",
@@ -1577,7 +1577,7 @@
15771577
"unicode.tab-stops": {
15781578
"name": "Tab Stops (HT)",
15791579
"slug": "tab-stops",
1580-
"url": "https://vt100.net/docs/vt510-rm/HT.html",
1580+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
15811581
"tags": ["ecma-48", "vt100"],
15821582
"baseline": "core",
15831583
"body": "HT (0x09) advances the cursor to the next tab stop. Default tab stops are at every 8th column. Terminals should support HTS (ESC H) to set custom tab stops and TBC (CSI 3 g) to clear them.",
@@ -1586,7 +1586,7 @@
15861586
"text.cr": {
15871587
"name": "Carriage return",
15881588
"slug": "cr-carriage-return",
1589-
"url": "https://vt100.net/docs/vt510-rm/CR.html",
1589+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
15901590
"tags": ["ecma-48", "vt100"],
15911591
"body": "CR (0x0D) moves the cursor to the beginning of the current line without advancing to the next line. Used in combination with LF for line endings, and on its own for overwriting the current line (e.g., progress bars).",
15921592
"probe": "Write \"AB\\rC\", verify C overwrote A at col 0 while B remains at col 1.",
@@ -1595,7 +1595,7 @@
15951595
"text.newline": {
15961596
"name": "Line feed",
15971597
"slug": "lf-line-feed",
1598-
"url": "https://vt100.net/docs/vt510-rm/LF.html",
1598+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
15991599
"tags": ["ecma-48", "vt100"],
16001600
"body": "LF (0x0A) moves the cursor down one line. If the cursor is at the bottom of the scroll region, the content scrolls up and a blank line appears at the bottom. On most terminals, LF also performs an implicit carriage return (moves to column 1), though the VT100 specification treats LF as vertical movement only.",
16011601
"probe": "Write \"A\\r\\nB\", verify A is at cell (0,0) and B is at cell (1,0).",
@@ -1635,7 +1635,7 @@
16351635
"baseline": "core",
16361636
"body": "RI (ESC M) at the top of the scroll region scrolls the entire region down, inserting a blank line at the top. This is the inverse of a newline at the bottom of the scroll region. Used for smooth scrolling and status line implementations.",
16371637
"probe": "Set scroll region, write text at top row, send Reverse Index (<code>ESC M</code>), verify content shifted down by one line.",
1638-
"url": "https://vt100.net/docs/vt510-rm/RI.html"
1638+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html"
16391639
},
16401640
"text.overwrite": {
16411641
"name": "Overwrite at cursor",
@@ -1849,7 +1849,7 @@
18491849
"device.term-features": {
18501850
"name": "Feature Reporting (TERM_FEATURES)",
18511851
"slug": "term-features",
1852-
"url": "https://gitlab.com/gnachman/iterm2/-/wikis/TERM_FEATURES",
1852+
"url": "https://iterm2.com/documentation-escape-codes.html",
18531853
"tags": ["iterm2"],
18541854
"baseline": "rich",
18551855
"body": "TERM_FEATURES is an environment variable proposed by iTerm2 for terminals to advertise their capabilities as a semicolon-delimited list of capability strings. Unlike escape-sequence-based detection, this approach allows applications to check capabilities without TTY I/O, making it suitable for non-interactive contexts. Adoption remains limited as most terminals prefer escape-sequence-based feature reporting.",

content/terminals.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
"vt52-historical": {
9898
"label": "DEC VT52",
9999
"slug": "vt52-historical",
100-
"url": "https://vt100.net/docs/vt52-ug/",
100+
"url": "https://vt100.net/docs/vt52-mm/",
101101
"description": "DEC's pre-ANSI terminal. Proprietary escape sequences predating ECMA-48. DEC, 1975.",
102102
"body": "<p>The <strong>DEC VT52</strong>, released in 1975, was Digital Equipment Corporation's first video terminal with cursor addressing — a breakthrough that replaced hardcopy printing terminals with screen-based interaction. Designed by DEC's terminal engineering group in Maynard, Massachusetts, it sold for approximately $1,200 and became widely used in universities, labs, and offices running DEC's PDP and VAX systems.</p>\n<p>The VT52 used a <strong>proprietary escape sequence language</strong> predating the ECMA-48 (ANSI) standard. Cursor movement used <code>ESC A</code>/<code>B</code>/<code>C</code>/<code>D</code> (up/down/right/left), direct addressing used <code>ESC Y</code> followed by row and column bytes, and the screen could be cleared with <code>ESC H ESC J</code>. This language was simpler than ANSI sequences but fundamentally incompatible — no CSI introducer, no parameters, no semicolons.</p>\n<p>The VT52's <strong>80-column, 24-line display</strong> established the screen geometry the VT100 would later standardize for decades. Many terminal emulators still include a VT52 compatibility mode (xterm's <code>DECANM</code> toggle), and its escape codes surface in legacy systems, CP/M software, and early Unix ports. The VT52 was the stepping stone: its commercial success convinced DEC to invest in the VT100, which adopted the new ANSI standard and changed computing forever.</p>",
103103
"platforms": [],

docs/.vitepress/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ export default defineConfig({
431431
const rel = pageData.relativePath
432432

433433
// Canonical URL (cleanUrls: true — no .html extension)
434-
const cleanPath = rel.replace(/index\.md$/, "").replace(/\.md$/, "")
434+
const cleanPath = rel.replace(/(^|\/)index\.md$/, "$1").replace(/\.md$/, "")
435435
const canonicalUrl = `https://terminfo.dev/${cleanPath}`
436436
pageData.frontmatter.head ??= []
437437
pageData.frontmatter.head.push(["link", { rel: "canonical", href: canonicalUrl }])

docs/contribute.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ npx terminfo.dev detect # Check what terminal was detected
4848

4949
Everything is open source ([CC BY 4.0](https://github.com/beorn/terminfo.dev)):
5050

51-
- [CLI source](https://github.com/beorn/terminfo.dev/tree/main/cli) — what `npx` runs
51+
- [CLI source](https://github.com/beorn/terminfo.dev/tree/main/packages/terminfo.dev) — what `npx` runs
5252
- [Probe definitions](https://github.com/beorn/terminfo.dev/tree/main/packages/probes) — the feature tests
5353
- [npm package](https://www.npmjs.com/package/terminfo.dev)`terminfo.dev` on npm
5454

docs/public/api/v1/data.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@
254254
"name": "Feature Reporting (TERM_FEATURES)",
255255
"category": "device",
256256
"slug": "term-features",
257-
"url": "https://gitlab.com/gnachman/iterm2/-/wikis/TERM_FEATURES",
257+
"url": "https://iterm2.com/documentation-escape-codes.html",
258258
"tags": ["iterm2"],
259259
"baseline": "rich"
260260
},
@@ -1547,7 +1547,7 @@
15471547
"name": "Reverse index (RI)",
15481548
"category": "scrollback",
15491549
"slug": "ri-reverse-index",
1550-
"url": "https://vt100.net/docs/vt510-rm/RI.html",
1550+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
15511551
"tags": ["ecma-48", "vt100"],
15521552
"baseline": "core"
15531553
},
@@ -1882,7 +1882,7 @@
18821882
"name": "Carriage return",
18831883
"category": "text",
18841884
"slug": "cr-carriage-return",
1885-
"url": "https://vt100.net/docs/vt510-rm/CR.html",
1885+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
18861886
"tags": ["ecma-48", "vt100"],
18871887
"baseline": "core"
18881888
},
@@ -1906,7 +1906,7 @@
19061906
"name": "Line feed",
19071907
"category": "text",
19081908
"slug": "lf-line-feed",
1909-
"url": "https://vt100.net/docs/vt510-rm/LF.html",
1909+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
19101910
"tags": ["ecma-48", "vt100"],
19111911
"baseline": "core"
19121912
},
@@ -1929,15 +1929,15 @@
19291929
"name": "Reverse Index at Scroll Top",
19301930
"category": "text",
19311931
"slug": "reverse-index-scroll",
1932-
"url": "https://vt100.net/docs/vt510-rm/RI.html",
1932+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
19331933
"tags": ["vt100"],
19341934
"baseline": "core"
19351935
},
19361936
"text.tab": {
19371937
"name": "Tab stops",
19381938
"category": "text",
19391939
"slug": "ht-tab-stops",
1940-
"url": "https://vt100.net/docs/vt510-rm/HT.html",
1940+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
19411941
"tags": ["ecma-48", "vt100"],
19421942
"baseline": "core"
19431943
},
@@ -2016,7 +2016,7 @@
20162016
"name": "Tab Stops (HT)",
20172017
"category": "unicode",
20182018
"slug": "tab-stops",
2019-
"url": "https://vt100.net/docs/vt510-rm/HT.html",
2019+
"url": "https://vt100.net/docs/vt510-rm/chapter4.html",
20202020
"tags": ["ecma-48", "vt100"],
20212021
"baseline": "core"
20222022
},

0 commit comments

Comments
 (0)