From 7a1b2b9787ba179d9808a6f33739bb2f7802d9cb Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Thu, 26 Sep 2024 18:09:45 -0500 Subject: [PATCH] trying to get typst rendering working for svgs --- bun.lockb | Bin 356138 -> 331412 bytes package.json | 2 +- plugin/remark-typst.ts | 46 +++++++---- src/content/posts/2024-09-26-glue/arrow.typ | 11 +++ .../posts/2024-09-26-glue/index.lagda.md | 76 ++++++++++++++++++ src/styles/post.scss | 13 ++- 6 files changed, 131 insertions(+), 17 deletions(-) create mode 100644 src/content/posts/2024-09-26-glue/arrow.typ create mode 100644 src/content/posts/2024-09-26-glue/index.lagda.md diff --git a/bun.lockb b/bun.lockb index 6bda38ac64a3a8ce61862c5a03e553f36744fb75..0ed914aee21316dbd1debce53cb096bcf4f83ac9 100755 GIT binary patch delta 76116 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 CRMEr$ delta 90037 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

lH8OJpLB2NP1KT6PP!N_e18V9v6a4O-Tx4rYm{ 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 { const tmp = mkdtempSync(join(tmpdir(), "typst")); let ctr = 0; - return (tree) => { + return async (tree, { history }) => { + const path: string = resolve(history[history.length - 1]!); + const dir = dirname(path); + + // Copy all the .typ files in the dir + for (const file of await readdir(dir)) { + console.log("checking", file); + if (file.endsWith(".typ")) { + const src = resolve(join(dir, file)); + const dst = resolve(join(tmp, file)); + console.log("copying", src, dst); + await copyFile(src, dst); + } + } + visit( tree, (node) => node.type === "code" && node.lang === "typst", (node, index, parent) => { - const doc = join(tmp, `${ctr}.typ`); - const docOut = join(tmp, `${ctr}.svg`); + const doc = resolve(join(tmp, `${ctr}.typ`)); + const docOut = resolve(join(tmp, `${ctr}.svg`)); ctr += 1; writeFileSync(doc, node.value); - const result = spawnSync( - "typst", - [ - "compile", - "--format", - "svg", - doc, - ], - {}, - ); + const result = spawnSync("typst", [ + "compile", + "--format", + "svg", + doc, + docOut, + ]); console.log("OUTPUT", result.stderr.toString()); const svgOut = readFileSync(docOut); node.type = "html"; - node.value = svgOut.toString(); + node.value = ` +

+ `; }, ); }; diff --git a/src/content/posts/2024-09-26-glue/arrow.typ b/src/content/posts/2024-09-26-glue/arrow.typ new file mode 100644 index 0000000..3dd5588 --- /dev/null +++ b/src/content/posts/2024-09-26-glue/arrow.typ @@ -0,0 +1,11 @@ +#import "@preview/fletcher:0.5.1" as fletcher: diagram, node, edge + +#let arrow(left, right, leftcolor: red, rightcolor: blue) = diagram(cell-size: 1cm, $ + #text(fill: leftcolor)[#left] + edge( + marks: #(none, (inherit: "head", stroke: rightcolor)), + stroke: #stroke(paint: gradient.linear(leftcolor, rightcolor)) + ) + & + #text(fill: rightcolor)[#right] + $) diff --git a/src/content/posts/2024-09-26-glue/index.lagda.md b/src/content/posts/2024-09-26-glue/index.lagda.md new file mode 100644 index 0000000..9432ada --- /dev/null +++ b/src/content/posts/2024-09-26-glue/index.lagda.md @@ -0,0 +1,76 @@ +--- +title: Glue +slug: 2024-09-26-glue +date: 2024-09-26T21:24:18.030Z +tags: [hott, cubical, agda, type-theory] +draft: true +--- + +
+Imports for Agda + +``` +{-# OPTIONS --cubical #-} + +module 2024-09-26-glue.index where + +open import Cubical.Foundations.Prelude +``` + +
+ +The core idea behind cubical type theory is that we have powerful path primitives that give us the ability to just bridge arbitrary things together. +The $\mathsf{PathP}$ primitive gives us a way to connect elements of different types. + +For example, let's create some custom boolean type and assume we have some path between it and the standard booleans: + +``` +module _ where + data Bool : Type where + false : Bool + true : Bool + + data Direction : Type where + left : Direction + right : Direction + + postulate + myFunnyPath1 : Bool ≡ Direction +``` + +At the point $\mathsf{i0}$, this is _definitionally_ equal to $\mathsf{Bool}$, +and at $\mathsf{i1}$, this is _definitionally_ equal to $\mathsf{Direction}$. + +``` + _ : myFunnyPath1 i0 ≡ Bool + _ = refl + + _ : myFunnyPath1 i1 ≡ Direction + _ = refl +``` + +These are known as the _boundary conditions_ on the path $\mathsf{myFunnyPath1}$. + +Not only this, we can provide paths between the elements of this type too: + +``` + postulate + myFunnyPath2 : PathP (λ i → myFunnyPath1 i) false left +``` + +There's definitely something funny going on here. The typical transport operations in homotopy type theory are defined using path induction, which is inherent from the inductive structure of paths. +But how do we perform path induction on this kind of path? + +Cubical type theory's approach is to flip this around and make _transport_ the primitive operation on top of which path induction can be defined. + +$$ +\mathsf{transp} : (A : \mathbb{I} \rightarrow \mathcal{U}) \rightarrow (r : \mathbb{I}) \rightarrow A(\mathsf{i0}) \rightarrow A(\mathsf{i1}) +$$ + +Computationally, you could imagine how the path above would be transported: + +```typst +#set page(width: auto, height: auto, margin: 10pt) +#import "arrow.typ": arrow +#arrow($C$, $D$, leftcolor: green) +``` diff --git a/src/styles/post.scss b/src/styles/post.scss index d94323a..13e8193 100644 --- a/src/styles/post.scss +++ b/src/styles/post.scss @@ -108,6 +108,17 @@ border: 1px solid var(--hr-color); } + .svg { + display: flex; + flex-direction: column; + align-items: center; + + svg { + width: auto; + height: auto; + } + } + details { border: 1px solid var(--hr-color); border-radius: 8px; @@ -295,4 +306,4 @@ hr.endline { margin: 0; } } -} \ No newline at end of file +}