From fb541c34c3542a87c9c9f020089188422943c2f6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 20 Jun 2018 11:50:07 -0400 Subject: [PATCH] Rename experimental -> lovelace --- ...ent_card_types.md => lovelace_card_types.md} | 0 ...t_custom_card.md => lovelace_custom_card.md} | 2 +- ...nd_experiment_index.md => lovelace_index.md} | 8 +++++--- website/sidebars.json | 8 ++++---- .../en/frontend/experimental-ui-comparison.png | Bin 11695 -> 0 bytes .../img/en/frontend/lovelace-ui-comparison.png | Bin 0 -> 11136 bytes 6 files changed, 10 insertions(+), 8 deletions(-) rename docs/{frontend_experiment_card_types.md => lovelace_card_types.md} (100%) rename docs/{frontend_experiment_custom_card.md => lovelace_custom_card.md} (98%) rename docs/{frontend_experiment_index.md => lovelace_index.md} (79%) delete mode 100644 website/static/img/en/frontend/experimental-ui-comparison.png create mode 100644 website/static/img/en/frontend/lovelace-ui-comparison.png diff --git a/docs/frontend_experiment_card_types.md b/docs/lovelace_card_types.md similarity index 100% rename from docs/frontend_experiment_card_types.md rename to docs/lovelace_card_types.md diff --git a/docs/frontend_experiment_custom_card.md b/docs/lovelace_custom_card.md similarity index 98% rename from docs/frontend_experiment_custom_card.md rename to docs/lovelace_custom_card.md index b43fde12..005b4f37 100644 --- a/docs/frontend_experiment_custom_card.md +++ b/docs/lovelace_custom_card.md @@ -2,7 +2,7 @@ title: "Custom Cards" --- -You're not just limited to the cards that we decided to include in the experimental UI. You can build and use your own! +You're not just limited to the cards that we decided to include in the Lovelace UI. You can build and use your own! ## API diff --git a/docs/frontend_experiment_index.md b/docs/lovelace_index.md similarity index 79% rename from docs/frontend_experiment_index.md rename to docs/lovelace_index.md index c08e6ba1..007ee7cd 100644 --- a/docs/frontend_experiment_index.md +++ b/docs/lovelace_index.md @@ -1,11 +1,13 @@ --- -title: "Experimental UI" +title: "Lovelace UI" sidebar_label: Introduction --- -Starting with Home Assistant 0.72, we're experimenting with a way of defining your user interface. The aproach is fundamentally different from the current approach. The old user interface relied solely on the state machine. This caused trouble as it meant that people wanted to store things in the state machine to control the user interface. That's a big violation of seperation of concern. With the new user interface, we're taking a completely different approach. All user interface configuration will live in a seperate file, controlled by the user. This allows us to build a faster user interface that is more customizable. +Starting with Home Assistant 0.72, we're experimenting with a way of defining your user interface. We're calling it the Lovelace UI. -![Visual comparison of old configuration versus new configuration](/img/en/frontend/experimental-ui-comparison.png) +The aproach is fundamentally different from the current approach. The old user interface relied solely on the state machine. This caused trouble as it meant that people wanted to store things in the state machine to control the user interface. That's a big violation of seperation of concern. With Lovelace, we're taking a completely different approach. All user interface configuration will live in a seperate file, controlled by the user. This means that we only have to build up the user interface when the UI configuration changes and can just render the states. It will also allow for more configuration options to be added. + +![Visual comparison of old configuration versus new configuration](/img/en/frontend/lovelace-ui-comparison.png) diff --git a/website/sidebars.json b/website/sidebars.json index 16edbb5d..591782a6 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -56,10 +56,10 @@ "frontend_creating_custom_ui", "frontend_creating_custom_panels" ], - "Experimental UI": [ - "frontend_experiment_index", - "frontend_experiment_card_types", - "frontend_experiment_custom_card" + "Lovelace UI": [ + "lovelace_index", + "lovelace_card_types", + "lovelace_custom_card" ] }, "Extending HASS": { diff --git a/website/static/img/en/frontend/experimental-ui-comparison.png b/website/static/img/en/frontend/experimental-ui-comparison.png deleted file mode 100644 index e29f3b3e3e67a3ce97eeb9e6c4f36e8cfb37bda0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11695 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 diff --git a/website/static/img/en/frontend/lovelace-ui-comparison.png b/website/static/img/en/frontend/lovelace-ui-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..1d79d98716ba67749c5f9d14dfd28bcffbc5656c GIT binary patch literal 11136 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 Mp|4)`&?e%)0n1N>oB#j- literal 0 HcmV?d00001