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

Wiki style linking in Structurizr Site Generatr #502

Open
galuszkak opened this issue Apr 30, 2024 · 1 comment
Open

Wiki style linking in Structurizr Site Generatr #502

galuszkak opened this issue Apr 30, 2024 · 1 comment

Comments

@galuszkak
Copy link
Contributor

galuszkak commented Apr 30, 2024

Hey,

I saw that in #284 #260 was added support to link between ADRs.

This is straightforward suport for linking just inside ADRs. The problem with this is just local for a given scope of ADRs. So even if added linking on workspace and software system level it didn't add linking in container level.

But there are use cases where you would like to link not only inside one stream of ADRs but also:

  • Between ADR on Workspace level to Software System ADR
  • Between workspace documentation and ADRs on any level
  • Between software system documentation and ADRs on any level
  • Between container system documentation and ADRs on any level
  • and vice versa. Sometimes you like to link from ADR into documentation on any other level.

Therefore I would like to propose change how we should handle links for Structurizr.

Relative links:

  • ./0000-index.md or 0000-index.md should always link to file inside that ADR / Decision in the same scope (scope being: Container, Software System or Workspace).

Absolute Links:

  • /decision/{softwareSystemName}/{containerSystem}/{file_name}.md - Container ADRs
  • /decision/{softwareSystemName}/{file_name}.md - Software System ADR
  • /decision/{file_name}.md - Workspace ADR
  • /documentation/{softwareSystemName}/{containerSystem}/{file_name}.md - documentation of Container
  • /documentation/{softwareSystemName}/{file_name}.md - documentation of Software System
  • /documentation//{file_name}.md - documentation of Workspace

We would need to first generate links before we start generating the pages. Given they are deterministic we could have HashMap of all Links and based on patterns above generate correct links.

Let me know if this would make sense to add.

@jp7677
Copy link
Contributor

jp7677 commented Jul 2, 2024

Thanks for the proposal. I've read it several times, but I don't think I fully understand what you are actually asking (it's already getting late here, that might not help ;)).
The current transformation for ADR links has two steps (explained in #284 (comment)). The first one is done by the structurizr library itself. The second one is on our side to transform the ADR number notation back to a working link. Where in that process do you intend to intervene?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants