Documentation
¶
Index ¶
- Constants
- func ExtractEntityType(id string) string
- func ExtractKSUID(id string) string
- func ExtractPageSlug(id string) string
- func ExtractResourceTypeSlug(id string) string
- func ExtractThemeSlug(id string) string
- func ExtractWebsiteSlug(id string) string
- func NewOrganization(slug string) string
- func NewPage(websiteSlug, pageSlug string) string
- func NewPerson() string
- func NewResource(typeSlug string) string
- func NewResourceType(slug string) string
- func NewSection(websiteSlug, pageSlug string) string
- func NewTemplate(themeSlug, templateSlug string) string
- func NewTheme(slug string) string
- func NewWebsite(slug string) string
- func Slugify(name string) string
Constants ¶
const ( TypeWebsite = "website" TypePage = "page" TypeSection = "section" TypeTheme = "theme" TypeTemplate = "template" TypePerson = "person" TypeOrganization = "organization" TypeResourceType = "resource-type" TypeResource = "resource" )
Variables ¶
This section is empty.
Functions ¶
func ExtractEntityType ¶
ExtractEntityType returns the entity type from a URN. 2-part (urn:<slug>) → "website" 5-part with parts[2]=="page" → "page" 5-part with parts[3]=="section" → "section" Non-URN strings return "".
func ExtractKSUID ¶
ExtractKSUID returns the KSUID portion of an entity ID. 2-part (website) → "" 5-part page (urn:<ws>:page:<ksuid>:<ps>) → parts[3] 5-part section (urn:<ws>:<ps>:section:<ksuid>) → parts[4] Non-URN strings are returned as-is.
func ExtractPageSlug ¶
ExtractPageSlug returns the page slug from a URN. 5-part page (urn:<ws>:page:<ksuid>:<ps>) → parts[4] 5-part section (urn:<ws>:<ps>:section:<ksuid>) → parts[2] Otherwise → ""
func ExtractResourceTypeSlug ¶
ExtractResourceTypeSlug returns the type slug from a resource URN. Resource URN format: "urn:<typeSlug>:<ksuid>" → returns typeSlug. Only matches 3-part URNs that don't use reserved prefixes.
func ExtractThemeSlug ¶
ExtractThemeSlug returns the theme slug from a theme or template URN. Theme URN (urn:theme:<slug>) → parts[2] Template URN (urn:theme:<ts>:template:<ksuid>:<tps>) → parts[2] Otherwise → ""
func ExtractWebsiteSlug ¶
ExtractWebsiteSlug returns the website slug from any URN. Returns parts[1] for any valid URN, "" for non-URN.
func NewOrganization ¶
NewOrganization generates an organization URN from a slug. Format: "urn:org:<slug>"
func NewPage ¶
NewPage generates a page URN scoped to a website. Format: "urn:<websiteSlug>:page:<ksuid>:<pageSlug>"
func NewPerson ¶
func NewPerson() string
NewPerson generates a person URN. Format: "urn:person:<ksuid>"
func NewResource ¶
NewResource generates a resource URN scoped to a type slug. Format: "urn:<typeSlug>:<ksuid>"
func NewResourceType ¶
NewResourceType generates a resource type URN from a slug. Format: "urn:type:<slug>"
func NewSection ¶
NewSection generates a section URN scoped to a page within a website. Format: "urn:<websiteSlug>:<pageSlug>:section:<ksuid>"
func NewTemplate ¶
NewTemplate generates a template URN scoped to a theme. Format: "urn:theme:<themeSlug>:template:<ksuid>:<templateSlug>"
func NewWebsite ¶
NewWebsite generates a website URN from a slug. Format: "urn:<slug>"
Types ¶
This section is empty.