diff --git a/.github/workflows/repo/build-page/action.yaml b/.github/workflows/repo/build-page/action.yaml index b0a8ef04f..b8f170475 100644 --- a/.github/workflows/repo/build-page/action.yaml +++ b/.github/workflows/repo/build-page/action.yaml @@ -1,9 +1,14 @@ name: Repository nue page build +description: | + Internal composite action to install dependencies, register the `nue` command, and build a Nue project. inputs: root: + description: | + The root directory of the Nue project to build. + This is passed to the `--root` option of the `nue build` command. default: '.' - type: string + required: false runs: using: composite diff --git a/bun.lock b/bun.lock index 5cb1045e0..fcf239890 100644 --- a/bun.lock +++ b/bun.lock @@ -6,11 +6,11 @@ }, "packages/glow": { "name": "nue-glow", - "version": "0.2.2", + "version": "0.2.3", }, "packages/hyper": { "name": "nue-hyper", - "version": "0.1.0", + "version": "0.1.1", "dependencies": { "domino": "^2.1.6", }, @@ -30,21 +30,21 @@ }, "packages/nuekit": { "name": "nuekit", - "version": "1.0.0-RC.3", + "version": "1.0.0-RC.4", "bin": { "nue": "./src/cli.js", "nue-node": "./src/cli-node.js", }, "dependencies": { - "diff-dom": "^5.1.4", + "diff-dom": "^5.2.0", "js-yaml": "^4.1.0", "nue-glow": "*", "nuejs-core": "*", "nuemark": "*", }, "devDependencies": { - "esbuild": "^0.25.2", - "lightningcss": "^1.29.3", + "esbuild": "^0.25.5", + "lightningcss": "^1.30.1", }, "peerDependencies": { "esbuild": "^0.25", @@ -57,7 +57,7 @@ }, "packages/nuemark": { "name": "nuemark", - "version": "0.6.2", + "version": "0.6.3", "dependencies": { "js-yaml": "^4.1.0", "nue-glow": "*", @@ -65,61 +65,61 @@ }, }, "packages": { - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.2", "", { "os": "android", "cpu": "arm" }, "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA=="], + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.2", "", { "os": "android", "cpu": "arm64" }, "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w=="], + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.2", "", { "os": "android", "cpu": "x64" }, "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg=="], + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA=="], + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA=="], + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w=="], + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ=="], + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.2", "", { "os": "linux", "cpu": "arm" }, "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g=="], + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g=="], + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ=="], + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.2", "", { "os": "linux", "cpu": "none" }, "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w=="], + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.2", "", { "os": "linux", "cpu": "none" }, "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q=="], + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g=="], + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.2", "", { "os": "linux", "cpu": "none" }, "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw=="], + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q=="], + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.2", "", { "os": "linux", "cpu": "x64" }, "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg=="], + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.2", "", { "os": "none", "cpu": "arm64" }, "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw=="], + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.2", "", { "os": "none", "cpu": "x64" }, "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg=="], + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg=="], + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw=="], + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA=="], + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q=="], + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg=="], + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.2", "", { "os": "win32", "cpu": "x64" }, "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA=="], + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - "detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="], + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], - "diff-dom": ["diff-dom@5.1.4", "", {}, "sha512-TSEaVdVGictY1KHg7VpVw2nuM02YKC9C8/qBkGiCnkiAybVbu1zQTMj2/dnVLRO7Z62UsqzHGpXweiOj5/jaZg=="], + "diff-dom": ["diff-dom@5.2.0", "", {}, "sha512-+FEFvDJljxPBz9ddkxCpn7I/5SFFYYfvqcS63zE+Aw+3TgTyHAI1RGXEBGLfrkbVQTYCSpvc0nxNNMyNBA60tQ=="], "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], @@ -133,33 +133,33 @@ "entities": ["entities@6.0.0", "", {}, "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw=="], - "esbuild": ["esbuild@0.25.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.2", "@esbuild/android-arm": "0.25.2", "@esbuild/android-arm64": "0.25.2", "@esbuild/android-x64": "0.25.2", "@esbuild/darwin-arm64": "0.25.2", "@esbuild/darwin-x64": "0.25.2", "@esbuild/freebsd-arm64": "0.25.2", "@esbuild/freebsd-x64": "0.25.2", "@esbuild/linux-arm": "0.25.2", "@esbuild/linux-arm64": "0.25.2", "@esbuild/linux-ia32": "0.25.2", "@esbuild/linux-loong64": "0.25.2", "@esbuild/linux-mips64el": "0.25.2", "@esbuild/linux-ppc64": "0.25.2", "@esbuild/linux-riscv64": "0.25.2", "@esbuild/linux-s390x": "0.25.2", "@esbuild/linux-x64": "0.25.2", "@esbuild/netbsd-arm64": "0.25.2", "@esbuild/netbsd-x64": "0.25.2", "@esbuild/openbsd-arm64": "0.25.2", "@esbuild/openbsd-x64": "0.25.2", "@esbuild/sunos-x64": "0.25.2", "@esbuild/win32-arm64": "0.25.2", "@esbuild/win32-ia32": "0.25.2", "@esbuild/win32-x64": "0.25.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ=="], + "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], "htmlparser2": ["htmlparser2@10.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.1", "entities": "^6.0.0" } }, "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g=="], "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], - "lightningcss": ["lightningcss@1.29.3", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.3", "lightningcss-darwin-x64": "1.29.3", "lightningcss-freebsd-x64": "1.29.3", "lightningcss-linux-arm-gnueabihf": "1.29.3", "lightningcss-linux-arm64-gnu": "1.29.3", "lightningcss-linux-arm64-musl": "1.29.3", "lightningcss-linux-x64-gnu": "1.29.3", "lightningcss-linux-x64-musl": "1.29.3", "lightningcss-win32-arm64-msvc": "1.29.3", "lightningcss-win32-x64-msvc": "1.29.3" } }, "sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ=="], + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-fb7raKO3pXtlNbQbiMeEu8RbBVHnpyqAoxTyTRMEWFQWmscGC2wZxoHzZ+YKAepUuKT9uIW5vL2QbFivTgprZg=="], + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.29.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-KF2XZ4ZdmDGGtEYmx5wpzn6u8vg7AdBHaEOvDKu8GOs7xDL/vcU2vMKtTeNe1d4dogkDdi3B9zC77jkatWBwEQ=="], + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="], - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.29.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-VUWeVf+V1UM54jv9M4wen9vMlIAyT69Krl9XjI8SsRxz4tdNV/7QEPlW6JASev/pYdiynUCW0pwaFquDRYdxMw=="], + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="], - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.29.3", "", { "os": "linux", "cpu": "arm" }, "sha512-UhgZ/XVNfXQVEJrMIWeK1Laj8KbhjbIz7F4znUk7G4zeGw7TRoJxhb66uWrEsonn1+O45w//0i0Fu0wIovYdYg=="], + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="], - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.29.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Pqau7jtgJNmQ/esugfmAT1aCFy/Gxc92FOxI+3n+LbMHBheBnk41xHDhc0HeYlx9G0xP5tK4t0Koy3QGGNqypw=="], + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="], - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.29.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-dxakOk66pf7KLS7VRYFO7B8WOJLecE5OPL2YOk52eriFd/yeyxt2Km5H0BjLfElokIaR+qWi33gB8MQLrdAY3A=="], + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="], - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.29.3", "", { "os": "linux", "cpu": "x64" }, "sha512-ySZTNCpbfbK8rqpKJeJR2S0g/8UqqV3QnzcuWvpI60LWxnFN91nxpSSwCbzfOXkzKfar9j5eOuOplf+klKtINg=="], + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="], - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.29.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3pVZhIzW09nzi10usAXfIGTTSTYQ141dk88vGFNCgawIzayiIzZQxEcxVtIkdvlEq2YuFsL9Wcj/h61JHHzuFQ=="], + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="], - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.29.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-VRnkAvtIkeWuoBJeGOTrZxsNp4HogXtcaaLm8agmbYtLDOhQdpgxW6NjZZjDXbvGF+eOehGulXZ3C1TiwHY4QQ=="], + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="], - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.3", "", { "os": "win32", "cpu": "x64" }, "sha512-IszwRPu2cPnDQsZpd7/EAr0x2W7jkaWqQ1SwCVIZ/tSbZVXPLt6k8s6FkcyBjViCzvB5CW0We0QbbP7zp2aBjQ=="], + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], "nue-glow": ["nue-glow@workspace:packages/glow"], diff --git a/packages/examples/simple-mpa/app/model/users.js b/packages/examples/simple-mpa/app/model/users.js index d6176d7f5..ef5660653 100644 --- a/packages/examples/simple-mpa/app/model/users.js +++ b/packages/examples/simple-mpa/app/model/users.js @@ -42,7 +42,7 @@ const THREADS = [ ], [ 'Can you tell me what you were doing when it happened?', - 'I was on the customer view, clicked on the notitication icon, and selected "never". The system did not respond. I\'m on latest Chrome', + 'I was on the customer view, clicked on the notification icon, and selected "never". The system did not respond. I\'m on latest Chrome', 'We found the issue and pushed a fix to production. Please reload the app.', 'Thank you! Works now 🎉🎉', ], diff --git a/packages/hyper/README.md b/packages/hyper/README.md index e1ddc95a4..69d3ce372 100644 --- a/packages/hyper/README.md +++ b/packages/hyper/README.md @@ -3,6 +3,6 @@ # Hyper (Developer Preview) Hyper is a simple markup language for building user interfaces. It enables developers (and AI models) to generate complex UIs with amazingly clean syntax. -[Launch post](https://nuejs.org/blog/introducing-hyper/) • [Docs](https://nuejs.org/hyper/) +[Launch post](https://nuejs.org/blog/standards-first-react-alternative/) • [Docs](https://nuejs.org/hyper/) - \ No newline at end of file + diff --git a/packages/hyper/demo/table/builds/table.js b/packages/hyper/demo/table/builds/table.js index aec0dc6d6..51f7742d3 100644 --- a/packages/hyper/demo/table/builds/table.js +++ b/packages/hyper/demo/table/builds/table.js @@ -16,7 +16,7 @@ export const lib = [ { tag: 'div', children: [ { tag: 'h1', children: [ { text: 'Table example' } ] }, { tag: 'p', - children: [ { text: 'A more compex table with filtering and sortable columns' } ] }, + children: [ { text: 'A more complex table with filtering and sortable columns' } ] }, { tag: 'input', attr: [ { name: 'type', val: 'search' }, diff --git a/packages/hyper/demo/table/builds/table.min.js b/packages/hyper/demo/table/builds/table.min.js index 2a9b8fdb0..ab1d20563 100644 --- a/packages/hyper/demo/table/builds/table.min.js +++ b/packages/hyper/demo/table/builds/table.min.js @@ -1 +1 @@ -var n=[{tag:"div",attr:[{name:"class",val:"card"}],script:function(){this.sort=function(t){this.by=this.by==t?this.by:t,this.dir=this.by==t?-this.dir||-1:1,this.users.sort((e,a)=>(e[t]>a[t]?1:-1)*this.dir)},this.filter=function(t){let e=t.target.value.trim().toLowerCase();this.subset=e?this.users.filter((a)=>a.name.toLowerCase().includes(e)):null}},children:[{tag:"header",children:[{tag:"h1",children:[{text:"Table example"}]},{tag:"p",children:[{text:"A more compex table with filtering and sortable columns"}]},{tag:"input",attr:[{name:"type",val:"search"},{name:"placeholder",val:"Filter by name..."}],handlers:[{name:"oninput",h_fn:(t,e)=>t.filter(e)}]}]},{tag:"table",children:[{tag:"tr",children:[{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("name")}],children:[{text:"Name"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("email")}],children:[{text:"Email"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("age")}],children:[{text:"Age"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("total")}],children:[{text:"Total"}]}]}]},{tag:"tr",for:{fn:(t)=>t.subset||t.users,keys:["user"],is_entries:!1},attr:[{name:"key",fn:(t)=>t.user.id}],children:[{tag:"td",children:[{fn:(t)=>t.user.name}]},{tag:"td",children:[{fn:(t)=>t.user.email}]},{tag:"td",children:[{fn:(t)=>t.user.age}]},{tag:"td",children:[{fn:(t)=>new Intl.NumberFormat("en-US").format(t.user.total)}]}]},{some:[{tag:"tr",if:"_.subset && !_.subset[0]",children:[{tag:"td",attr:[{name:"colspan",val:"4"}],children:[{text:"No results"}]}]}]},{tag:"caption",children:[{fn:(t)=>t.users.length},{text:" people in total"}]}]}]}];export{n as lib}; +var n=[{tag:"div",attr:[{name:"class",val:"card"}],script:function(){this.sort=function(t){this.by=this.by==t?this.by:t,this.dir=this.by==t?-this.dir||-1:1,this.users.sort((e,a)=>(e[t]>a[t]?1:-1)*this.dir)},this.filter=function(t){let e=t.target.value.trim().toLowerCase();this.subset=e?this.users.filter((a)=>a.name.toLowerCase().includes(e)):null}},children:[{tag:"header",children:[{tag:"h1",children:[{text:"Table example"}]},{tag:"p",children:[{text:"A more complex table with filtering and sortable columns"}]},{tag:"input",attr:[{name:"type",val:"search"},{name:"placeholder",val:"Filter by name..."}],handlers:[{name:"oninput",h_fn:(t,e)=>t.filter(e)}]}]},{tag:"table",children:[{tag:"tr",children:[{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("name")}],children:[{text:"Name"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("email")}],children:[{text:"Email"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("age")}],children:[{text:"Age"}]}]},{tag:"th",children:[{tag:"a",handlers:[{name:"onclick",h_fn:(t,e)=>t.sort("total")}],children:[{text:"Total"}]}]}]},{tag:"tr",for:{fn:(t)=>t.subset||t.users,keys:["user"],is_entries:!1},attr:[{name:"key",fn:(t)=>t.user.id}],children:[{tag:"td",children:[{fn:(t)=>t.user.name}]},{tag:"td",children:[{fn:(t)=>t.user.email}]},{tag:"td",children:[{fn:(t)=>t.user.age}]},{tag:"td",children:[{fn:(t)=>new Intl.NumberFormat("en-US").format(t.user.total)}]}]},{some:[{tag:"tr",if:"_.subset && !_.subset[0]",children:[{tag:"td",attr:[{name:"colspan",val:"4"}],children:[{text:"No results"}]}]}]},{tag:"caption",children:[{fn:(t)=>t.users.length},{text:" people in total"}]}]}]}];export{n as lib}; diff --git a/packages/hyper/demo/table/table-component.html b/packages/hyper/demo/table/table-component.html index ae0f4f061..a7821bffd 100644 --- a/packages/hyper/demo/table/table-component.html +++ b/packages/hyper/demo/table/table-component.html @@ -4,7 +4,7 @@

