From ccf66a33ce1bdf37d4840a5689bb7dcfe1d01886 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Sat, 16 Dec 2023 15:49:59 +0100 Subject: [PATCH] Continue docs Signed-off-by: Philipp Hugenroth --- .../architecture/03-extensions.md | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/docs/frontend-system/architecture/03-extensions.md b/docs/frontend-system/architecture/03-extensions.md index af87a89c05..63ea56f884 100644 --- a/docs/frontend-system/architecture/03-extensions.md +++ b/docs/frontend-system/architecture/03-extensions.md @@ -229,7 +229,7 @@ const navigationExtension = createExtension({ In this case the extension input `items` is an array, where each individual item is an extension that attached itself to the extension inputs of this `id`. -With the `inputs` not only the `output` is passed to the extension, but also the `node`. It is discouraged to consume and/or modify the `node` here. If we are looking at the `factory` function from the example above we could access the `node` like the following: +With the `inputs` not only the `output` of an extensions item is passed to the extension, but also the `node`. It is discouraged to consume and/or modify the `node` here. If we are looking at the `factory` function from the example above we could access the `node` like the following: ```tsx // ... @@ -251,22 +251,51 @@ With the `inputs` not only the `output` is passed to the extension, but also the ## Extension Configuration - +For further information on how to write documentation please follow the architecture section on this (TODO: Link). ## Extension Creators +With creating an extension by using `createExtension(...)` you have the advantage that the extension can be anything in your Backstage application. We realised that this comes with the trade-off of having to repeat boilerplate code for similar building blocks. Here extension creators come into play for covering common building blocks in Backstage like pages using `createPageExtension`, themes using the `createThemeExtension` or items for the navigation using `createNavItemExtension`. + + +``` + +```