Merge branch 'backstage:master' into master

This commit is contained in:
Hannes Jetter
2023-10-19 08:51:45 +02:00
committed by GitHub
1292 changed files with 34468 additions and 11267 deletions
@@ -44,6 +44,20 @@ When multiple `catalog-info.yaml` files with the same `metadata.name` property
are discovered, one will be processed and all others will be skipped. This
action is logged for further investigation.
### Local File (`type: file`) Configurations
In addition to url locations, you can use the `file` location type to bring in content from the local file system. You should only use this for local development, test setups and example data, not for production data.
You are also not able to use placeholders in them like `$text`. You can however reference other files relative to the current file. See the full [catalog example data set here](https://github.com/backstage/backstage/tree/master/packages/catalog-model/examples) for an extensive example.
Here is an example pulling in the `all.yaml` file from the examples folder. Note the use of `../../` to go up two levels from the current execution path of the backend. This is typically `packages/backend/`.
```yaml
catalog:
locations:
- type: file
target: ../../examples/all.yaml
```
### Integration Processors
Integrations may simply provide a mechanism to handle `url` location type for an
@@ -447,6 +447,9 @@ want to have an isomorphic package that houses these types. Within the Backstage
main repo the package naming pattern of `<plugin>-common` is used for isomorphic
packages, and you may choose to adopt this pattern as well.
You can generate an isomorphic plugin package by running:`yarn new --select plugin-common`
or you can run `yarn new` and then select "plugin-common" from the list of options
There's at this point no existing templates for generating isomorphic plugins
using the `@backstage/cli`. Perhaps the simplest wat to get started right now is
to copy the contents of one of the existing packages in the main repository,
@@ -110,10 +110,11 @@ parameters:
arrayObjects:
title: Array with custom objects
type: array
minItems: 0
ui:options:
addable: false
orderable: false
removable: false
addable: true
orderable: true
removable: true
items:
type: object
properties:
+1
View File
@@ -95,6 +95,7 @@ Options:
--preview-app-bundle-path <PATH_TO_BUNDLE> Preview documentation using a web app other than the included one.
--preview-app-port <PORT> Port where the preview will be served.
Can only be used with "--preview-app-bundle-path". (default: "3000")
-c, --mkdocs-config-file-name <FILENAME> Yaml file to use as config by mkdocs.
-v --verbose Enable verbose output. (default: false)
-h, --help display help for command
```
+33
View File
@@ -525,6 +525,39 @@ techdocs:
This way, all iframes where the host in the src attribute is in the
`sanitizer.allowedIframeHosts` list will be displayed.
## How to render PlantUML diagram in TechDocs
PlantUML allows you to create diagrams from plain text language. Each diagram description begins with the keyword - (@startXYZ and @endXYZ, depending on the kind of diagram). For UML Diagrams, Keywords @startuml & @enduml should be used. Further details for all types of diagrams can be found at [PlantUML Language Reference Guide](https://plantuml.com/guide).
### UML Diagram Details:-
#### Embedded PlantUML Diagram Example
Here, the markdown file itself contains the diagram description.
````md
```plantuml
@startuml
title Login Sequence
ComponentA->ComponentB: Login Request
note right of ComponentB: ComponentB logs message
ComponentB->ComponentA: Login Response
@enduml
```
````
#### Referenced PlantUML Diagram Example
Here, the markdown file refers to another file (`*.puml` or `*.pu`) which contains the diagram description.
````md
```plantuml
!include umldiagram.puml
```
````
Note: To refer external diagram files, we need to include the diagrams directory in the path. Please refer [`Dockerfile`](https://github.com/backstage/techdocs-container/blob/main/Dockerfile) for details.
## How to add Mermaid support in TechDocs
To add `Mermaid` support in TechDocs, you can use [`kroki`](https://kroki.io)