From c93b8505bd1240fb172d1a1dc23cfd3f1f1b67b4 Mon Sep 17 00:00:00 2001 From: pearmini Date: Sat, 4 Apr 2026 09:22:28 -0400 Subject: [PATCH 1/3] Optimize pretext demos --- .gitignore | 2 +- demo/index.html | 15 -- demo/{ => pretext}/air-text/content.js | 0 demo/{ => pretext}/air-text/helpers.js | 0 demo/{ => pretext}/air-text/index.css | 0 demo/{ => pretext}/air-text/index.html | 0 demo/{ => pretext}/air-text/index.js | 0 demo/pretext/index.html | 181 ++++++++++++++++++ demo/{ => pretext}/package.json | 4 +- demo/pretext/public/logo.svg | 1 + demo/{ => pretext}/us-map-paper/index.css | 0 demo/{ => pretext}/us-map-paper/index.html | 0 demo/{ => pretext}/us-map-paper/index.js | 0 .../{ => pretext}/us-map-paper/state-notes.js | 0 demo/pretext/vite.config.js | 21 ++ demo/{ => pretext}/yinyang/index.css | 0 demo/{ => pretext}/yinyang/index.html | 0 demo/{ => pretext}/yinyang/index.js | 0 demo/vite.config.js | 7 - package.json | 6 +- pnpm-lock.yaml | 4 +- pnpm-workspace.yaml | 2 +- 22 files changed, 214 insertions(+), 29 deletions(-) delete mode 100644 demo/index.html rename demo/{ => pretext}/air-text/content.js (100%) rename demo/{ => pretext}/air-text/helpers.js (100%) rename demo/{ => pretext}/air-text/index.css (100%) rename demo/{ => pretext}/air-text/index.html (100%) rename demo/{ => pretext}/air-text/index.js (100%) create mode 100644 demo/pretext/index.html rename demo/{ => pretext}/package.json (84%) create mode 100644 demo/pretext/public/logo.svg rename demo/{ => pretext}/us-map-paper/index.css (100%) rename demo/{ => pretext}/us-map-paper/index.html (100%) rename demo/{ => pretext}/us-map-paper/index.js (100%) rename demo/{ => pretext}/us-map-paper/state-notes.js (100%) create mode 100644 demo/pretext/vite.config.js rename demo/{ => pretext}/yinyang/index.css (100%) rename demo/{ => pretext}/yinyang/index.html (100%) rename demo/{ => pretext}/yinyang/index.js (100%) delete mode 100644 demo/vite.config.js diff --git a/.gitignore b/.gitignore index 1c26e40..87579e6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ node_modules yarn.lock package-lock.json -demo/pnpm-lock.yaml +demo/pretext/pnpm-lock.yaml dist cache docs/.vitepress/lib diff --git a/demo/index.html b/demo/index.html deleted file mode 100644 index ec89b5c..0000000 --- a/demo/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Examples - - - - - diff --git a/demo/air-text/content.js b/demo/pretext/air-text/content.js similarity index 100% rename from demo/air-text/content.js rename to demo/pretext/air-text/content.js diff --git a/demo/air-text/helpers.js b/demo/pretext/air-text/helpers.js similarity index 100% rename from demo/air-text/helpers.js rename to demo/pretext/air-text/helpers.js diff --git a/demo/air-text/index.css b/demo/pretext/air-text/index.css similarity index 100% rename from demo/air-text/index.css rename to demo/pretext/air-text/index.css diff --git a/demo/air-text/index.html b/demo/pretext/air-text/index.html similarity index 100% rename from demo/air-text/index.html rename to demo/pretext/air-text/index.html diff --git a/demo/air-text/index.js b/demo/pretext/air-text/index.js similarity index 100% rename from demo/air-text/index.js rename to demo/pretext/air-text/index.js diff --git a/demo/pretext/index.html b/demo/pretext/index.html new file mode 100644 index 0000000..90f1dd1 --- /dev/null +++ b/demo/pretext/index.html @@ -0,0 +1,181 @@ + + + + + + + + + Charming Pretext Demos + + + +
+
+ + + +

Charming Pretext

+
+

+ Demos built with + Charming Pretext + — pure-arithmetic text measurement for text-based data visualization and generative art. A fast, intuitive, and + fixable API on top of + Pretext. +

+ +
+ + diff --git a/demo/package.json b/demo/pretext/package.json similarity index 84% rename from demo/package.json rename to demo/pretext/package.json index b833923..dc9c0ac 100644 --- a/demo/package.json +++ b/demo/pretext/package.json @@ -13,7 +13,9 @@ "us-atlas": "^3.0.1" }, "scripts": { - "dev": "vite" + "dev": "vite", + "build": "vite build", + "preview": "vite preview" }, "devDependencies": { "patch-package": "^8.0.1", diff --git a/demo/pretext/public/logo.svg b/demo/pretext/public/logo.svg new file mode 100644 index 0000000..2d14c9b --- /dev/null +++ b/demo/pretext/public/logo.svg @@ -0,0 +1 @@ + diff --git a/demo/us-map-paper/index.css b/demo/pretext/us-map-paper/index.css similarity index 100% rename from demo/us-map-paper/index.css rename to demo/pretext/us-map-paper/index.css diff --git a/demo/us-map-paper/index.html b/demo/pretext/us-map-paper/index.html similarity index 100% rename from demo/us-map-paper/index.html rename to demo/pretext/us-map-paper/index.html diff --git a/demo/us-map-paper/index.js b/demo/pretext/us-map-paper/index.js similarity index 100% rename from demo/us-map-paper/index.js rename to demo/pretext/us-map-paper/index.js diff --git a/demo/us-map-paper/state-notes.js b/demo/pretext/us-map-paper/state-notes.js similarity index 100% rename from demo/us-map-paper/state-notes.js rename to demo/pretext/us-map-paper/state-notes.js diff --git a/demo/pretext/vite.config.js b/demo/pretext/vite.config.js new file mode 100644 index 0000000..149eac4 --- /dev/null +++ b/demo/pretext/vite.config.js @@ -0,0 +1,21 @@ +import {resolve} from "node:path"; +import {fileURLToPath} from "node:url"; +import {defineConfig} from "vite"; + +const __dirname = fileURLToPath(new URL(".", import.meta.url)); + +export default defineConfig({ + optimizeDeps: { + include: ["ml5"], + }, + build: { + rollupOptions: { + input: { + main: resolve(__dirname, "index.html"), + "us-map-paper": resolve(__dirname, "us-map-paper/index.html"), + yinyang: resolve(__dirname, "yinyang/index.html"), + "air-text": resolve(__dirname, "air-text/index.html"), + }, + }, + }, +}); diff --git a/demo/yinyang/index.css b/demo/pretext/yinyang/index.css similarity index 100% rename from demo/yinyang/index.css rename to demo/pretext/yinyang/index.css diff --git a/demo/yinyang/index.html b/demo/pretext/yinyang/index.html similarity index 100% rename from demo/yinyang/index.html rename to demo/pretext/yinyang/index.html diff --git a/demo/yinyang/index.js b/demo/pretext/yinyang/index.js similarity index 100% rename from demo/yinyang/index.js rename to demo/pretext/yinyang/index.js diff --git a/demo/vite.config.js b/demo/vite.config.js deleted file mode 100644 index 5fcaf65..0000000 --- a/demo/vite.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import {defineConfig} from "vite"; - -export default defineConfig({ - optimizeDeps: { - include: ["ml5"], - }, -}); diff --git a/package.json b/package.json index f4cdec6..5e2d253 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,10 @@ "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs", - "demo:dev": "pnpm --filter ./demo dev", - "prepublishOnly": "rm -rf dist && rollup -c" + "prepublishOnly": "rm -rf dist && rollup -c", + "demo:pretext:dev": "pnpm --filter ./demo/pretext dev", + "demo:pretext:build": "pnpm --filter ./demo/pretext build", + "demo:pretext:preview": "pnpm --filter ./demo/pretext preview" }, "devDependencies": { "@rollup/plugin-node-resolve": "^15.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a135cbc..51fc309 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,14 +55,14 @@ importers: specifier: ^3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@25.5.2)(jsdom@26.1.0)(lightningcss@1.32.0)(terser@5.46.1)(yaml@2.8.0) - demo: + demo/pretext: dependencies: '@chenglou/pretext': specifier: ^0.0.4 version: 0.0.4 charmingjs: specifier: workspace:* - version: link:.. + version: link:../.. clipper-lib: specifier: ^6.4.2 version: 6.4.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f72b3c6..4bfd5ca 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,4 @@ packages: - "." - - "demo" + - "demo/pretext" From badeffb632e137e3c90789db3a630de9ae495a72 Mon Sep 17 00:00:00 2001 From: pearmini Date: Sat, 4 Apr 2026 09:30:08 -0400 Subject: [PATCH 2/3] Update index.html --- demo/pretext/air-text/index.html | 1 + demo/pretext/index.html | 5 +++-- demo/pretext/us-map-paper/index.html | 1 + demo/pretext/vite.config.js | 2 +- demo/pretext/{yinyang => yin-yang}/index.css | 0 demo/pretext/{yinyang => yin-yang}/index.html | 1 + demo/pretext/{yinyang => yin-yang}/index.js | 0 7 files changed, 7 insertions(+), 3 deletions(-) rename demo/pretext/{yinyang => yin-yang}/index.css (100%) rename demo/pretext/{yinyang => yin-yang}/index.html (95%) rename demo/pretext/{yinyang => yin-yang}/index.js (100%) diff --git a/demo/pretext/air-text/index.html b/demo/pretext/air-text/index.html index 90a245d..9c42666 100644 --- a/demo/pretext/air-text/index.html +++ b/demo/pretext/air-text/index.html @@ -4,6 +4,7 @@ Air text + diff --git a/demo/pretext/index.html b/demo/pretext/index.html index 90f1dd1..2eb568c 100644 --- a/demo/pretext/index.html +++ b/demo/pretext/index.html @@ -10,6 +10,7 @@ Charming Pretext Demos +