From be46eaedf6d330787007c54a0c78678a07ba732e Mon Sep 17 00:00:00 2001
From: Johan Gorter
Date: Mon, 9 Feb 2026 16:43:14 +0100
Subject: [PATCH 1/2] Migrate website from maquettejs.org to maquette.js.org
- Update all URL references from maquettejs.org to maquette.js.org
- Also upgrade http:// links to https://
- Configure Firebase Hosting to 301 redirect all traffic to new domain
- Add CNAME file for GitHub Pages hosting
---
README.md | 4 ++--
bower.json | 2 +-
package.json | 2 +-
src/h.ts | 4 ++--
src/index.ts | 2 +-
src/interfaces.ts | 8 ++++----
src/mapping.ts | 2 +-
website/firebase.json | 7 +++++++
website/package.json | 2 +-
website/source/CNAME | 1 +
website/source/script.js.ejs | 2 +-
website/source/tutorial/12-done.ejs | 2 +-
12 files changed, 23 insertions(+), 15 deletions(-)
create mode 100644 website/source/CNAME
diff --git a/README.md b/README.md
index 888c32e..a6f3f3e 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,6 @@ Compared to other virtual DOM implementations, maquette has the following advant
* It is very lightweight (3.7Kb gzipped)
* It allows changes to be animated
-* It makes your frontend [easy to unit-test](https://maquettejs.org/docs/unit-testing.html)
+* It makes your frontend [easy to unit-test](https://maquette.js.org/docs/unit-testing.html)
-Visit the [website](https://maquettejs.org) for more information.
+Visit the [website](https://maquette.js.org) for more information.
diff --git a/bower.json b/bower.json
index 7d9ad32..94e059f 100644
--- a/bower.json
+++ b/bower.json
@@ -2,7 +2,7 @@
"name": "maquette",
"main": "dist/maquette.js",
"version": "2.5.4",
- "homepage": "http://maquettejs.org/",
+ "homepage": "https://maquette.js.org/",
"authors": [
"Johan Gorter "
],
diff --git a/package.json b/package.json
index 8555eb3..669ea86 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"workspaces": [
"browser-tests"
],
- "homepage": "https://maquettejs.org/",
+ "homepage": "https://maquette.js.org/",
"keywords": [
"virtual",
"dom",
diff --git a/src/h.ts b/src/h.ts
index 919f774..3038c06 100644
--- a/src/h.ts
+++ b/src/h.ts
@@ -40,7 +40,7 @@ let appendChildren = (parentSelector: string, insertions: VNodeChild[], main: VN
*
* @returns A VNode object, used to render a real DOM later.
*
- * NOTE: There are {@link http://maquettejs.org/docs/rules.html two basic rules} you should be aware of when updating the virtual DOM.
+ * NOTE: There are {@link https://maquette.js.org/docs/rules.html two basic rules} you should be aware of when updating the virtual DOM.
*/
export function h(
selector: string,
@@ -60,7 +60,7 @@ export function h(
*
* @returns A VNode object, used to render a real DOM later.
*
- * NOTE: There are {@link http://maquettejs.org/docs/rules.html two basic rules} you should be aware of when updating the virtual DOM.
+ * NOTE: There are {@link https://maquette.js.org/docs/rules.html two basic rules} you should be aware of when updating the virtual DOM.
*/
export function h(selector: string, children: VNodeChild[]): VNode;
diff --git a/src/index.ts b/src/index.ts
index 390b746..ed94bed 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -6,7 +6,7 @@
* interactive web applications. To get started, use {@link createProjector} to create a projector
* that manages the rendering lifecycle, and use the {@link h} function to create virtual DOM nodes.
*
- * {@link https://maquettejs.org/ | ← Back to the maquette homepage}
+ * {@link https://maquette.js.org/ | ← Back to the maquette homepage}
* @module
*/
export { createCache } from "./cache";
diff --git a/src/interfaces.ts b/src/interfaces.ts
index d90beea..31389a2 100644
--- a/src/interfaces.ts
+++ b/src/interfaces.ts
@@ -103,7 +103,7 @@ export interface VNode {
export interface VNodeProperties {
/**
* The animation to perform when this node is added to an already existing parent.
- * {@link http://maquettejs.org/docs/animations.html More about animations}.
+ * {@link https://maquette.js.org/docs/animations.html More about animations}.
* @param element - Element that was just added to the DOM.
* @param properties - The properties object that was supplied to the {@link h} method
*/
@@ -120,7 +120,7 @@ export interface VNodeProperties {
/**
* The animation to perform when the properties of this node change.
* This also includes attributes, styles, css classes. This callback is also invoked when node contains only text and that text changes.
- * {@link http://maquettejs.org/docs/animations.html More about animations}.
+ * {@link https://maquette.js.org/docs/animations.html More about animations}.
* @param element - Element that was modified in the DOM.
* @param properties - The last properties object that was supplied to the {@link h} method
* @param previousProperties - The previous properties object that was supplied to the {@link h} method
@@ -166,7 +166,7 @@ export interface VNodeProperties {
/**
* Callback that is called when a node has been removed from the tree.
* The callback is called during idle state or after a timeout (fallback).
- * {@link https://maquettejs.org/docs/dom-node-removal.html More info}
+ * {@link https://maquette.js.org/docs/dom-node-removal.html More info}
* @param element - The element that has been removed from the DOM.
*/
afterRemoved?(element: Element): void;
@@ -402,7 +402,7 @@ export interface ProjectionOptions extends ProjectorOptions {
/**
* Keeps an array of result objects synchronized with an array of source objects.
- * See {@link http://maquettejs.org/docs/arrays.html Working with arrays}.
+ * See {@link https://maquette.js.org/docs/arrays.html Working with arrays}.
*
* Mapping provides a {@link map} function that updates its {@link results}.
* The {@link map} function can be called multiple times and the results will get created, removed and updated accordingly.
diff --git a/src/mapping.ts b/src/mapping.ts
index e6b27ac..5e309a9 100644
--- a/src/mapping.ts
+++ b/src/mapping.ts
@@ -2,7 +2,7 @@ import { Mapping } from "./interfaces";
/**
* Creates a {@link Mapping} instance that keeps an array of result objects synchronized with an array of source objects.
- * See {@link http://maquettejs.org/docs/arrays.html Working with arrays}.
+ * See {@link https://maquette.js.org/docs/arrays.html Working with arrays}.
*
* @param The type of source items. A database-record for instance.
* @param The type of target items. A {@link MaquetteComponent} for instance.
diff --git a/website/firebase.json b/website/firebase.json
index 083f363..e36b76b 100644
--- a/website/firebase.json
+++ b/website/firebase.json
@@ -5,6 +5,13 @@
"firebase.json",
"**/.*",
"**/node_modules/**"
+ ],
+ "redirects": [
+ {
+ "source": "/:path*",
+ "destination": "https://maquette.js.org/:path",
+ "type": 301
+ }
]
}
}
diff --git a/website/package.json b/website/package.json
index 6467aaf..36cf315 100644
--- a/website/package.json
+++ b/website/package.json
@@ -1,7 +1,7 @@
{
"name": "maquette-website",
"description": "Website for maquette",
- "homepage": "https://maquettejs.org/",
+ "homepage": "https://maquette.js.org/",
"version": "1.0.0",
"author": "Johan Gorter ",
"repository": {
diff --git a/website/source/CNAME b/website/source/CNAME
new file mode 100644
index 0000000..cf44a84
--- /dev/null
+++ b/website/source/CNAME
@@ -0,0 +1 @@
+maquette.js.org
diff --git a/website/source/script.js.ejs b/website/source/script.js.ejs
index 7e89222..e96f29b 100644
--- a/website/source/script.js.ejs
+++ b/website/source/script.js.ejs
@@ -78,7 +78,7 @@ window.createLiveEditor = function (projector) {
js_external: "//unpkg.com/maquette@<%-maquetteVersion-%>/dist/maquette.umd.js;" +
"//cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.min.js;" +
"//unpkg.com/maquette-css-transitions@1.1.0/dist/maquette-css-transitions.umd.js",
- css_external: "//maquettejs.org/demo.css"
+ css_external: "//maquette.js.org/demo.css"
})})
])).domNode.submit();
};
diff --git a/website/source/tutorial/12-done.ejs b/website/source/tutorial/12-done.ejs
index 0cf51b5..c9b45e3 100644
--- a/website/source/tutorial/12-done.ejs
+++ b/website/source/tutorial/12-done.ejs
@@ -21,7 +21,7 @@ layout: tutorial.ejs