diff --git a/bin/extract_vtfeatures.js b/bin/extract_vtfeatures.js
index 51630a62..7b77639d 100644
--- a/bin/extract_vtfeatures.js
+++ b/bin/extract_vtfeatures.js
@@ -33,10 +33,14 @@ const TYPES = [
];
const MARKDOWN_TMPL = `
+{::options parse_block_html="true" /}
+
xterm.js version: {{version}}
## Table of Contents
+
+
+
## General notes
This document lists xterm.js' support of terminal sequences. The sequences are grouped by their sequence type:
@@ -82,22 +89,27 @@ To denote the sequences the tables use the same abbreviations as xterm does:
ASCII printables are specified to work. Additionally the parser will let pass any codepoint greater than C1 as printable.
+
{{#C0.length}}
## C0
| Mnemonic | Name | Sequence | Short Description | Support |
| -------- | ---- | -------- | ----------------- | ------- |
{{#C0}}
-| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/C0}}
{{#C0.hasLongDescriptions}}
{{#C0}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/C0}}
{{/C0.hasLongDescriptions}}
@@ -111,16 +123,20 @@ To denote the sequences the tables use the same abbreviations as xterm does:
| Mnemonic | Name | Sequence | Short Description | Support |
| -------- | ---- | -------- | ----------------- | ------- |
{{#C1}}
-| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/C1}}
{{#C1.hasLongDescriptions}}
{{#C1}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/C1}}
{{/C1.hasLongDescriptions}}
@@ -134,16 +150,20 @@ To denote the sequences the tables use the same abbreviations as xterm does:
| Mnemonic | Name | Sequence | Short Description | Support |
| -------- | ---- | -------- | ----------------- | ------- |
{{#CSI}}
-| {{mnemonic}} | {{name}} | \`\`{{{sequence}}}\`\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | {{name}} | \`\`{{{sequence}}}\`\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/CSI}}
{{#CSI.hasLongDescriptions}}
{{#CSI}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/CSI}}
{{/CSI.hasLongDescriptions}}
@@ -157,16 +177,20 @@ To denote the sequences the tables use the same abbreviations as xterm does:
| Mnemonic | Name | Sequence | Short Description | Support |
| -------- | ---- | -------- | ----------------- | ------- |
{{#DCS}}
-| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/DCS}}
{{#DCS.hasLongDescriptions}}
{{#DCS}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/DCS}}
{{/DCS.hasLongDescriptions}}
@@ -180,16 +204,20 @@ To denote the sequences the tables use the same abbreviations as xterm does:
| Mnemonic | Name | Sequence | Short Description | Support |
| -------- | ---- | -------- | ----------------- | ------- |
{{#ESC}}
-| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | {{name}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/ESC}}
{{#ESC.hasLongDescriptions}}
{{#ESC}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/ESC}}
{{/ESC.hasLongDescriptions}}
@@ -205,21 +233,87 @@ To denote the sequences the tables use the same abbreviations as xterm does:
| Identifier | Sequence | Short Description | Support |
| ---------- | -------- | ----------------- | ------- |
{{#OSC}}
-| {{mnemonic}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}})_{{/longDescription.length}} | {{{status}}} |
+| {{mnemonic}} | \`{{sequence}}\` | {{{shortDescription}}} {{#longDescription.length}}_[more](#{{longTarget}}){: .link-details}_{{/longDescription.length}} | {{{status}}} |
{{/OSC}}
{{#OSC.hasLongDescriptions}}
{{#OSC}}
{{#longDescription.length}}
+
+
### {{name}}
{{#longDescription}}
{{{.}}}
{{/longDescription}}
+
+
{{/longDescription.length}}
{{/OSC}}
{{/OSC.hasLongDescriptions}}
{{/OSC.length}}
+
+
`
// support status marcos
@@ -232,9 +326,9 @@ const MACRO = [
// #N - unsupported
[/#N/g, s => '✗'],
// #P[reason] - partial support with a reason as title
- [/#P\[(.*?)\]/g, (s, p1) => `Partial`],
+ [/#P\[(.*?)\]/g, (s, p1) => `Partial`],
// #B[reason] - supported but broken in a certain way, reason in title
- [/#B\[(.*?)\]/g, (s, p1) => `Broken`]
+ [/#B\[(.*?)\]/g, (s, p1) => `Broken`]
];
function applyMacros(s) {