Table example

-

A more compex table with filtering and sortable columns

+

A more complex table with filtering and sortable columns

diff --git a/packages/hyper/package.json b/packages/hyper/package.json index 66369fb7c..6e7fa560c 100644 --- a/packages/hyper/package.json +++ b/packages/hyper/package.json @@ -2,11 +2,10 @@ "name": "nue-hyper", "version": "0.1.1", "description": "Hyper is HTML markup for building user interfaces", - "homepage": "https://nuejs.org/blog/introducing-hyper/", + "homepage": "https://nuejs.org/blog/standards-first-react-alternative/", "main": "src/index.js", "license": "MIT", "type": "module", - "repository": { "url": "https://github.com/nuejs/nue", "directory": "packages/hyper", diff --git a/packages/nuejs.org/@global/global.css b/packages/nuejs.org/@global/global.css index cc0d0ef9f..879e3f224 100644 --- a/packages/nuejs.org/@global/global.css +++ b/packages/nuejs.org/@global/global.css @@ -5,6 +5,7 @@ html { scroll-behavior: smooth; + hyphens: auto; overflow-x: hidden; } @@ -14,8 +15,8 @@ body { font-family: system-ui; margin: 0; - @media (width < 900) { font-size: 15px } - @media (width < 600) { font-size: 14px } + @media (width < 900px) { font-size: 15px } + @media (width < 600px) { font-size: 14px } } diff --git a/packages/nuejs.org/@global/navigation.css b/packages/nuejs.org/@global/navigation.css index 2df743f4f..59d86e4a6 100644 --- a/packages/nuejs.org/@global/navigation.css +++ b/packages/nuejs.org/@global/navigation.css @@ -80,14 +80,14 @@ body > header { nav:first-child { display: flex; - @media (width < 650) { + @media (width < 650px) { gap: .75rem; a:not(.nav-home, .pill) { display: none } } } } - @media (width < 500) { + @media (width < 500px) { .pill { display: none } } } @@ -143,7 +143,7 @@ body > footer { font-size: .9rem; gap: 2rem; - @media (width < 600) { + @media (width < 600px) { flex-direction: column; gap: 1.5rem; } diff --git a/packages/nuejs.org/@global/navigation.yaml b/packages/nuejs.org/@global/navigation.yaml index 6c54d7ddc..bd49ec918 100644 --- a/packages/nuejs.org/@global/navigation.yaml +++ b/packages/nuejs.org/@global/navigation.yaml @@ -7,15 +7,15 @@ globalnav: - Docs: /docs/ - Blog: /blog/ - Vision: /vision/ - - url: /blog/introducing-hyper/ - label: "*Introducing Hyper* A simple React alternative ›" + - url: /blog/standards-first-react-alternative/ + label: "*Hyper* Standards first React alternative ›" class: news pill # header toolbar (complementary) toolbar: - Slack: //join.slack.com/t/nuejs/shared_invite/zt-2wf8ozu5i-N2Y9PA_D17weIWuN2QPOqQ "slack" - - 8.5k: //github.com/nuejs/nue "github pill" + - 8.7k: //github.com/nuejs/nue "github pill" # burger menu menu: diff --git a/packages/nuejs.org/@global/popover.css b/packages/nuejs.org/@global/popover.css index 6ee703b8b..f2bf4c2da 100644 --- a/packages/nuejs.org/@global/popover.css +++ b/packages/nuejs.org/@global/popover.css @@ -80,7 +80,7 @@ dialog { figure { margin: 0 } } - @media(width < 900) { + @media(width < 900px) { max-height: 96vh; flex-direction: column; h3 span { display: none } diff --git a/packages/nuejs.org/@global/variables.css b/packages/nuejs.org/@global/variables.css index 3a8146f5f..3ced1a7e8 100644 --- a/packages/nuejs.org/@global/variables.css +++ b/packages/nuejs.org/@global/variables.css @@ -43,7 +43,7 @@ } -@media (max-width: 600px) { +@media (width <= 600px) { :root { --body-padding: 1.2em; } } diff --git a/packages/nuejs.org/@lib/form.htm b/packages/nuejs.org/@lib/form.dhtml similarity index 100% rename from packages/nuejs.org/@lib/form.htm rename to packages/nuejs.org/@lib/form.dhtml diff --git a/packages/nuejs.org/@lib/syntax-extras.css b/packages/nuejs.org/@lib/syntax-extras.css index b5d93b1aa..0455156b7 100644 --- a/packages/nuejs.org/@lib/syntax-extras.css +++ b/packages/nuejs.org/@lib/syntax-extras.css @@ -88,7 +88,7 @@ h3 { color: var(--gray-200) } - @media (max-width: 750px) { + @media (width <= 750px) { flex-direction: column; } } diff --git a/packages/nuejs.org/@lib/technical-content.css b/packages/nuejs.org/@lib/technical-content.css index 81082564b..8e011e7d3 100644 --- a/packages/nuejs.org/@lib/technical-content.css +++ b/packages/nuejs.org/@lib/technical-content.css @@ -142,6 +142,7 @@ article { > video { border-radius: 6px; cursor: pointer; + max-width: 100%; &:active { transform: scale(.995); @@ -234,7 +235,7 @@ h2[id], section > h3[id] { display: none; } - @media(width > 800) { + @media(width > 800px) { &:hover:before { display: inline; } diff --git a/packages/nuejs.org/blog/blog.css b/packages/nuejs.org/blog/blog.css index c23a3d597..b4fe8853b 100644 --- a/packages/nuejs.org/blog/blog.css +++ b/packages/nuejs.org/blog/blog.css @@ -72,7 +72,7 @@ h1 { /* image.large, image.larger */ -@media (min-width: 950px) { +@media (width >= 950px) { .large, .larger { margin-inline: -12vw; img { width: 999% } diff --git a/packages/nuejs.org/blog/introducing-glow/pair-coding-demo.css b/packages/nuejs.org/blog/introducing-glow/pair-coding-demo.css index 656aab5b4..6eeea4f8c 100644 --- a/packages/nuejs.org/blog/introducing-glow/pair-coding-demo.css +++ b/packages/nuejs.org/blog/introducing-glow/pair-coding-demo.css @@ -53,7 +53,7 @@ } } - @media (max-width: 500px) { + @media (width <= 500px) { overflow-x: auto; padding: .5em; [glow] { border-radius: .5em; } diff --git a/packages/nuejs.org/blog/lib/blog-index.css b/packages/nuejs.org/blog/lib/blog-index.css index 25c15c5c4..4811621e3 100644 --- a/packages/nuejs.org/blog/lib/blog-index.css +++ b/packages/nuejs.org/blog/lib/blog-index.css @@ -82,7 +82,7 @@ li { color: white; } - @media (width > 800) { + @media (width > 800px) { flex-direction: row; margin-bottom: 0; gap: 1.5em; diff --git a/packages/nuejs.org/blog/introducing-hyper/complex-table.md b/packages/nuejs.org/blog/standards-first-react-alternative/complex-table.md similarity index 99% rename from packages/nuejs.org/blog/introducing-hyper/complex-table.md rename to packages/nuejs.org/blog/standards-first-react-alternative/complex-table.md index 175940527..42fcb1e20 100644 --- a/packages/nuejs.org/blog/introducing-hyper/complex-table.md +++ b/packages/nuejs.org/blog/standards-first-react-alternative/complex-table.md @@ -1,6 +1,6 @@ --- -back_to: introducing-hyper/ +back_to: standards-first-react-alternative/ pagehead: false unlisted: true --- @@ -309,7 +309,7 @@ export default function DataTable({ data }: DataTableProps) { ## With Hyper -Uses only about 40 lines of code, roughly 75% reduction in code to impolement the same features. +Uses only about 40 lines of code, roughly 75% reduction in code to implement the same features. ``` html @@ -353,9 +353,3 @@ Uses only about 40 lines of code, roughly 75% reduction in code to impolement th
``` - - - - - - diff --git a/packages/nuejs.org/blog/introducing-hyper/img/branding-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/branding-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/branding-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/branding-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/branding.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/branding.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/branding.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/branding.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/complex-table-1.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-1.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/complex-table-1.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-1.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/complex-table-2.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-2.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/complex-table-2.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-2.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/complex-table-3.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-3.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/complex-table-3.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/complex-table-3.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-dark-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-dark-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-dark-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-dark-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-dark.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-dark.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/hyper-banner-dark.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner-dark.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/hyper-banner.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/hyper-banner.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-banner.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/hyper-og.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-og.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/hyper-og.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/hyper-og.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/minimalist-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/minimalist-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/minimalist-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/minimalist-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/minimalist.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/minimalist.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/minimalist.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/minimalist.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/ramsian-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/ramsian-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/ramsian-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/ramsian-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/ramsian.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/ramsian.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/ramsian.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/ramsian.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/shadcn-typo-big.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/shadcn-typo-big.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/shadcn-typo-big.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/shadcn-typo-big.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/shadcn-typo.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/shadcn-typo.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/shadcn-typo.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/shadcn-typo.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/simple-table-1.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-1.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/simple-table-1.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-1.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/simple-table-2.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-2.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/simple-table-2.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-2.png diff --git a/packages/nuejs.org/blog/introducing-hyper/img/simple-table-3.png b/packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-3.png similarity index 100% rename from packages/nuejs.org/blog/introducing-hyper/img/simple-table-3.png rename to packages/nuejs.org/blog/standards-first-react-alternative/img/simple-table-3.png diff --git a/packages/nuejs.org/blog/introducing-hyper/index.md b/packages/nuejs.org/blog/standards-first-react-alternative/index.md similarity index 99% rename from packages/nuejs.org/blog/introducing-hyper/index.md rename to packages/nuejs.org/blog/standards-first-react-alternative/index.md index b443fcc5a..5cf238d2e 100644 --- a/packages/nuejs.org/blog/introducing-hyper/index.md +++ b/packages/nuejs.org/blog/standards-first-react-alternative/index.md @@ -255,7 +255,7 @@ Estimate: 4-5 months. ### How can a small library challenge React's dominance? -Gradually. To succeed, we particularly need to address the following: +Gradually. To succeed, we need to address the following: 1. **Developer perception**: Many frontend developers have come to view abstraction layers as essential. As Hyper demonstrates how professional UIs can be built without these complexities, this perception will shift. diff --git a/packages/nuejs.org/blog/introducing-hyper/simple-table.md b/packages/nuejs.org/blog/standards-first-react-alternative/simple-table.md similarity index 98% rename from packages/nuejs.org/blog/introducing-hyper/simple-table.md rename to packages/nuejs.org/blog/standards-first-react-alternative/simple-table.md index accbc0dbc..63cd818bc 100644 --- a/packages/nuejs.org/blog/introducing-hyper/simple-table.md +++ b/packages/nuejs.org/blog/standards-first-react-alternative/simple-table.md @@ -1,6 +1,6 @@ --- -back_to: introducing-hyper/ +back_to: standards-first-react-alternative/ pagehead: false unlisted: true --- diff --git a/packages/nuejs.org/blog/status-update-01/status-update.css b/packages/nuejs.org/blog/status-update-01/status-update.css index ef327712a..351ced42a 100644 --- a/packages/nuejs.org/blog/status-update-01/status-update.css +++ b/packages/nuejs.org/blog/status-update-01/status-update.css @@ -5,13 +5,13 @@ img { width: 200px; } - @media (min-width: 700px) { + @media (width >= 700px) { margin: 0 0 0 3em; text-align: right; float: right; } - @media (min-width: 900px) { + @media (width >= 900px) { margin-right: -4em } } diff --git a/packages/nuejs.org/docs/content-focused-apps.md b/packages/nuejs.org/docs/content-focused-apps.md index b7dd712dc..5323c847f 100644 --- a/packages/nuejs.org/docs/content-focused-apps.md +++ b/packages/nuejs.org/docs/content-focused-apps.md @@ -31,7 +31,6 @@ This generates a styled, interactive grid — say, a responsive bento-box layout Nue begins with content in its specialized Markdown dialect, delivering a semantic, accessible baseline. From there, it layers enhancements like interactive islands, and motion to create a robust user experience. Each step builds on the content-first foundation, using web standards to keep the process simple and maintainable. - ### Layout modules Layout modules are clean, semantic HTML templates attached to specific "slots" in the page layout. A header module might slot in navigation, while a footer includes a `` custom tag for a mailing list submissions. Defined once and reused across pages, they structure Markdown content consistently without burdening creators with markup. @@ -53,9 +52,6 @@ In content-heavy sites, JavaScript is optional, unlike in SPAs where it’s cent Motion enhances the experience through modern CSS, reducing reliance on JavaScript-heavy solutions common in frameworks. Scroll-linked effects via `[.progress]` or view transitions — enabled in `site.yaml` — add fluidity and engagement. These standards-based techniques progressively build on the content-first foundation with minimal overhead. -You’re right — “unify” feels abrupt and doesn’t fully capture the intent. I’ll revise the *Multipage applications* section to clarify how Nue supports developing both content-focused apps (e.g., docs, blogs, products) and SPAs within the same cohesive environment, choosing the best development model for each task. Here’s the updated version: - - ## Multipage applications Nue enables developers to build content-focused applications — like documentation, blogs, or product pages — alongside single-page applications (SPAs) within a single, cohesive development environment. Each type uses the right model for the job: Markdown-driven simplicity for content apps and logic-focused templates for SPAs. This flexibility ties everything together with a shared design system and seamless navigation. @@ -63,9 +59,6 @@ Nue enables developers to build content-focused applications — like documentat For example, a site might include a blog and docs as content-focused pages, authored in Markdown, and an SPA dashboard built with HTML templates. Nue’s routing manages transitions across both, enhanced by view transitions defined in CSS, like a smooth scale effect between pages. The shared design system ensures visual consistency, making the site feel integrated without forcing a one-size-fits-all approach. -Fair point — limiting it to React devs narrows the scope unnecessarily. I’ll generalize it to reflect that the standards-first model might be new to developers from various backgrounds. Here’s the updated *Templates* section: - - ## Templates This website — featuring rich marketing pages, documentation, and a blog — is built with Nue, showcasing its standards-first approach. For developers used to framework-heavy workflows, this model may feel unfamiliar. We’re crafting templates to ease that transition, spanning the full frontend spectrum: standards-first UI libraries, SPAs, and content-rich MPAs, all integrated with your chosen design system. These templates will highlight what’s achievable with browser-native tools. Join our mailing list to get notified when they’re released. diff --git a/packages/nuejs.org/docs/css/doc-layout.css b/packages/nuejs.org/docs/css/doc-layout.css index 174822e07..8b34e27cd 100644 --- a/packages/nuejs.org/docs/css/doc-layout.css +++ b/packages/nuejs.org/docs/css/doc-layout.css @@ -26,7 +26,7 @@ article + aside { } /* small screens */ -@media (max-width: 1000px) { +@media (width <= 1000px) { /* left sidebar */ aside:first-child { @@ -42,7 +42,7 @@ article + aside { } /* medium screens ( < 1300px) */ -@media (width > 1000) { +@media (width > 1000px) { body > header { position: fixed; top: 0; @@ -74,6 +74,7 @@ article + aside { /* left sidebar */ &[popover] { + max-width: 18em; margin: auto 0 0 2em; padding-right: 4em; button { display: none } @@ -82,7 +83,7 @@ article + aside { } /* big screens */ -@media (width > 1300) { +@media (width > 1300px) { article { max-width: 50vw; diff --git a/packages/nuejs.org/docs/index.md b/packages/nuejs.org/docs/index.md index 12875b660..f37f7a5d4 100644 --- a/packages/nuejs.org/docs/index.md +++ b/packages/nuejs.org/docs/index.md @@ -51,7 +51,7 @@ Build times consistently run in milliseconds, even for large-scale apps, deliver ### For software architects -Nue brings back the good practices of software engineering: simple, testable functions, modular design, minimal dependencies, and an architecture-first approach. Build computation engines with the language of your choice (JavaScript, Rust, Go, or TypeScript) and reach new levels of performance and architectural clarity. Nue is for developers who wish to bulid on classic algorithms and data structures over React idioms. +Nue brings back the good practices of software engineering: simple, testable functions, modular design, minimal dependencies, and an architecture-first approach. Build computation engines with the language of your choice (JavaScript, Rust, Go, or TypeScript) and reach new levels of performance and architectural clarity. Nue is for developers who wish to build on classic algorithms and data structures over React idioms. ### For design engineers diff --git a/packages/nuejs.org/home/css/_roadmap.css b/packages/nuejs.org/home/css/_roadmap.css index c4ba59b00..8a7c239ae 100644 --- a/packages/nuejs.org/home/css/_roadmap.css +++ b/packages/nuejs.org/home/css/_roadmap.css @@ -41,7 +41,7 @@ margin: 0 0 var(--gap); } - @media (800 < width < 1100) { + @media (800px < width < 1100px) { .panel:last-child { max-width: 100%; ul { diff --git a/packages/nuejs.org/hyper/index.md b/packages/nuejs.org/hyper/index.md index 4d799ac87..a7fb03aaf 100644 --- a/packages/nuejs.org/hyper/index.md +++ b/packages/nuejs.org/hyper/index.md @@ -5,11 +5,11 @@ include: [technical-content] # Hyper documentation Hyper is a simple markup language for building user interfaces. Currently in **development preview**, it enables developers (and AI models) to generate complex UIs with a clean syntax. -[Read the launch post](/blog/introducing-hyper/) for the backstory an FAQ +[Read the launch post](/blog/standards-first-react-alternative/) for the backstory an FAQ [image.bordered] - large: /blog/introducing-hyper/img/hyper-banner-big.png - small: /blog/introducing-hyper/img/hyper-banner.png + large: /blog/standards-first-react-alternative/img/hyper-banner-big.png + small: /blog/standards-first-react-alternative/img/hyper-banner.png size: 598 × 237 @@ -59,7 +59,7 @@ The most significant change is the strict separation between components and CSS- For 3 and 4 Hyper currently issues a warning, but on the official releases there will be a configurable strict mode for production environments that throws an error. -Read the [launch post](/blog/introducing-hyper/) for the complete rationale. +Read the [launch post](/blog/standards-first-react-alternative/) for the complete rationale. @@ -123,7 +123,7 @@ Render a compiled JavaScript on the browser ``` ### Just-in-time (JIT) rendering -Compiles the template directly on the browser befor rendering. Check `demo/table/simple-table.html` for a demo: +Compiles the template directly on the browser before rendering. Check `demo/table/simple-table.html` for a demo: ```