Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce port placement instructions to component diagrams #1766

Open
travkin79 opened this issue May 6, 2024 · 1 comment
Open

Introduce port placement instructions to component diagrams #1766

travkin79 opened this issue May 6, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@travkin79
Copy link
Contributor

Issue
Some component diagram layout look really messy. Take the following example.

@startuml
left to right direction

component Component {
  port p1
  port p2
  port p3
  port p4
  port p5
  port p6
}

() A --> p1
() B --> p2
() C --> p3
p4 --> () X
p5 --> () Y
p6 --> () Z

@enduml

image

Feature request
I suggest to introduce port placement instructions that allow for explicitly deciding on which side of a component (top, bottom, left, or right) a port is to be placed. Similar to arrow direction instructions like A -u-> B or A-up->B we could introduce port placement instructions like port[t] p1 or port[top] p1 and use directions top (or t), bottom (or b), left (or l), and right (or r), e.g.

...
component Component {
  port[l] p1
  port[left] p2
  port[t] p3
  port[top] p4
  port[bottom] p5
  port[right] p6
}
...

With these instructions I would expect the diagram to be rendered roughly like the following:

components

The textual notation above is just one suggestion. There might be better syntax alternatives.

@github-actions github-actions bot added the triage label May 6, 2024
@The-Lum
Copy link
Collaborator

The-Lum commented May 6, 2024

@The-Lum The-Lum added enhancement New feature or request and removed triage labels May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants