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 86%
rename from demo/air-text/index.html
rename to demo/pretext/air-text/index.html
index 90a245d..9c42666 100644
--- a/demo/air-text/index.html
+++ b/demo/pretext/air-text/index.html
@@ -4,6 +4,7 @@
Air text
+
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..7eb2879
--- /dev/null
+++ b/demo/pretext/index.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+ 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 89%
rename from demo/us-map-paper/index.html
rename to demo/pretext/us-map-paper/index.html
index 23ada66..5c19c07 100644
--- a/demo/us-map-paper/index.html
+++ b/demo/pretext/us-map-paper/index.html
@@ -5,6 +5,7 @@
U.S. Map Paper
+
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..80d5faa
--- /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"),
+ "yin-yang": resolve(__dirname, "yin-yang/index.html"),
+ "air-text": resolve(__dirname, "air-text/index.html"),
+ },
+ },
+ },
+});
diff --git a/demo/yinyang/index.css b/demo/pretext/yin-yang/index.css
similarity index 100%
rename from demo/yinyang/index.css
rename to demo/pretext/yin-yang/index.css
diff --git a/demo/yinyang/index.html b/demo/pretext/yin-yang/index.html
similarity index 95%
rename from demo/yinyang/index.html
rename to demo/pretext/yin-yang/index.html
index b779c2a..55062f7 100644
--- a/demo/yinyang/index.html
+++ b/demo/pretext/yin-yang/index.html
@@ -4,6 +4,7 @@
Yin Yang
+
diff --git a/demo/yinyang/index.js b/demo/pretext/yin-yang/index.js
similarity index 100%
rename from demo/yinyang/index.js
rename to demo/pretext/yin-yang/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"