Skip to content

Commit d976930

Browse files
committed
Format JSX/styles and update blog copy
Refactor JSX and inline style objects for readability across the docs app and demo components (docs/src/App.js, conversation/annotation demos, and live demos). Wrap long props/objects onto multiple lines, add minor punctuation/whitespace fixes, and stabilize some expressions (comma/parentheses placements). Also update blog metadata and copy: adjust subtitles and excerpts in blog entries and entries-meta to clarify wording for the intelligence posts. Changes are non-functional formatting and copy edits only.
1 parent e638579 commit d976930

5 files changed

Lines changed: 637 additions & 439 deletions

File tree

docs/src/App.js

Lines changed: 70 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,9 @@ function NotFoundPage() {
164164
The page you're looking for doesn't exist.
165165
</p>
166166
<p style={{ marginTop: "24px" }}>
167-
<Link to="/" style={{ color: "var(--accent)" }}>Back to home</Link>
167+
<Link to="/" style={{ color: "var(--accent)" }}>
168+
Back to home
169+
</Link>
168170
</p>
169171
</div>
170172
)
@@ -184,7 +186,8 @@ function useJsonLd() {
184186
"@context": "https://schema.org",
185187
"@type": "SoftwareApplication",
186188
name: "Semiotic",
187-
description: "A data visualization framework for React combining D3 and React for interactive charts, network diagrams, and more.",
189+
description:
190+
"A data visualization framework for React combining D3 and React for interactive charts, network diagrams, and more.",
188191
applicationCategory: "DeveloperApplication",
189192
operatingSystem: "Any",
190193
programmingLanguage: "JavaScript",
@@ -233,7 +236,7 @@ export default function DocsApp() {
233236
</Link>
234237
</div>
235238
<div className="flex space-between">
236-
{/* We don't need to repeat the name because the logo is the name */}
239+
{/* We don't need to repeat the name because the logo is the name */}
237240
<div />
238241
<div className="flex" style={{ alignItems: "center", gap: "12px" }}>
239242
<ThemeToggle theme={theme} onToggle={toggleTheme} />
@@ -252,10 +255,7 @@ export default function DocsApp() {
252255
</div>
253256
</header>
254257
<div className="flex body">
255-
<Sidebar
256-
isOpen={sidebarOpen}
257-
onClose={() => setSidebarOpen(false)}
258-
/>
258+
<Sidebar isOpen={sidebarOpen} onClose={() => setSidebarOpen(false)} />
259259
<div className="container">
260260
<Routes>
261261
{/* New landing page */}
@@ -286,12 +286,21 @@ export default function DocsApp() {
286286

287287
{/* Redirects for old feature paths */}
288288
<Route path="features/styling" element={<Navigate to="/theming/styling" replace />} />
289-
<Route path="features/theming" element={<Navigate to="/theming/theme-provider" replace />} />
289+
<Route
290+
path="features/theming"
291+
element={<Navigate to="/theming/theme-provider" replace />}
292+
/>
290293

291294
{/* Redirects for legacy v1/v2 API routes (SEO: prevent stale search results) */}
292295
<Route path="api/xyframe" element={<Navigate to="/frames/xy-frame" replace />} />
293-
<Route path="api/ordinalframe" element={<Navigate to="/frames/ordinal-frame" replace />} />
294-
<Route path="api/networkframe" element={<Navigate to="/frames/network-frame" replace />} />
296+
<Route
297+
path="api/ordinalframe"
298+
element={<Navigate to="/frames/ordinal-frame" replace />}
299+
/>
300+
<Route
301+
path="api/networkframe"
302+
element={<Navigate to="/frames/network-frame" replace />}
303+
/>
295304
<Route path="api/mark" element={<Navigate to="/api/charts" replace />} />
296305

297306
{/* Cookbook routes */}
@@ -321,7 +330,15 @@ export default function DocsApp() {
321330

322331
{/* Recipes routes */}
323332
<Route path="recipes" element={<Outlet />}>
324-
<Route path="" element={<><h1>Recipes</h1><RecipesIndex /></>} />
333+
<Route
334+
path=""
335+
element={
336+
<>
337+
<h1>Recipes</h1>
338+
<RecipesIndex />
339+
</>
340+
}
341+
/>
325342
<Route path="kpi-card-sparkline" element={<KpiCardSparklinePage />} />
326343
<Route path="time-series-brush" element={<TimeSeriesBrushPage />} />
327344
<Route path="network-explorer" element={<NetworkExplorerPage />} />
@@ -330,15 +347,26 @@ export default function DocsApp() {
330347
<Route path="rosling-bubble-chart" element={<RoslingBubbleChartPage />} />
331348
{/* `minards-map` and `process-vs-classic-sankey` graduated to /blog/. */}
332349
<Route path="minards-map" element={<Navigate to="/blog/minards-march" replace />} />
333-
<Route path="process-vs-classic-sankey" element={<Navigate to="/blog/process-sankey-vs-classic-sankey" replace />} />
350+
<Route
351+
path="process-vs-classic-sankey"
352+
element={<Navigate to="/blog/process-sankey-vs-classic-sankey" replace />}
353+
/>
334354
</Route>
335355

336356
{/* Blog routes are registered in the early-return branch above
337357
(`isBlogRoute`) so the docs chrome is stripped. */}
338358

339359
{/* Playground routes */}
340360
<Route path="playground" element={<Outlet />}>
341-
<Route path="" element={<><h1>Playground</h1><PlaygroundIndex /></>} />
361+
<Route
362+
path=""
363+
element={
364+
<>
365+
<h1>Playground</h1>
366+
<PlaygroundIndex />
367+
</>
368+
}
369+
/>
342370
<Route path="line-chart" element={<LineChartPlayground />} />
343371
<Route path="bar-chart" element={<BarChartPlayground />} />
344372
<Route path="scatterplot" element={<ScatterplotPlayground />} />
@@ -354,7 +382,10 @@ export default function DocsApp() {
354382
<Route path="treemap" element={<TreemapPlayground />} />
355383
<Route path="circle-pack" element={<CirclePackPlayground />} />
356384
<Route path="orbit-diagram" element={<OrbitDiagramPlayground />} />
357-
<Route path="statistical-annotations" element={<StatisticalAnnotationsPlayground />} />
385+
<Route
386+
path="statistical-annotations"
387+
element={<StatisticalAnnotationsPlayground />}
388+
/>
358389
<Route path="forecast" element={<ForecastPlayground />} />
359390
<Route path="choropleth-map" element={<ChoroplethMapPlayground />} />
360391
<Route path="distance-cartogram" element={<DistanceCartogramPlayground />} />
@@ -394,7 +425,7 @@ export default function DocsApp() {
394425
</Route>
395426

396427
{/* Intelligence — AI/recommendation surface, separated from generic Features
397-
in 3.5.x. Old /features/<slug> paths redirect to /intelligence/<slug>
428+
Old /features/<slug> paths redirect to /intelligence/<slug>
398429
via dedicated routes below. */}
399430
<Route path="intelligence" element={<Outlet />}>
400431
<Route path="observation-hooks" element={<ObservationHooksPage />} />
@@ -408,12 +439,30 @@ export default function DocsApp() {
408439
</Route>
409440

410441
{/* Redirects from old /features/<slug> paths for the Intelligence pages */}
411-
<Route path="features/observation-hooks" element={<Navigate to="/intelligence/observation-hooks" replace />} />
412-
<Route path="features/capabilities" element={<Navigate to="/intelligence/capabilities" replace />} />
413-
<Route path="features/suggestions" element={<Navigate to="/intelligence/suggestions" replace />} />
414-
<Route path="features/interrogation" element={<Navigate to="/intelligence/interrogation" replace />} />
415-
<Route path="features/serialization" element={<Navigate to="/intelligence/serialization" replace />} />
416-
<Route path="features/vega-lite" element={<Navigate to="/intelligence/vega-lite" replace />} />
442+
<Route
443+
path="features/observation-hooks"
444+
element={<Navigate to="/intelligence/observation-hooks" replace />}
445+
/>
446+
<Route
447+
path="features/capabilities"
448+
element={<Navigate to="/intelligence/capabilities" replace />}
449+
/>
450+
<Route
451+
path="features/suggestions"
452+
element={<Navigate to="/intelligence/suggestions" replace />}
453+
/>
454+
<Route
455+
path="features/interrogation"
456+
element={<Navigate to="/intelligence/interrogation" replace />}
457+
/>
458+
<Route
459+
path="features/serialization"
460+
element={<Navigate to="/intelligence/serialization" replace />}
461+
/>
462+
<Route
463+
path="features/vega-lite"
464+
element={<Navigate to="/intelligence/vega-lite" replace />}
465+
/>
417466

418467
{/* Using Server-Side Rendering */}
419468
<Route path="using-ssr" element={<UsingSSRPage />} />

docs/src/blog/entries-meta.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ export const allBlogEntriesMeta = [
4646
slug: "talk-track-intelligence",
4747
title: "The arc, the annotation, and the variant",
4848
subtitle:
49-
"Three composable AI surfaces shipping together in 3.5.x: conversation-arc telemetry, annotation provenance + lifecycle, and a variant discovery plug point. Two are runnable inline.",
49+
"Three composable AI surfaces: conversation-arc telemetry, annotation provenance + lifecycle, and a variant discovery plug point. Two are runnable inline.",
5050
author: "Elijah Meeks",
5151
date: "2026-05-27",
5252
tags: ["case-study", "ai", "roadmap"],
5353
excerpt:
54-
"AI-assisted chart authoring is a session, not a single call. Semiotic 3.5.x lands the spine for treating that session as a first-class thing — an event vocabulary for the arc itself, provenance + lifecycle on every annotation, and an extension surface for variant proposers. Interactive demos for the first two.",
54+
"AI-assisted chart authoring is a session, not a single call. The spine for treating that session as a first-class thing — an event vocabulary for the arc itself, provenance + lifecycle on every annotation, and an extension surface for variant proposers. Interactive demos for the first two.",
5555
draft: true,
5656
},
5757
{

0 commit comments

Comments
 (0)