From 2fb4b7474d0cf05654fc07e8072367dc7ef97cc5 Mon Sep 17 00:00:00 2001 From: saberzero1 Date: Sat, 1 Mar 2025 21:34:18 +0100 Subject: [PATCH] Canvas stub --- quartz/components/pages/CanvasContent.tsx | 84 ++++++++++++++- quartz/components/renderCanvas.tsx | 4 +- quartz/components/scripts/popover.inline.ts | 113 +++++++++++++++++++- 3 files changed, 195 insertions(+), 6 deletions(-) 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) => ( +