Background
The academy-theme now provides an org-id shortcode (see layer5io/academy-theme#215) that dynamically extracts the organization UUID from the current learning-path page's directory path (learning-paths/{orgID}/...). It also provides a generic slack-invite shortcode at the theme level.
Current state
Any org-specific shortcode calls that hardcode the org UUID namespace (e.g. {{< your-org-uuid/slack-invite link="..." >}}) introduce a maintenance burden: if the UUID changes, all content files referencing it break.
Requested change
Once academy-theme#215 is merged and the theme version is bumped in go.mod:
- Replace org-namespaced slack-invite calls with the generic theme shortcode:
{{< slack-invite link="https://..." >}}
- Remove any local
layouts/shortcodes/{orgID}/slack-invite.html override (the theme now owns it)
- Use
{{< org-id >}} anywhere the UUID is needed as a text value in content — no more copy-pasting the UUID
Why this matters for the starter template
As the canonical starter template, academy-example should model best practices. Demonstrating the use of {{< org-id >}} and {{< slack-invite >}} instead of hardcoded UUIDs helps new academy adopters avoid the maintenance pitfall from day one.
References
Background
The academy-theme now provides an
org-idshortcode (see layer5io/academy-theme#215) that dynamically extracts the organization UUID from the current learning-path page's directory path (learning-paths/{orgID}/...). It also provides a genericslack-inviteshortcode at the theme level.Current state
Any org-specific shortcode calls that hardcode the org UUID namespace (e.g.
{{< your-org-uuid/slack-invite link="..." >}}) introduce a maintenance burden: if the UUID changes, all content files referencing it break.Requested change
Once academy-theme#215 is merged and the theme version is bumped in
go.mod:layouts/shortcodes/{orgID}/slack-invite.htmloverride (the theme now owns it){{< org-id >}}anywhere the UUID is needed as a text value in content — no more copy-pasting the UUIDWhy this matters for the starter template
As the canonical starter template,
academy-exampleshould model best practices. Demonstrating the use of{{< org-id >}}and{{< slack-invite >}}instead of hardcoded UUIDs helps new academy adopters avoid the maintenance pitfall from day one.References