diff --git a/quartz/components/pages/CanvasContent.tsx b/quartz/components/pages/CanvasContent.tsx index 35b0ace6f..dea91b39d 100644 --- a/quartz/components/pages/CanvasContent.tsx +++ b/quartz/components/pages/CanvasContent.tsx @@ -1,12 +1,19 @@ import { ComponentChildren } from "preact" import { htmlToJsx } from "../../util/jsx" +import d3 from "d3" import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps, QuartzCanvasComponent, + CanvasNode, + CanvasEdge, + CanvasTextNode, + CanvasFileNode, + CanvasLinkNode, + CanvasGroupNode, } from "../types" -import { type FilePath } from "../../util/path" +import { type FilePath, slugifyFilePath } from "../../util/path" import fs from "fs" function loadCanvas(file: FilePath): QuartzCanvasComponent { @@ -15,13 +22,84 @@ function loadCanvas(file: FilePath): QuartzCanvasComponent { return JSON.parse(data) as QuartzCanvasComponent } +function renderTextNodes(nodes: CanvasTextNode[]): ComponentChildren { + return nodes.map((node) => ( +
+ {node["text"]} +
+ )) +} + +function renderFileNodes(nodes: CanvasFileNode[]): ComponentChildren { + return nodes.map((node) => ( +
+ )) +} + +function renderLinkNodes(nodes: CanvasLinkNode[]): ComponentChildren { + return nodes.map((node) => ( +