From 2fcb5ba2c9b3e5d9a6d2b5e60d3d5a65fb93ac2e Mon Sep 17 00:00:00 2001 From: dasathyakuma Date: Fri, 10 Apr 2026 13:10:39 -0600 Subject: [PATCH 01/13] first set of changes --- docs/config.json | 69 +- docs/framework/marko/examples/dynamic.md | 11 + docs/framework/marko/examples/fixed.md | 11 + docs/framework/marko/examples/grid.md | 11 + .../marko/examples/infinite-scroll.md | 11 + .../framework/marko/examples/smooth-scroll.md | 11 + docs/framework/marko/examples/variable.md | 11 + docs/framework/marko/examples/window.md | 11 + docs/framework/marko/marko-virtual.md | 244 +++++ examples/marko/dynamic/package.json | 20 + examples/marko/dynamic/src/routes/+page.marko | 100 ++ examples/marko/dynamic/vite.config.ts | 6 + examples/marko/fixed/package.json | 20 + examples/marko/fixed/src/routes/+page.marko | 170 ++++ examples/marko/fixed/vite.config.ts | 6 + examples/marko/grid/package.json | 20 + examples/marko/grid/src/routes/+page.marko | 107 ++ examples/marko/grid/vite.config.ts | 6 + examples/marko/infinite-scroll/package.json | 20 + .../infinite-scroll/src/routes/+page.marko | 153 +++ examples/marko/infinite-scroll/vite.config.ts | 6 + examples/marko/smooth-scroll/package.json | 20 + .../smooth-scroll/src/routes/+page.marko | 148 +++ examples/marko/smooth-scroll/vite.config.ts | 6 + examples/marko/variable/package.json | 20 + .../marko/variable/src/routes/+page.marko | 160 +++ examples/marko/variable/vite.config.ts | 6 + examples/marko/window/package.json | 20 + examples/marko/window/src/routes/+page.marko | 83 ++ examples/marko/window/vite.config.ts | 6 + packages/marko-virtual/README.md | 102 ++ packages/marko-virtual/eslint.config.js | 5 + packages/marko-virtual/marko.json | 1 + packages/marko-virtual/package.json | 66 ++ packages/marko-virtual/src/index.ts | 56 ++ .../src/tags/virtualizer/index.marko | 160 +++ .../src/tags/window-virtualizer/index.marko | 131 +++ packages/marko-virtual/tests/index.test.ts | 375 +++++++ packages/marko-virtual/tsconfig.json | 9 + packages/marko-virtual/vite.config.ts | 20 + pnpm-lock.yaml | 943 +++++++++++++++++- pnpm-workspace.yaml | 2 + 42 files changed, 3302 insertions(+), 61 deletions(-) create mode 100644 docs/framework/marko/examples/dynamic.md create mode 100644 docs/framework/marko/examples/fixed.md create mode 100644 docs/framework/marko/examples/grid.md create mode 100644 docs/framework/marko/examples/infinite-scroll.md create mode 100644 docs/framework/marko/examples/smooth-scroll.md create mode 100644 docs/framework/marko/examples/variable.md create mode 100644 docs/framework/marko/examples/window.md create mode 100644 docs/framework/marko/marko-virtual.md create mode 100644 examples/marko/dynamic/package.json create mode 100644 examples/marko/dynamic/src/routes/+page.marko create mode 100644 examples/marko/dynamic/vite.config.ts create mode 100644 examples/marko/fixed/package.json create mode 100644 examples/marko/fixed/src/routes/+page.marko create mode 100644 examples/marko/fixed/vite.config.ts create mode 100644 examples/marko/grid/package.json create mode 100644 examples/marko/grid/src/routes/+page.marko create mode 100644 examples/marko/grid/vite.config.ts create mode 100644 examples/marko/infinite-scroll/package.json create mode 100644 examples/marko/infinite-scroll/src/routes/+page.marko create mode 100644 examples/marko/infinite-scroll/vite.config.ts create mode 100644 examples/marko/smooth-scroll/package.json create mode 100644 examples/marko/smooth-scroll/src/routes/+page.marko create mode 100644 examples/marko/smooth-scroll/vite.config.ts create mode 100644 examples/marko/variable/package.json create mode 100644 examples/marko/variable/src/routes/+page.marko create mode 100644 examples/marko/variable/vite.config.ts create mode 100644 examples/marko/window/package.json create mode 100644 examples/marko/window/src/routes/+page.marko create mode 100644 examples/marko/window/vite.config.ts create mode 100644 packages/marko-virtual/README.md create mode 100644 packages/marko-virtual/eslint.config.js create mode 100644 packages/marko-virtual/marko.json create mode 100644 packages/marko-virtual/package.json create mode 100644 packages/marko-virtual/src/index.ts create mode 100644 packages/marko-virtual/src/tags/virtualizer/index.marko create mode 100644 packages/marko-virtual/src/tags/window-virtualizer/index.marko create mode 100644 packages/marko-virtual/tests/index.test.ts create mode 100644 packages/marko-virtual/tsconfig.json create mode 100644 packages/marko-virtual/vite.config.ts diff --git a/docs/config.json b/docs/config.json index e65ba6ad2..50ba4cd0b 100644 --- a/docs/config.json +++ b/docs/config.json @@ -9,8 +9,14 @@ { "label": "Getting Started", "children": [ - { "label": "Introduction", "to": "introduction" }, - { "label": "Installation", "to": "installation" } + { + "label": "Introduction", + "to": "introduction" + }, + { + "label": "Installation", + "to": "installation" + } ], "frameworks": [ { @@ -34,7 +40,10 @@ { "label": "solid", "children": [ - { "label": "Solid Virtual", "to": "framework/solid/solid-virtual" } + { + "label": "Solid Virtual", + "to": "framework/solid/solid-virtual" + } ] }, { @@ -54,14 +63,29 @@ "to": "framework/vue/vue-virtual" } ] + }, + { + "label": "marko", + "children": [ + { + "label": "Marko Virtual", + "to": "framework/marko/marko-virtual" + } + ] } ] }, { "label": "Core APIs", "children": [ - { "label": "Virtualizer", "to": "api/virtualizer" }, - { "label": "VirtualItem", "to": "api/virtual-item" } + { + "label": "Virtualizer", + "to": "api/virtualizer" + }, + { + "label": "VirtualItem", + "to": "api/virtual-item" + } ] }, { @@ -236,8 +260,41 @@ "label": "Dynamic" } ] + }, + { + "label": "marko", + "children": [ + { + "to": "framework/marko/examples/fixed", + "label": "Fixed" + }, + { + "to": "framework/marko/examples/variable", + "label": "Variable" + }, + { + "to": "framework/marko/examples/dynamic", + "label": "Dynamic" + }, + { + "to": "framework/marko/examples/grid", + "label": "Grid" + }, + { + "to": "framework/marko/examples/infinite-scroll", + "label": "Infinite Scroll" + }, + { + "to": "framework/marko/examples/smooth-scroll", + "label": "Smooth Scroll" + }, + { + "to": "framework/marko/examples/window", + "label": "Window" + } + ] } ] } ] -} +} \ No newline at end of file diff --git a/docs/framework/marko/examples/dynamic.md b/docs/framework/marko/examples/dynamic.md new file mode 100644 index 000000000..463a69119 --- /dev/null +++ b/docs/framework/marko/examples/dynamic.md @@ -0,0 +1,11 @@ +--- +title: Marko Dynamic Example +--- + +## Example + +