@terra-symposium/docs 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/bin/terra-docs.mjs +79 -22
- package/dist/lib/components/LocalDocsWorkspace.js +21 -21
- package/dist/lib/components/LocalDocsWorkspace.js.map +1 -1
- package/dist/lib/components/blocks.d.ts.map +1 -1
- package/dist/lib/components/blocks.js +53 -36
- package/dist/lib/components/blocks.js.map +1 -1
- package/dist/lib/components/navigation.js +1 -1
- package/dist/lib/components/navigation.js.map +1 -1
- package/dist/lib/components/quiz-demo-fixture.d.ts +23 -0
- package/dist/lib/components/quiz-demo-fixture.d.ts.map +1 -0
- package/dist/lib/components/quiz-demo-fixture.js +22 -0
- package/dist/lib/components/quiz-demo-fixture.js.map +1 -0
- package/dist/lib/components/quiz.d.ts +1 -1
- package/dist/lib/components/quiz.d.ts.map +1 -1
- package/dist/lib/components/quiz.js +51 -35
- package/dist/lib/components/quiz.js.map +1 -1
- package/dist/lib/components/terra/Workspace.js +12 -12
- package/dist/lib/components/terra/Workspace.js.map +1 -1
- package/dist/lib/components/terra/editor/ContentEditor.d.ts.map +1 -1
- package/dist/lib/components/terra/editor/ContentEditor.js +34 -36
- package/dist/lib/components/terra/editor/ContentEditor.js.map +1 -1
- package/dist/lib/components/terra/editor/_blocks.js +6 -6
- package/dist/lib/components/terra/editor/_blocks.js.map +1 -1
- package/dist/lib/components/terra/editor/docs/BlockContext.js +12 -12
- package/dist/lib/components/terra/editor/docs/BlockContext.js.map +1 -1
- package/dist/lib/components/terra/editor/docs/DocsAttachmentPicker.js +6 -6
- package/dist/lib/components/terra/editor/docs/DocsAttachmentPicker.js.map +1 -1
- package/dist/lib/components/terra/editor/docs/TerraToolbar.js +1 -1
- package/dist/lib/components/terra/editor/docs/TerraToolbar.js.map +1 -1
- package/dist/lib/components/terra/editor/docs/_CodeBlock.js +10 -10
- package/dist/lib/components/terra/editor/docs/_CodeBlock.js.map +1 -1
- package/dist/lib/components/terra/editor/terra-content.styles.d.ts +1 -1
- package/dist/lib/components/terra/editor/terra-content.styles.d.ts.map +1 -1
- package/dist/lib/components/terra/editor/terra-content.styles.js +1 -1
- package/dist/lib/components/terra/editor/terra-content.styles.js.map +1 -1
- package/dist/lib/components/terra/flow/Nodes.js +7 -7
- package/dist/lib/components/terra/flow/Nodes.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_attachments.d.ts.map +1 -1
- package/dist/lib/components/terra/pages/docs/_attachments.js +11 -11
- package/dist/lib/components/terra/pages/docs/_attachments.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_blocks.js +2 -2
- package/dist/lib/components/terra/pages/docs/_blocks.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_editable.d.ts.map +1 -1
- package/dist/lib/components/terra/pages/docs/_editable.js +2 -2
- package/dist/lib/components/terra/pages/docs/_editable.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_main.d.ts.map +1 -1
- package/dist/lib/components/terra/pages/docs/_main.js +48 -16
- package/dist/lib/components/terra/pages/docs/_main.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_sidebar.js +1 -1
- package/dist/lib/components/terra/pages/docs/_toc.js +1 -1
- package/dist/lib/components/terra/pages/docs/_toc.js.map +1 -1
- package/dist/lib/components/terra/pages/docs/_toolbar.js +1 -1
- package/dist/lib/components/terra/pages/docs/_toolbar.js.map +1 -1
- package/dist/lib/components/workspace-demo-fixture.d.ts.map +1 -1
- package/dist/lib/components/workspace-demo-fixture.js +51 -53
- package/dist/lib/components/workspace-demo-fixture.js.map +1 -1
- package/dist/lib/lib/host-runtime.js +3 -3
- package/dist/lib/lib/host-runtime.js.map +1 -1
- package/dist/lib/lib/host.d.ts +1 -1
- package/dist/lib/lib/host.d.ts.map +1 -1
- package/dist/lib/lib/markdown-model.d.ts.map +1 -1
- package/dist/lib/lib/markdown-model.js +106 -107
- package/dist/lib/lib/markdown-model.js.map +1 -1
- package/dist/lib/lib/markdown.js +4 -4
- package/dist/lib/lib/markdown.js.map +1 -1
- package/dist/lib/lib/terra/custom-components.d.ts +1 -1
- package/dist/lib/lib/terra/custom-components.d.ts.map +1 -1
- package/dist/lib/lib/terra/custom-components.js +2 -2
- package/dist/lib/lib/terra/custom-components.js.map +1 -1
- package/dist/lib/lib/terra/docs/editor-dom.d.ts.map +1 -1
- package/dist/lib/lib/terra/docs/editor-dom.js +2 -2
- package/dist/lib/lib/terra/docs/editor-dom.js.map +1 -1
- package/dist/lib/lib/terra/docs/workspace.d.ts +14 -12
- package/dist/lib/lib/terra/docs/workspace.d.ts.map +1 -1
- package/dist/lib/lib/terra/docs/workspace.js +5 -5
- package/dist/lib/lib/terra/docs/workspace.js.map +1 -1
- package/dist/lib/lib/terra/runtime/action-proxy.d.ts +1 -1
- package/dist/lib/lib/terra/runtime/action-proxy.d.ts.map +1 -1
- package/dist/lib/lib/terra/runtime/action-proxy.js +2 -2
- package/dist/lib/lib/terra/runtime/action-proxy.js.map +1 -1
- package/dist/lib/lib/terra/runtime/content/markdown.d.ts +0 -7
- package/dist/lib/lib/terra/runtime/content/markdown.d.ts.map +1 -1
- package/dist/lib/lib/terra/runtime/content/markdown.js +0 -7
- package/dist/lib/lib/terra/runtime/content/markdown.js.map +1 -1
- package/dist/lib/lib/terra/runtime/nodes.js +3 -3
- package/dist/lib/lib/terra/runtime/nodes.js.map +1 -1
- package/dist/lib/lib/terra/runtime/runtime.d.ts +1 -2
- package/dist/lib/lib/terra/runtime/runtime.d.ts.map +1 -1
- package/dist/lib/lib/terra/runtime/runtime.js +3 -8
- package/dist/lib/lib/terra/runtime/runtime.js.map +1 -1
- package/dist/lib/lib/terra/runtime/shared.d.ts.map +1 -1
- package/dist/lib/lib/terra/runtime/shared.js +6 -6
- package/dist/lib/lib/terra/runtime/shared.js.map +1 -1
- package/dist/lib/style.css +2 -2
- package/package.json +8 -12
- package/site/docs-content-plugin.mjs +4 -1
- package/site/src/components/QuizDemo.tsx +62 -0
- package/site/src/lib/catalog.ts +11 -1
- package/site/src/pages/[...slug].astro +3 -9
- package/site/src/pages/quiz-demo.astro +50 -0
- package/src/components/navigation.tsx +2 -2
- package/src/components/quiz-demo-fixture.ts +23 -0
- package/bin/generate-skills.mjs +0 -186
- package/site/src/components/SkillsExplorer.tsx +0 -236
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Docs is the shared Terra documentation workspace and Markdown site generator. A
|
|
|
4
4
|
|
|
5
5
|
## Create a repository Docs site
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Copy the [Docs starter files](https://github.com/Terra-Symposium/docs/tree/development/template) into a repository, or install the package in an existing repository:
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
10
|
pnpm add -D @terra-symposium/docs
|
|
@@ -19,6 +19,8 @@ pnpm exec terra-docs build
|
|
|
19
19
|
|
|
20
20
|
The package creates the routes, navigation, Terra workspace, search index, and 404 page. `docs/index.md` is the home page; nested directories group navigation. `.mdx` files can import interactive examples. Optional `title`, `description`, `hue`, and `sidebar` frontmatter are available when needed. Build output defaults to `dist/docs/`.
|
|
21
21
|
|
|
22
|
+
Move the full agent tree into `docs/agents/`. `SKILL.md` files there route as the index page for their folder, so the complete tree uses normal Docs navigation, search, and asset handling. The Agents section is included by default. Set `terraDocs.includeAgents` to `false` in the repository's `package.json`, or pass `--agents false`, to hide it for one Docs instance.
|
|
23
|
+
|
|
22
24
|
Configure a deployment base path with `--base /project-docs/`, and optionally set `--site`, `--title`, and `--description`. Each repository builds its own site; the starter CI checks builds and leaves deployment to the repository owner.
|
|
23
25
|
|
|
24
26
|
## Create an instance
|
package/bin/terra-docs.mjs
CHANGED
|
@@ -7,9 +7,8 @@ IMPORTS
|
|
|
7
7
|
// API
|
|
8
8
|
import { copyFile, mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises';
|
|
9
9
|
import { createRequire } from 'node:module';
|
|
10
|
-
import { dirname, extname, join, relative, resolve } from 'node:path';
|
|
10
|
+
import { dirname, extname, join, relative, resolve, sep } from 'node:path';
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
|
-
import { generateSkillsIndex } from './generate-skills.mjs';
|
|
13
12
|
import { parse } from 'yaml';
|
|
14
13
|
import { spawn } from 'node:child_process';
|
|
15
14
|
import { watch } from 'node:fs';
|
|
@@ -28,14 +27,49 @@ const mode = process.argv[2];
|
|
|
28
27
|
const root = resolve(process.cwd());
|
|
29
28
|
const options = new Map();
|
|
30
29
|
const passthrough = [];
|
|
30
|
+
for (let index = 3; index < process.argv.length; index += 1) {
|
|
31
|
+
const argument = process.argv[index];
|
|
32
|
+
if (
|
|
33
|
+
[
|
|
34
|
+
'--title',
|
|
35
|
+
'--description',
|
|
36
|
+
'--site',
|
|
37
|
+
'--base',
|
|
38
|
+
'--out',
|
|
39
|
+
'--port',
|
|
40
|
+
'--host',
|
|
41
|
+
'--skills',
|
|
42
|
+
'--agents',
|
|
43
|
+
].includes(argument)
|
|
44
|
+
) {
|
|
45
|
+
const value = process.argv[index + 1];
|
|
46
|
+
if (!value || value.startsWith('--')) {
|
|
47
|
+
console.error(`Missing value for ${argument}`);
|
|
48
|
+
process.exit(2);
|
|
49
|
+
}
|
|
50
|
+
options.set(argument, value);
|
|
51
|
+
index += 1;
|
|
52
|
+
} else {
|
|
53
|
+
passthrough.push(argument);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
31
56
|
const docsRoot = resolve(root, 'docs');
|
|
32
57
|
const publicRoot = resolve(root, 'dist/public');
|
|
33
58
|
const publicAssetsRoot = resolve(publicRoot, '_terra-docs/assets');
|
|
34
59
|
const outputDir = options.get('--out') ?? 'dist/docs';
|
|
35
60
|
const searchIndexPath = resolve(publicRoot, '_terra-docs/search-index.json');
|
|
36
|
-
const skillsIndexPath = resolve(root, 'dist/cache/skills.generated.json');
|
|
37
61
|
const excludedDirs = new Set(['node_modules', '.astro', 'dist']);
|
|
38
62
|
const manifest = await readJson(resolve(root, 'package.json')).catch(() => ({}));
|
|
63
|
+
const configuredAgents =
|
|
64
|
+
manifest.terraDocs?.includeAgents ?? manifest.terraDocs?.includeSkills ?? true;
|
|
65
|
+
if (typeof configuredAgents !== 'boolean') {
|
|
66
|
+
throw new Error('package.json terraDocs.includeAgents must be true or false');
|
|
67
|
+
}
|
|
68
|
+
if (options.has('--agents') && options.has('--skills')) {
|
|
69
|
+
throw new Error('Use only one of --agents or --skills');
|
|
70
|
+
}
|
|
71
|
+
const agentsOption = options.get('--agents') ?? options.get('--skills');
|
|
72
|
+
const includeAgents = agentsOption === undefined ? configuredAgents : parseBoolean(agentsOption);
|
|
39
73
|
const siteTitle = options.get('--title') ?? titleFromName(manifest.name) ?? 'Documentation';
|
|
40
74
|
const siteDescription = options.get('--description') ?? manifest.description ?? '';
|
|
41
75
|
const base = normBase(options.get('--base') ?? '/');
|
|
@@ -47,6 +81,7 @@ const env = {
|
|
|
47
81
|
TERRA_DOCS_OUT: outputDir,
|
|
48
82
|
PUBLIC_TERRA_DOCS_TITLE: siteTitle,
|
|
49
83
|
PUBLIC_TERRA_DOCS_DESCRIPTION: siteDescription,
|
|
84
|
+
PUBLIC_TERRA_DOCS_INCLUDE_AGENTS: String(includeAgents),
|
|
50
85
|
};
|
|
51
86
|
|
|
52
87
|
/*//////////////////////////////////////////////////
|
|
@@ -80,14 +115,27 @@ async function collectMarkdown(dir, rootDir = dir) {
|
|
|
80
115
|
*
|
|
81
116
|
*/
|
|
82
117
|
async function buildSearchIndex() {
|
|
83
|
-
const files = await collectMarkdown(docsRoot)
|
|
118
|
+
const files = (await collectMarkdown(docsRoot)).filter(
|
|
119
|
+
(file) => includeAgents || !isAgentsContent(file.relativePath),
|
|
120
|
+
);
|
|
84
121
|
if (files.length === 0)
|
|
85
122
|
throw new Error('No Markdown files found in docs/. Add docs/index.md to start a Docs site.');
|
|
123
|
+
const misplaced = files.filter((file) => {
|
|
124
|
+
const isRootIndex = ['index.md', 'index.mdx'].includes(file.relativePath.toLowerCase());
|
|
125
|
+
return !isRootIndex && !file.relativePath.includes('/');
|
|
126
|
+
});
|
|
127
|
+
if (misplaced.length) {
|
|
128
|
+
const paths = misplaced.map((file) => `docs/${file.relativePath}`).join(', ');
|
|
129
|
+
throw new Error(
|
|
130
|
+
`Markdown pages must be grouped in folders directly under docs/ (keep only docs/index.md at the root): ${paths}`,
|
|
131
|
+
);
|
|
132
|
+
}
|
|
86
133
|
const routeFiles = new Map();
|
|
87
134
|
const records = [];
|
|
88
135
|
for (const file of files) {
|
|
89
136
|
const route = file.relativePath
|
|
90
137
|
.replace(MD_MDX_I_REGEX, '')
|
|
138
|
+
.replace(/(?:^|\/)SKILL$/i, '')
|
|
91
139
|
.replace(/(?:^|\/)index$/i, '')
|
|
92
140
|
.replace(/^\/+|\/+$/g, '');
|
|
93
141
|
const previous = routeFiles.get(route);
|
|
@@ -133,6 +181,7 @@ async function copyDocsAssets(dir = docsRoot, relativeDir = '') {
|
|
|
133
181
|
* @param relativeDir Path prefix relative to the Docs root for the destination.
|
|
134
182
|
*/
|
|
135
183
|
async function copyAssetDir(dir, relativeDir) {
|
|
184
|
+
if (!includeAgents && isAgentsContent(relativeDir)) return;
|
|
136
185
|
for (const entry of await readdir(dir, { withFileTypes: true })) {
|
|
137
186
|
if (entry.name.startsWith('.') || (entry.isDirectory() && excludedDirs.has(entry.name)))
|
|
138
187
|
continue;
|
|
@@ -149,6 +198,18 @@ async function copyAssetDir(dir, relativeDir) {
|
|
|
149
198
|
}
|
|
150
199
|
}
|
|
151
200
|
|
|
201
|
+
/**
|
|
202
|
+
* Checks whether a Docs-relative path belongs to the top-level Agents section.
|
|
203
|
+
*
|
|
204
|
+
* @param relativePath Path relative to docs/.
|
|
205
|
+
*
|
|
206
|
+
* @return True when the path is inside docs/agents/.
|
|
207
|
+
*/
|
|
208
|
+
function isAgentsContent(relativePath) {
|
|
209
|
+
const normalized = relativePath.split(sep).join('/');
|
|
210
|
+
return normalized === 'agents' || normalized.startsWith('agents/');
|
|
211
|
+
}
|
|
212
|
+
|
|
152
213
|
/**
|
|
153
214
|
* Parses optional YAML frontmatter while preserving the Markdown body.
|
|
154
215
|
*
|
|
@@ -199,6 +260,19 @@ function normBase(value) {
|
|
|
199
260
|
return trimmed.endsWith('/') ? trimmed : `${trimmed}/`;
|
|
200
261
|
}
|
|
201
262
|
|
|
263
|
+
/**
|
|
264
|
+
* Parses the command-line boolean used to enable or disable the generated Agents section.
|
|
265
|
+
*
|
|
266
|
+
* @param value Boolean text supplied to `--skills`.
|
|
267
|
+
*
|
|
268
|
+
* @return The parsed option value.
|
|
269
|
+
*/
|
|
270
|
+
function parseBoolean(value) {
|
|
271
|
+
if (value === 'true') return true;
|
|
272
|
+
if (value === 'false') return false;
|
|
273
|
+
throw new Error('--skills must be true or false');
|
|
274
|
+
}
|
|
275
|
+
|
|
202
276
|
/**
|
|
203
277
|
* Derives a display title from a package name or documentation path.
|
|
204
278
|
*
|
|
@@ -249,30 +323,13 @@ function runAstro(cmd) {
|
|
|
249
323
|
else process.exitCode = code ?? 1;
|
|
250
324
|
});
|
|
251
325
|
}
|
|
252
|
-
for (let index = 3; index < process.argv.length; index += 1) {
|
|
253
|
-
const argument = process.argv[index];
|
|
254
|
-
if (
|
|
255
|
-
['--title', '--description', '--site', '--base', '--out', '--port', '--host'].includes(argument)
|
|
256
|
-
) {
|
|
257
|
-
const value = process.argv[index + 1];
|
|
258
|
-
if (!value || value.startsWith('--')) {
|
|
259
|
-
console.error(`Missing value for ${argument}`);
|
|
260
|
-
process.exit(2);
|
|
261
|
-
}
|
|
262
|
-
options.set(argument, value);
|
|
263
|
-
index += 1;
|
|
264
|
-
} else {
|
|
265
|
-
passthrough.push(argument);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
326
|
if (!['dev', 'build', 'preview'].includes(mode)) {
|
|
269
327
|
console.error(
|
|
270
|
-
'Usage: terra-docs <dev|build|preview> [--title title] [--description text] [--site url] [--base /path/] [--out directory]',
|
|
328
|
+
'Usage: terra-docs <dev|build|preview> [--title title] [--description text] [--site url] [--base /path/] [--out directory] [--agents true|false]',
|
|
271
329
|
);
|
|
272
330
|
process.exit(2);
|
|
273
331
|
}
|
|
274
332
|
if (mode !== 'preview') {
|
|
275
|
-
await generateSkillsIndex(root, skillsIndexPath);
|
|
276
333
|
await buildSearchIndex();
|
|
277
334
|
}
|
|
278
335
|
runAstro(mode);
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { markdownToDocsValue } from '../lib/markdown-model.js';
|
|
4
4
|
import { TerraDocsWorkspace } from './terra/Workspace.js';
|
|
5
|
-
function
|
|
5
|
+
function norm(value, base = 'http://docs.local') {
|
|
6
6
|
try {
|
|
7
7
|
const url = new URL(value, base);
|
|
8
8
|
// Mode and other host query parameters describe the surface, not the page.
|
|
@@ -24,7 +24,7 @@ function routeId(value) {
|
|
|
24
24
|
export function findDocsLocalPage(pages, value) {
|
|
25
25
|
if (typeof value !== 'string' || !value)
|
|
26
26
|
return undefined;
|
|
27
|
-
const route =
|
|
27
|
+
const route = norm(value);
|
|
28
28
|
const pathOnly = route.split('#', 1)[0];
|
|
29
29
|
const id = routeId(value);
|
|
30
30
|
// Hash-addressed pages must win before a shared pathname such as `/`.
|
|
@@ -33,7 +33,7 @@ export function findDocsLocalPage(pages, value) {
|
|
|
33
33
|
if (byId)
|
|
34
34
|
return byId;
|
|
35
35
|
}
|
|
36
|
-
const exactRoute = pages.find((page) =>
|
|
36
|
+
const exactRoute = pages.find((page) => norm(page.pathname) === route);
|
|
37
37
|
if (exactRoute)
|
|
38
38
|
return exactRoute;
|
|
39
39
|
const direct = pages.find((page) => page.id === value || page.path === value);
|
|
@@ -41,9 +41,9 @@ export function findDocsLocalPage(pages, value) {
|
|
|
41
41
|
return direct;
|
|
42
42
|
// A root page is the fallback for `/` only. It must not shadow `/` + #leaf.
|
|
43
43
|
if (pathOnly === '/' && !id) {
|
|
44
|
-
return pages.find((page) =>
|
|
44
|
+
return pages.find((page) => norm(page.pathname) === '/');
|
|
45
45
|
}
|
|
46
|
-
return pages.find((page) =>
|
|
46
|
+
return pages.find((page) => norm(page.pathname).split('#', 1)[0] === pathOnly);
|
|
47
47
|
}
|
|
48
48
|
function findTreeNode(nodes, id, ancestors = []) {
|
|
49
49
|
for (const node of nodes) {
|
|
@@ -85,7 +85,7 @@ export function DocsLocalWorkspace(props) {
|
|
|
85
85
|
const page = findDocsLocalPage(pages, pathname) ?? pages[0];
|
|
86
86
|
const content = useMemo(() => (page ? markdownToDocsValue(page.markdown, blocks) : []), [blocks, page]);
|
|
87
87
|
const host = useMemo(() => {
|
|
88
|
-
const
|
|
88
|
+
const aPage = () => typeof window === 'undefined'
|
|
89
89
|
? page
|
|
90
90
|
: (findDocsLocalPage(pages, `${window.location.pathname}${window.location.search}${window.location.hash}`) ?? page);
|
|
91
91
|
const resolvePage = (input) => {
|
|
@@ -100,11 +100,11 @@ export function DocsLocalWorkspace(props) {
|
|
|
100
100
|
return direct;
|
|
101
101
|
const requested = [value.path, value.pathname, value.id].find((candidate) => typeof candidate === 'string' && candidate.length > 0);
|
|
102
102
|
if (typeof requested !== 'string')
|
|
103
|
-
return
|
|
103
|
+
return aPage();
|
|
104
104
|
const basename = requested.split(/[?#]/, 1)[0]?.split('/').filter(Boolean).at(-1);
|
|
105
|
-
const
|
|
106
|
-
if (basename &&
|
|
107
|
-
return
|
|
105
|
+
const a = aPage();
|
|
106
|
+
if (basename && a?.path.split('/').at(-1) === basename)
|
|
107
|
+
return a;
|
|
108
108
|
const matches = pages.filter((candidate) => candidate.path.split('/').at(-1) === basename || candidate.id === basename);
|
|
109
109
|
return matches.length === 1 ? matches[0] : undefined;
|
|
110
110
|
};
|
|
@@ -137,7 +137,7 @@ export function DocsLocalWorkspace(props) {
|
|
|
137
137
|
...(branches[1] ? { groupId: branches[1].origName } : {}),
|
|
138
138
|
...(resolved ? { leafId: resolved.id } : {}),
|
|
139
139
|
targetId: resolved?.id ?? tree[0]?.origName ?? 'index',
|
|
140
|
-
pathname: resolved?.pathname ??
|
|
140
|
+
pathname: resolved?.pathname ?? norm(value),
|
|
141
141
|
};
|
|
142
142
|
},
|
|
143
143
|
buildRoute(sectionId, groupId, leafId) {
|
|
@@ -151,11 +151,11 @@ export function DocsLocalWorkspace(props) {
|
|
|
151
151
|
routePath(path) {
|
|
152
152
|
return findDocsLocalPage(pages, path)?.pathname ?? rootPath;
|
|
153
153
|
},
|
|
154
|
-
async invoke(
|
|
154
|
+
async invoke(op, input) {
|
|
155
155
|
const args = (input ?? {});
|
|
156
|
-
if (
|
|
156
|
+
if (op === 'read.doc.list')
|
|
157
157
|
return { data: tree };
|
|
158
|
-
if (
|
|
158
|
+
if (op === 'read.doc.get') {
|
|
159
159
|
const document = resolvePage(args);
|
|
160
160
|
return {
|
|
161
161
|
data: (document
|
|
@@ -167,8 +167,8 @@ export function DocsLocalWorkspace(props) {
|
|
|
167
167
|
: null),
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
-
if (
|
|
171
|
-
const document = resolvePage(args) ??
|
|
170
|
+
if (op === 'read.doc.attachments') {
|
|
171
|
+
const document = resolvePage(args) ?? aPage();
|
|
172
172
|
const attachments = (document?.attachments ?? []).map((attachment) => ({
|
|
173
173
|
...attachment,
|
|
174
174
|
title: attachment.name,
|
|
@@ -176,11 +176,11 @@ export function DocsLocalWorkspace(props) {
|
|
|
176
176
|
}));
|
|
177
177
|
return { data: attachments };
|
|
178
178
|
}
|
|
179
|
-
if (
|
|
179
|
+
if (op === 'read.source.body')
|
|
180
180
|
return { data: markdownToDocsValue(String(args.source ?? '')) };
|
|
181
|
-
if (
|
|
181
|
+
if (op === 'read.util.pathname')
|
|
182
182
|
return { data: String(args.path ?? pathname) };
|
|
183
|
-
if (
|
|
183
|
+
if (op === 'read.util.node') {
|
|
184
184
|
const document = resolvePage(args);
|
|
185
185
|
return {
|
|
186
186
|
data: (document
|
|
@@ -188,9 +188,9 @@ export function DocsLocalWorkspace(props) {
|
|
|
188
188
|
: null),
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
if (
|
|
191
|
+
if (op === 'read.tsdocs')
|
|
192
192
|
return { data: { scopes: [] } };
|
|
193
|
-
if (
|
|
193
|
+
if (op === 'read.asset.get') {
|
|
194
194
|
const assetPath = String(args.path ?? args.id ?? '');
|
|
195
195
|
const response = await fetch(assetPath);
|
|
196
196
|
if (!response.ok)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDocsWorkspace.js","sourceRoot":"","sources":["../../../src/components/LocalDocsWorkspace.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LocalDocsWorkspace.js","sourceRoot":"","sources":["../../../src/components/LocalDocsWorkspace.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/components/blocks.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAI5C,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,2HAanB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,GAAG,aAAa,EAAE,CAEjF;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAAE,CA+D/E,CAAC;AAgBF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAE/D;
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/components/blocks.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAI5C,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,2HAanB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,GAAG,aAAa,EAAE,CAEjF;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAAE,CA+D/E,CAAC;AAgBF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAE/D;AA6MD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA2I1E;AA0WD,wBAAgB,cAAc,CAAC,OAAO,GAAE,gBAAqB,gDAyB5D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { defineBlockObject, defineInlineObject, useEditor } from '@portabletext/editor';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import katex from 'katex';
|
|
@@ -114,7 +114,7 @@ function text(value) {
|
|
|
114
114
|
}
|
|
115
115
|
return '';
|
|
116
116
|
}
|
|
117
|
-
function
|
|
117
|
+
function sUrl(value) {
|
|
118
118
|
if (typeof value !== 'string' || !value.trim())
|
|
119
119
|
return undefined;
|
|
120
120
|
try {
|
|
@@ -136,7 +136,7 @@ function renderPortableTextChild(child, markDefinitions, key) {
|
|
|
136
136
|
const textValue = typeof member.text === 'string' ? member.text : '';
|
|
137
137
|
let node = textValue
|
|
138
138
|
.split('\n')
|
|
139
|
-
.flatMap((line,
|
|
139
|
+
.flatMap((line, i) => (i ? [_jsx("br", {}, `${key}-br-${i}`), line] : [line]));
|
|
140
140
|
const marks = Array.isArray(member.marks) ? member.marks : [];
|
|
141
141
|
for (const mark of marks) {
|
|
142
142
|
if (typeof mark !== 'string')
|
|
@@ -153,7 +153,7 @@ function renderPortableTextChild(child, markDefinitions, key) {
|
|
|
153
153
|
node = _jsx("code", { children: node }, `${key}-code`);
|
|
154
154
|
else {
|
|
155
155
|
const definition = markDefinitions.get(mark);
|
|
156
|
-
const href =
|
|
156
|
+
const href = sUrl(definition?.href);
|
|
157
157
|
if (href)
|
|
158
158
|
node = (_jsx("a", { href: href, children: node }, `${key}-link`));
|
|
159
159
|
}
|
|
@@ -168,11 +168,11 @@ function PortableTextBlockView({ block }) {
|
|
|
168
168
|
? 'blockquote'
|
|
169
169
|
: 'p';
|
|
170
170
|
const definitions = Array.isArray(block.markDefs) ? block.markDefs : [];
|
|
171
|
-
const markDefinitions = new Map(definitions.flatMap((
|
|
172
|
-
? [[
|
|
171
|
+
const markDefinitions = new Map(definitions.flatMap((i) => i && typeof i === 'object' && typeof i._key === 'string'
|
|
172
|
+
? [[i._key, i]]
|
|
173
173
|
: []));
|
|
174
174
|
const children = Array.isArray(block.children) ? block.children : [];
|
|
175
|
-
const rendered = children.map((child,
|
|
175
|
+
const rendered = children.map((child, i) => renderPortableTextChild(child, markDefinitions, `portable-${i}`));
|
|
176
176
|
if (block.listItem === 'bullet')
|
|
177
177
|
return (_jsx("ul", { children: _jsx("li", { children: rendered }) }));
|
|
178
178
|
if (block.listItem === 'number')
|
|
@@ -194,15 +194,31 @@ function nestedMarkdown(value) {
|
|
|
194
194
|
}
|
|
195
195
|
return '';
|
|
196
196
|
}
|
|
197
|
+
function NestedContent({ value }) {
|
|
198
|
+
if (Array.isArray(value))
|
|
199
|
+
return (_jsx(_Fragment, { children: value.map((member, index) => (_jsx(NestedContent, { value: member }, index))) }));
|
|
200
|
+
if (!value || typeof value !== 'object')
|
|
201
|
+
return typeof value === 'string' ? (_jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(value) } })) : (_jsx(_Fragment, { children: text(value) }));
|
|
202
|
+
const member = value;
|
|
203
|
+
if (member._type === 'block' || member._type === 'terraBlock')
|
|
204
|
+
return _jsx(PortableTextBlockView, { block: member });
|
|
205
|
+
if (typeof member._type === 'string' && DOCS_BLOCK_TYPES.includes(member._type))
|
|
206
|
+
return _jsx(DocsRichBlock, { block: member });
|
|
207
|
+
if (Array.isArray(member.content) && member.content.length)
|
|
208
|
+
return _jsx(NestedContent, { value: member.content });
|
|
209
|
+
if (typeof member.markdown === 'string')
|
|
210
|
+
return _jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(member.markdown) } });
|
|
211
|
+
return _jsx(_Fragment, { children: text(member) });
|
|
212
|
+
}
|
|
197
213
|
function Diagram({ block }) {
|
|
198
214
|
const nodes = (Array.isArray(block.nodes) ? block.nodes : []).filter((node) => Boolean(node) && typeof node === 'object');
|
|
199
215
|
const edges = (Array.isArray(block.edges) ? block.edges : []).filter((edge) => Boolean(edge) && typeof edge === 'object');
|
|
200
216
|
const horizontal = block.direction === 'LR';
|
|
201
217
|
const width = horizontal ? Math.max(320, nodes.length * 180) : 320;
|
|
202
218
|
const height = horizontal ? 140 : Math.max(140, nodes.length * 100);
|
|
203
|
-
const positions = new Map(nodes.map((node,
|
|
204
|
-
String(node.id ??
|
|
205
|
-
horizontal ? { x: 90 +
|
|
219
|
+
const positions = new Map(nodes.map((node, i) => [
|
|
220
|
+
String(node.id ?? i),
|
|
221
|
+
horizontal ? { x: 90 + i * 180, y: 70 } : { x: 160, y: 70 + i * 100 },
|
|
206
222
|
]));
|
|
207
223
|
return (_jsxs("figure", { className: "terra-docs-diagram", children: [_jsxs("svg", { role: "img", "aria-label": "Document diagram", viewBox: `0 0 ${width} ${height}`, children: [_jsx("defs", { children: _jsx("marker", { id: "terra-docs-arrow", markerWidth: "8", markerHeight: "8", refX: "7", refY: "4", orient: "auto", children: _jsx("path", { d: "M0 0 L8 4 L0 8 Z", fill: "currentColor" }) }) }), edges.map((edge, i) => {
|
|
208
224
|
const from = positions.get(String(edge.source ?? ''));
|
|
@@ -224,21 +240,24 @@ export function DocsRichBlock({ block }) {
|
|
|
224
240
|
case 'terraBlock':
|
|
225
241
|
return _jsx(PortableTextBlockView, { block: block });
|
|
226
242
|
case 'accordion':
|
|
227
|
-
return (_jsx("div", { className: "terra-docs-accordions", children: items.map((
|
|
243
|
+
return (_jsx("div", { className: "terra-docs-accordions", children: items.map((v, i) => (_jsxs("details", { children: [_jsx("summary", { children: text(v.title) }), _jsx("div", { children: _jsx(NestedContent, { value: v }) })] }, i))) }));
|
|
228
244
|
case 'tabs':
|
|
229
|
-
return (_jsx("div", { className: "terra-docs-tabs", role: "tablist", children: items.map((
|
|
245
|
+
return (_jsx("div", { className: "terra-docs-tabs", role: "tablist", children: items.map((v, i) => (_jsxs("details", { open: i === 0, children: [_jsx("summary", { children: text(v.title) }), _jsx("div", { children: _jsx(NestedContent, { value: v }) })] }, i))) }));
|
|
230
246
|
case 'table':
|
|
231
247
|
return (_jsxs("section", { className: "terra-docs-table", children: [_jsx("strong", { children: text(block.header) }), _jsx("table", { children: _jsx("tbody", { children: (Array.isArray(block.rows) ? block.rows : []).map((row, i) => (_jsx("tr", { children: (Array.isArray(row.cells)
|
|
232
248
|
? row.cells
|
|
233
|
-
: []).map((cell, j) => (_jsx("td", {
|
|
234
|
-
case 'callout':
|
|
235
|
-
|
|
249
|
+
: []).map((cell, j) => (_jsx("td", { children: _jsx(NestedContent, { value: cell }) }, j))) }, i))) }) })] }));
|
|
250
|
+
case 'callout': {
|
|
251
|
+
const content = Array.isArray(block.content) ? block.content : [];
|
|
252
|
+
const markdown = typeof block.markdown === 'string' ? block.markdown : undefined;
|
|
253
|
+
return (_jsxs("aside", { className: `terra-docs-callout terra-docs-callout-${text(block.kind).replace(/[^a-z0-9-]/gi, '') || 'info'}`, children: [_jsx("strong", { children: text(block.title) }), _jsx("div", { children: _jsx(NestedContent, { value: content.length ? content : (markdown ?? '') }) })] }));
|
|
254
|
+
}
|
|
236
255
|
case 'code':
|
|
237
256
|
return (_jsx("pre", { className: "terra-docs-code", children: _jsx("code", { "data-language": text(block.language), children: text(block.value) }) }));
|
|
238
257
|
case 'docImage':
|
|
239
|
-
return
|
|
258
|
+
return sUrl(block.url) ? (_jsxs("figure", { children: [_jsx("img", { src: sUrl(block.url), alt: text(block.alt) }), _jsx("figcaption", { children: text(block.title) })] })) : (_jsx("p", { children: "Image URL unavailable" }));
|
|
240
259
|
case 'embed':
|
|
241
|
-
return
|
|
260
|
+
return sUrl(block.src) ? (_jsx("iframe", { title: text(block.title) || 'Embedded content', src: sUrl(block.src), loading: "lazy", sandbox: "allow-scripts allow-same-origin allow-popups" })) : (_jsx("p", { children: "Embed URL unavailable" }));
|
|
242
261
|
case 'math': {
|
|
243
262
|
const code = text(block.code);
|
|
244
263
|
const html = katex.renderToString(code, {
|
|
@@ -267,11 +286,11 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
267
286
|
const type = block._type;
|
|
268
287
|
const fields = DOCS_BLOCK_FIELDS[type] ?? [];
|
|
269
288
|
const set = (props) => editor.send({ type: 'block.set', at: path, props });
|
|
270
|
-
const update = (field,
|
|
271
|
-
[field]:
|
|
289
|
+
const update = (field, n) => set({
|
|
290
|
+
[field]: n,
|
|
272
291
|
...(type === 'callout' && (field === 'title' || field === 'kind')
|
|
273
292
|
? {}
|
|
274
|
-
: { markdown: field === 'markdown' ?
|
|
293
|
+
: { markdown: field === 'markdown' ? n : '' }),
|
|
275
294
|
});
|
|
276
295
|
const items = Array.isArray(block.items) ? block.items : [];
|
|
277
296
|
const rows = Array.isArray(block.rows) ? block.rows : [];
|
|
@@ -280,17 +299,17 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
280
299
|
return (_jsxs("div", { className: "terra-docs-rich-editor", children: [_jsx(DocsRichBlock, { block: block }), !readOnly && (_jsxs(_Fragment, { children: [_jsxs("button", { onClick: () => setExpanded(!expanded), "aria-expanded": expanded, children: ["Edit ", type] }), expanded && (_jsx("div", { className: "terra-docs-rich-fields", children: fields.map((field) => {
|
|
281
300
|
const value = block[field.name];
|
|
282
301
|
if (field.name === 'items')
|
|
283
|
-
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Items" }), items.map((
|
|
284
|
-
items: items.map((entry, i) => i ===
|
|
302
|
+
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Items" }), items.map((v, r) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["Title", _jsx("input", { value: text(v.title), onChange: (event) => set({
|
|
303
|
+
items: items.map((entry, i) => i === r
|
|
285
304
|
? { ...entry, title: event.currentTarget.value }
|
|
286
305
|
: entry),
|
|
287
306
|
markdown: '',
|
|
288
|
-
}) })] }), _jsxs("label", { children: ["Content", _jsx("textarea", { value: nestedMarkdown(
|
|
289
|
-
items: items.map((entry, i) => i ===
|
|
307
|
+
}) })] }), _jsxs("label", { children: ["Content", _jsx("textarea", { value: nestedMarkdown(v), onChange: (event) => set({
|
|
308
|
+
items: items.map((entry, i) => i === r
|
|
290
309
|
? { ...entry, markdown: event.currentTarget.value }
|
|
291
310
|
: entry),
|
|
292
311
|
markdown: '',
|
|
293
|
-
}) })] }), _jsx("button", { onClick: () => set({ items: items.filter((_entry, i) => i !==
|
|
312
|
+
}) })] }), _jsx("button", { onClick: () => set({ items: items.filter((_entry, i) => i !== r), markdown: '' }), children: "Remove item" })] }, r))), _jsx("button", { onClick: () => set({
|
|
294
313
|
items: [...items, { title: 'Item', markdown: '', content: [] }],
|
|
295
314
|
markdown: '',
|
|
296
315
|
}), children: "Add item" })] }, "items"));
|
|
@@ -339,13 +358,11 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
339
358
|
markdown: '',
|
|
340
359
|
}), children: "Add row" })] }, "rows"));
|
|
341
360
|
if (field.name === 'nodes')
|
|
342
|
-
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Diagram nodes" }), nodes.map((node,
|
|
343
|
-
nodes: nodes.map((entry, i) => i ===
|
|
344
|
-
? { ...entry, id: event.currentTarget.value }
|
|
345
|
-
: entry),
|
|
361
|
+
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Diagram nodes" }), nodes.map((node, v) => (_jsxs("div", { className: "terra-docs-rich-item", children: [_jsxs("label", { children: ["ID", _jsx("input", { value: text(node.id), onChange: (event) => set({
|
|
362
|
+
nodes: nodes.map((entry, i) => i === v ? { ...entry, id: event.currentTarget.value } : entry),
|
|
346
363
|
markdown: '',
|
|
347
364
|
}) })] }), _jsxs("label", { children: ["Title", _jsx("input", { value: text(node.data?.title), onChange: (event) => set({
|
|
348
|
-
nodes: nodes.map((entry, i) => i ===
|
|
365
|
+
nodes: nodes.map((entry, i) => i === v
|
|
349
366
|
? {
|
|
350
367
|
...entry,
|
|
351
368
|
data: {
|
|
@@ -355,7 +372,7 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
355
372
|
}
|
|
356
373
|
: entry),
|
|
357
374
|
markdown: '',
|
|
358
|
-
}) })] }), _jsx("button", { onClick: () => set({ nodes: nodes.filter((_entry, i) => i !==
|
|
375
|
+
}) })] }), _jsx("button", { onClick: () => set({ nodes: nodes.filter((_entry, i) => i !== v), markdown: '' }), children: "Remove node" })] }, v))), _jsx("button", { onClick: () => set({
|
|
359
376
|
nodes: [
|
|
360
377
|
...nodes,
|
|
361
378
|
{ id: crypto.randomUUID(), type: 'process', data: { title: 'Node' } },
|
|
@@ -363,13 +380,13 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
363
380
|
markdown: '',
|
|
364
381
|
}), children: "Add node" })] }, "nodes"));
|
|
365
382
|
if (field.name === 'edges')
|
|
366
|
-
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Connections" }), edges.map((edge,
|
|
367
|
-
edges: edges.map((entry, i) => i ===
|
|
383
|
+
return (_jsxs("fieldset", { children: [_jsx("legend", { children: "Connections" }), edges.map((edge, v) => (_jsxs("div", { className: "terra-docs-rich-item", children: [['source', 'target'].map((name) => (_jsxs("label", { children: [name, _jsx("select", { value: text(edge[name]), onChange: (event) => set({
|
|
384
|
+
edges: edges.map((entry, i) => i === v
|
|
368
385
|
? { ...entry, [name]: event.currentTarget.value }
|
|
369
386
|
: entry),
|
|
370
387
|
markdown: '',
|
|
371
388
|
}), children: nodes.map((node) => (_jsx("option", { value: text(node.id), children: text(node.data?.title ??
|
|
372
|
-
node.id) }, text(node.id)))) })] }, name))), _jsx("button", { onClick: () => set({ edges: edges.filter((_entry, i) => i !==
|
|
389
|
+
node.id) }, text(node.id)))) })] }, name))), _jsx("button", { onClick: () => set({ edges: edges.filter((_entry, i) => i !== v), markdown: '' }), children: "Remove connection" })] }, v))), _jsx("button", { disabled: nodes.length < 2, onClick: () => set({
|
|
373
390
|
edges: [
|
|
374
391
|
...edges,
|
|
375
392
|
{
|
|
@@ -390,12 +407,12 @@ function BlockEditor({ block, path, readOnly, }) {
|
|
|
390
407
|
export function docsBlockNodes(options = {}) {
|
|
391
408
|
const nodes = enabledDocsBlocks(options).map((type) => defineBlockObject({
|
|
392
409
|
type,
|
|
393
|
-
render: ({ attributes, children, node, path, readOnly }) => (_jsxs("div", { ...
|
|
410
|
+
render: ({ attributes: attrs, children, node, path, readOnly }) => (_jsxs("div", { ...attrs, "data-docs-block": type, contentEditable: false, children: [_jsx(BlockEditor, { block: node, path: path, readOnly: readOnly }), children] })),
|
|
394
411
|
}));
|
|
395
412
|
if (options.inlineMath !== false)
|
|
396
413
|
nodes.push(defineInlineObject({
|
|
397
414
|
type: 'math',
|
|
398
|
-
render: ({ attributes, children, node }) => (_jsxs("span", { ...
|
|
415
|
+
render: ({ attributes: attrs, children, node }) => (_jsxs("span", { ...attrs, contentEditable: false, children: [_jsx(DocsRichBlock, { block: { ...node, _type: 'math', inline: true } }), children] })),
|
|
399
416
|
}));
|
|
400
417
|
return nodes;
|
|
401
418
|
}
|