@brightsideoy/kama 0.1.0-alpha.99 → 1.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +169 -0
  2. package/bin/cli.js +738 -261
  3. package/content/definitions/blocks/button.yaml +34 -0
  4. package/content/definitions/blocks/header.yaml +13 -0
  5. package/content/definitions/blocks/header_image.yaml +21 -0
  6. package/content/definitions/blocks/hero.yaml +28 -0
  7. package/content/definitions/blocks/html.yaml +13 -0
  8. package/content/definitions/blocks/image_card.yaml +56 -0
  9. package/content/definitions/blocks/node-list.yaml +61 -0
  10. package/content/definitions/blocks/single_image.yaml +27 -0
  11. package/content/definitions/blocks/text.yaml +15 -0
  12. package/content/definitions/channels/ecommerce.yaml +28 -0
  13. package/content/definitions/channels/website.yaml +41 -0
  14. package/{defaults → content}/definitions/field-sets/access.yaml +3 -5
  15. package/content/definitions/field-sets/channel-base.yaml +57 -0
  16. package/{defaults/definitions/field-sets/page-meta.yaml → content/definitions/field-sets/channel-seo.yaml} +3 -11
  17. package/content/definitions/field-sets/content-block.yaml +41 -0
  18. package/content/definitions/field-sets/page-base.yaml +44 -0
  19. package/content/definitions/field-sets/page-seo.yaml +34 -0
  20. package/{defaults → content}/definitions/field-sets/page-social.yaml +6 -8
  21. package/content/definitions/field-sets/schema-type.yaml +43 -0
  22. package/content/definitions/field-sets/tree-base.yaml +31 -0
  23. package/content/definitions/node-layouts/content.yml +12 -0
  24. package/{defaults → content}/definitions/node-layouts/landing-page.yml +8 -3
  25. package/{defaults → content}/definitions/node-layouts/single-column.yml +10 -5
  26. package/{defaults → content}/definitions/node-layouts/two-column.yml +14 -6
  27. package/content/definitions/nodes/address.yaml +40 -0
  28. package/content/definitions/nodes/article.yaml +65 -0
  29. package/content/definitions/nodes/event.yaml +55 -0
  30. package/content/definitions/nodes/external-link.yaml +29 -0
  31. package/content/definitions/nodes/page-skeleton.yaml +48 -0
  32. package/{defaults → content}/definitions/nodes/page.yaml +9 -20
  33. package/content/definitions/nodes/person.yaml +37 -0
  34. package/content/definitions/nodes/product.yaml +89 -0
  35. package/content/definitions/taxonomies/categories.yaml +15 -0
  36. package/content/definitions/taxonomies/tags.yaml +12 -0
  37. package/content/definitions/trees/navigation.yaml +24 -0
  38. package/definitions/editor/default.ts +1 -0
  39. package/dist/assets/index-BVkEzCNs.js +164 -0
  40. package/dist/assets/index-CGLx9oqF.css +1 -0
  41. package/dist/build-seed.js +486 -0
  42. package/dist/dist-kIJlDMvm.js +27162 -0
  43. package/dist/index.html +4 -2
  44. package/dist/index.js +26186 -8576
  45. package/dist/schema-compiler.js +48 -0
  46. package/documentation/SCHEMAS.md +182 -0
  47. package/package.json +24 -25
  48. package/schema.sql +67 -23
  49. package/templates/astro-starter/astro.config.mjs +27 -0
  50. package/templates/astro-starter/package.json.template +20 -0
  51. package/templates/astro-starter/public/robots.txt +23 -0
  52. package/templates/astro-starter/src/components/blocks/BlockRenderer.astro +143 -0
  53. package/templates/astro-starter/src/components/blocks/ColumnLayout.astro +67 -0
  54. package/templates/astro-starter/src/components/blocks/HeaderImage.astro +126 -0
  55. package/templates/astro-starter/src/components/blocks/Hero.astro +218 -0
  56. package/templates/astro-starter/src/components/blocks/HtmlBlock.astro +25 -0
  57. package/templates/astro-starter/src/components/blocks/ImageBlock.astro +91 -0
  58. package/templates/astro-starter/src/components/blocks/NodeList.astro +278 -0
  59. package/templates/astro-starter/src/components/blocks/TextBlock.astro +15 -0
  60. package/templates/astro-starter/src/components/global/Breadcrumb.astro +108 -0
  61. package/templates/astro-starter/src/components/global/Footer.astro +50 -0
  62. package/templates/astro-starter/src/components/global/Header.astro +171 -0
  63. package/templates/astro-starter/src/components/global/MetaHead.astro +266 -0
  64. package/templates/astro-starter/src/components/global/NavigationMenu.astro +413 -0
  65. package/templates/astro-starter/src/components/ui/KamaImage.astro +180 -0
  66. package/templates/astro-starter/src/layouts/SkeletonLayout.astro +56 -0
  67. package/templates/astro-starter/src/layouts/StandardLayout.astro +63 -0
  68. package/templates/astro-starter/src/lib/cms.ts +219 -0
  69. package/templates/astro-starter/src/lib/media/kama-image-service.ts +67 -0
  70. package/templates/astro-starter/src/lib/media/media-proxy.ts +148 -0
  71. package/templates/astro-starter/src/lib/media/media-url.ts +112 -0
  72. package/templates/astro-starter/src/middleware.ts +508 -0
  73. package/templates/astro-starter/src/pages/404.astro +46 -0
  74. package/templates/astro-starter/src/pages/[...slug].astro +318 -0
  75. package/templates/astro-starter/src/pages/api/load-nodes.ts +40 -0
  76. package/templates/astro-starter/src/pages/llms-full.txt.ts +171 -0
  77. package/templates/astro-starter/src/pages/llms.txt.ts +113 -0
  78. package/templates/astro-starter/src/pages/media/[...path].ts +14 -0
  79. package/templates/astro-starter/src/pages/partials/footer.astro +69 -0
  80. package/templates/astro-starter/src/pages/partials/nav.astro +141 -0
  81. package/templates/astro-starter/src/styles/standard-theme.css +157 -0
  82. package/templates/astro-starter/src/utils/tiptap.ts +113 -0
  83. package/templates/astro-starter/tsconfig.json +0 -0
  84. package/templates/kama-worker/index.js +19 -0
  85. package/templates/kama-worker/server.js +104 -0
  86. package/wrangler.json +22 -0
  87. package/defaults/definitions/blocks/button.yaml +0 -15
  88. package/defaults/definitions/blocks/header.yaml +0 -15
  89. package/defaults/definitions/blocks/header_image.yaml +0 -22
  90. package/defaults/definitions/blocks/hero.yaml +0 -27
  91. package/defaults/definitions/blocks/image_card.yaml +0 -57
  92. package/defaults/definitions/blocks/single_image.yaml +0 -28
  93. package/defaults/definitions/blocks/text.yaml +0 -16
  94. package/defaults/definitions/channels/ecommerce.yaml +0 -24
  95. package/defaults/definitions/channels/website.yaml +0 -32
  96. package/defaults/definitions/field-sets/channel-base.yaml +0 -31
  97. package/defaults/definitions/field-sets/content-block.yaml +0 -46
  98. package/defaults/definitions/field-sets/page-base.yaml +0 -49
  99. package/defaults/definitions/field-sets/tree-base.yaml +0 -31
  100. package/defaults/definitions/node-layouts/three-column.yml +0 -41
  101. package/defaults/definitions/nodes/address.yaml +0 -32
  102. package/defaults/definitions/nodes/article.yaml +0 -43
  103. package/defaults/definitions/nodes/event.yaml +0 -49
  104. package/defaults/definitions/nodes/external-link.yaml +0 -26
  105. package/defaults/definitions/nodes/person.yaml +0 -37
  106. package/defaults/definitions/nodes/product.yaml +0 -86
  107. package/defaults/definitions/trees/navigation.yaml +0 -29
  108. package/defaults/definitions/trees/social-links.yaml +0 -9
  109. package/definitions/_page.yaml +0 -52
  110. package/dist/assets/index-D6qQsWOj.js +0 -1392
  111. package/dist/assets/index-TdW5F0pX.css +0 -1
  112. package/dist/media/kama/2026/08/17a098c92bc54ea4b4441e531a34575b.jpg +0 -0
  113. package/dist/media/kama/2026/08/3e9ae457dd23461680cc699f42d07cf0.jpg +0 -0
  114. package/dist/media/kama/2026/08/8e5b3a2fd194459f9b962f8e12928bf0.jpg +0 -0
  115. package/dist/media/kama/2026/08/8ea5c21026cd4944bdf78c99fe2544a9.jpg +0 -0
  116. package/scripts/bundle-definitions.js +0 -176
  117. /package/{defaults → content}/definitions/block-layouts/three-column.yaml +0 -0
  118. /package/{defaults → content}/definitions/block-layouts/two-column.yaml +0 -0
  119. /package/{defaults → content}/definitions/field-sets/comments.yaml +0 -0
  120. /package/{defaults → content}/definitions/field-sets/visibility.yaml +0 -0
@@ -0,0 +1,12 @@
1
+ id: content
2
+ label: Content
3
+
4
+ layout:
5
+ columns: "1fr"
6
+ areas:
7
+ - ["content"]
8
+
9
+ regions:
10
+ content:
11
+ label: Content
12
+ allowedBlocks: "*"
@@ -5,7 +5,6 @@ layout:
5
5
  columns: "1fr"
6
6
  areas:
7
7
  - ["header"]
8
- - ["hero"]
9
8
  - ["content"]
10
9
  - ["footer"]
11
10
 
@@ -13,10 +12,16 @@ regions:
13
12
  header:
14
13
  label: Header
15
14
  inherit: parent
16
- hero:
17
- label: Hero / Top Banner
15
+ allowedBlocks: "*"
18
16
  content:
19
17
  label: Content
18
+ allowedBlocks: "*"
20
19
  footer:
21
20
  label: Footer
22
21
  inherit: parent
22
+ purgeTargets:
23
+ - "/partials/footer"
24
+ disallowedBlocks:
25
+ - hero
26
+ - image_card
27
+ - header_image
@@ -21,18 +21,23 @@ regions:
21
21
  allowedTypes: ["image/*"]
22
22
  crops:
23
23
  standard:
24
- label: "Desktop Header (4:1)"
25
- aspectRatio: 4.0
24
+ label: "Desktop Header (3:1)"
25
+ aspectRatio: 3.0
26
26
  tablet:
27
27
  label: "Tablet Header (2:1)"
28
28
  aspectRatio: 2.0
29
- mobile:
30
- label: "Mobile Header (4:3)"
31
- aspectRatio: 1.33
32
29
  public: true
33
30
 
34
31
  content:
35
32
  label: Content
33
+ allowedBlocks: "*"
34
+
36
35
  footer:
37
36
  label: Footer
38
37
  inherit: parent
38
+ purgeTargets:
39
+ - "/partials/footer"
40
+ disallowedBlocks:
41
+ - hero
42
+ - image_card
43
+ - header_image
@@ -1,4 +1,4 @@
1
- # defaults/definitions/layouts/two-column-split.yml
1
+ # content/definitions/layouts/two-column-split.yml
2
2
  id: two-column
3
3
  label: Two Column
4
4
 
@@ -22,19 +22,27 @@ regions:
22
22
  allowedTypes: ["image/*"]
23
23
  crops:
24
24
  standard:
25
- label: "Desktop Header (4:1)"
26
- aspectRatio: 4.0
25
+ label: "Desktop Header (3:1)"
26
+ aspectRatio: 3.0
27
27
  tablet:
28
28
  label: "Tablet Header (2:1)"
29
29
  aspectRatio: 2.0
30
- mobile:
31
- label: "Mobile Header (4:3)"
32
- aspectRatio: 1.33
33
30
  public: true
34
31
  content: # 👈 Changed 'main' to 'content'
35
32
  label: Content
33
+ allowedBlocks: "*"
36
34
  sidebar:
37
35
  label: Sidebar
36
+ disallowedBlocks:
37
+ - hero
38
+ - image_card
39
+ - header_image
38
40
  footer:
39
41
  label: Footer
40
42
  inherit: parent
43
+ purgeTargets:
44
+ - "/partials/footer"
45
+ disallowedBlocks:
46
+ - hero
47
+ - image_card
48
+ - header_image
@@ -0,0 +1,40 @@
1
+ id: address
2
+ label: Address
3
+ inTree: false
4
+
5
+ tabs:
6
+ settings:
7
+ label: "Address"
8
+ fields:
9
+ title:
10
+ label: Address Title
11
+ required: true
12
+
13
+ street:
14
+ label: Street
15
+
16
+ city:
17
+ label: City
18
+
19
+ area:
20
+ label: County / Area
21
+
22
+ zip:
23
+ label: ZIP
24
+
25
+ country:
26
+ label: Country
27
+
28
+ geolocation:
29
+ label: "Geolocation"
30
+ fields:
31
+ lat:
32
+ label: Latitude
33
+
34
+ lng:
35
+ label: Longitude
36
+
37
+ timezone:
38
+ label: Timezone
39
+
40
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,65 @@
1
+ id: article
2
+ label: Article
3
+ inTree: false
4
+ hasCanvas: true
5
+ directLinking: true
6
+
7
+ defaultLayout: "content"
8
+ allowedBlocks: "*"
9
+
10
+ tabs:
11
+ settings:
12
+ label: "Article"
13
+ fields:
14
+ <<: !include ../field-sets/page-base.yaml
15
+
16
+ title:
17
+ label: Article title
18
+ required: true
19
+
20
+ slug:
21
+ linkedTo: "title"
22
+
23
+ articleDate:
24
+ type: date
25
+ label: Article Date
26
+ public: true
27
+ default: now
28
+ index: true
29
+
30
+ abstract:
31
+ label: Abstract
32
+ type: textarea
33
+ public: true
34
+
35
+ authors:
36
+ label: Authors
37
+ type: relation
38
+ nodeTypes: ["person"]
39
+ multiple: true
40
+ public: true
41
+
42
+ categories:
43
+ type: taxonomy
44
+ taxonomy: categories
45
+ label: Categories
46
+ multiple: true
47
+
48
+ tags:
49
+ type: taxonomy
50
+ taxonomy: tags
51
+ label: Tags
52
+ multiple: true
53
+
54
+ image:
55
+ label: Image
56
+ type: asset
57
+ required: true
58
+ multiple: false
59
+ maxSizeMB: 150
60
+ allowedTypes: ["image/*"]
61
+ public: true
62
+
63
+ meta: !include ../field-sets/page-seo.yaml
64
+ social: !include ../field-sets/page-social.yaml
65
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,55 @@
1
+ id: event
2
+ label: Event
3
+ inTree: false
4
+ hasCanvas: true
5
+ directLinking: true
6
+
7
+ regions:
8
+ main:
9
+ label: Content
10
+
11
+ allowedBlocks:
12
+ - header
13
+ - hero
14
+ - text
15
+ - image_card
16
+ - header_image
17
+ - two-column
18
+ - three-column
19
+ - single_image
20
+
21
+ tabs:
22
+ settings:
23
+ label: "Event"
24
+ fields:
25
+ <<: !include ../field-sets/page-base.yaml
26
+
27
+ title:
28
+ label: Event Title
29
+ required: true
30
+ showAsEditorTitle: true
31
+
32
+ slug:
33
+ linkedTo: "title"
34
+
35
+ startTime:
36
+ type: datetime
37
+ label: Starts
38
+ public: true
39
+ index: true
40
+ showAsEditorTitle: true
41
+
42
+ endTime:
43
+ type: datetime
44
+ label: Finishes
45
+ public: true
46
+ index: true
47
+
48
+ abstract:
49
+ label: Abstract
50
+ type: textarea
51
+ public: true
52
+
53
+ meta: !include ../field-sets/page-meta.yaml
54
+ social: !include ../field-sets/page-social.yaml
55
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,29 @@
1
+ id: external-link
2
+ label: External Link
3
+ inTree: true
4
+
5
+ tabs:
6
+ settings:
7
+ label: "Link"
8
+ fields:
9
+ <<: !include ../field-sets/page-base.yaml
10
+
11
+ title:
12
+ label: Link Text
13
+
14
+ iconName:
15
+ label: Icon
16
+ type: icon
17
+ dbType: text
18
+ packages: ["heroicons", "lucide", "mdi"]
19
+
20
+ slug:
21
+ label: Slug
22
+ linkedTo: "menuTitle, title"
23
+
24
+ url:
25
+ label: URL
26
+ type: text
27
+ public: true
28
+
29
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,48 @@
1
+ id: page-skeleton
2
+ label: Page Skeleton
3
+ description: Clean slate for pages with custom CSS and HTML
4
+ inTree: true
5
+ inVault: true
6
+ hasCanvas: true
7
+ directLinking: true
8
+
9
+ defaultLayout: "content"
10
+
11
+ allowedBlocks: "html"
12
+
13
+ tabs:
14
+ settings:
15
+ label: "Page"
16
+ fields:
17
+ # 🎯 1. Include FieldSet Bundle
18
+ - fieldSet: page-base
19
+
20
+ - menuTitle:
21
+ label: Menu Title
22
+ type: text
23
+ dbType: text
24
+ public: true
25
+ css:
26
+ label: "CSS"
27
+ fields:
28
+ - css:
29
+ label: "CSS"
30
+ type: textarea
31
+ public: true
32
+ jsHeader:
33
+ label: "JavaScript"
34
+ fields:
35
+ - jsHeader:
36
+ label: "JS in Header"
37
+ type: textarea
38
+ public: true
39
+
40
+ - jsFooter:
41
+ label: "JS in Footer"
42
+ type: textarea
43
+ public: true
44
+
45
+ # Dedicated Tab Inclusions
46
+ meta: !include ../field-sets/page-seo.yaml
47
+ social: !include ../field-sets/page-social.yaml
48
+ access: !include ../field-sets/access.yaml
@@ -5,51 +5,38 @@ inVault: true
5
5
  hasCanvas: true
6
6
  directLinking: true
7
7
 
8
- # 👈 Keep this as the absolute last-resort fallback for the Public API
9
8
  defaultLayout: "single-column"
10
9
 
11
- # 👈 Cleaned up naming!
12
- allowedBlocks:
13
- - header
14
- - hero
15
- - text
16
- - image_card
17
- - header_image
18
- - two-column
19
- - three-column
20
- - single_image
10
+ allowedBlocks: "*"
21
11
 
22
12
  tabs:
23
13
  settings:
24
14
  label: "Page"
25
15
  fields:
16
+ # 🎯 1. Include FieldSet Bundle
26
17
  - fieldSet: page-base
27
18
 
28
- # 👉 THE CURRENT PAGE'S LAYOUT
29
19
  - layoutId:
30
20
  label: Page Layout
31
21
  type: layout-select
32
22
  dbType: text
33
23
  default: "inherit"
34
- inheritsFromParent: true # 👈 Tells the UI to bind to the parent!
24
+ inheritsFromParent: true
35
25
  allowedLayouts:
36
26
  - two-column
37
27
  - single-column
38
- - three-column
39
28
  - landing-page
40
29
  options:
41
30
  - { label: "Inherit Layout", value: "inherit" }
42
31
 
43
- # 👉 THE BEHAVIOR FOR ALL CHILDREN
44
32
  - subpageLayoutId:
45
33
  label: Subpages Layout Rule
46
34
  type: layout-select
47
35
  dbType: text
48
36
  default: "inherit"
49
- inheritsFromParent: true # 👈 A child's subpage rules can ALSO inherit!
37
+ inheritsFromParent: true
50
38
  allowedLayouts:
51
39
  - two-column
52
- - three-column
53
40
  - single-column
54
41
  - landing-page
55
42
  options:
@@ -60,6 +47,8 @@ tabs:
60
47
  type: text
61
48
  dbType: text
62
49
  public: true
63
- - fieldSet: page-meta
64
- - fieldSet: page-social
65
- - fieldSet: access
50
+
51
+ # Dedicated Tab Inclusions
52
+ meta: !include ../field-sets/page-seo.yaml
53
+ social: !include ../field-sets/page-social.yaml
54
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,37 @@
1
+ id: person
2
+ label: Person
3
+ inTree: false
4
+ titleTemplate: "{firstName} {lastName}"
5
+
6
+ tabs:
7
+ settings:
8
+ label: "Person"
9
+ fields:
10
+ image:
11
+ label: Image
12
+ type: asset
13
+ multiple: false
14
+ maxSizeMB: 15
15
+ allowedTypes: ["image/*"]
16
+ maxPreviewWidth: 300
17
+ crops:
18
+ list_thumb:
19
+ label: "List View"
20
+ aspectRatio: 1
21
+ shape: "circle"
22
+ public: true
23
+
24
+ salutation:
25
+ label: Salutation
26
+
27
+ firstName:
28
+ label: First Name
29
+
30
+ lastName:
31
+ label: Last Name
32
+
33
+ position:
34
+ label: Position
35
+ required: false
36
+
37
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,89 @@
1
+ id: product
2
+ label: Product
3
+ inTree: false
4
+ inVault: true
5
+ hasCanvas: false
6
+ directLinking: true
7
+
8
+ layout:
9
+ columns: "3fr 1fr"
10
+ areas:
11
+ - ["main", "sidebar"]
12
+
13
+ regions:
14
+ main:
15
+ label: Product Content
16
+ sidebar:
17
+ label: Sidebar
18
+
19
+ allowedBlocks:
20
+ - header
21
+ - hero
22
+ - text
23
+ - image_card
24
+ - header_image
25
+ - two-column
26
+ - three-column
27
+ - single_image
28
+
29
+ tabs:
30
+ settings:
31
+ label: "Product"
32
+ fields:
33
+ <<: !include ../field-sets/page-base.yaml
34
+
35
+ title:
36
+ label: Product Name
37
+ required: true
38
+ public: true
39
+
40
+ slug:
41
+ linkedTo: "title"
42
+
43
+ price:
44
+ label: Price (€)
45
+ type: number
46
+ public: true
47
+
48
+ description:
49
+ label: Short Abstract
50
+ type: textarea
51
+ public: true
52
+
53
+ media:
54
+ label: "Media"
55
+ fields:
56
+ featuredImage:
57
+ label: Main Product Image
58
+ description: "This is the primary image used in product grids, search results, and catalogs."
59
+ type: asset
60
+ multiple: false
61
+ maxSizeMB: 15
62
+ allowedTypes: ["image/jpeg", "image/png", "image/webp"]
63
+ crops:
64
+ list_thumb:
65
+ label: "List View (4:3)"
66
+ aspectRatio: 1.333
67
+ catalog_card:
68
+ label: "Portrait Card (3:4)"
69
+ aspectRatio: 0.75
70
+ public: true
71
+
72
+ gallery:
73
+ label: Product Gallery
74
+ description: "Drag up to 10 images here for the product detail carousel."
75
+ type: asset
76
+ multiple: true
77
+ maxItems: 10
78
+ allowedTypes: ["image/jpeg", "image/png", "image/webp"]
79
+ crops:
80
+ carousel:
81
+ label: "Carousel Hero (16:9)"
82
+ aspectRatio: 1.777
83
+ zoom:
84
+ label: "Detail Zoom (Square)"
85
+ aspectRatio: 1.0
86
+ public: true
87
+
88
+ meta: !include ../field-sets/page-meta.yaml
89
+ access: !include ../field-sets/access.yaml
@@ -0,0 +1,15 @@
1
+ id: categories
2
+ label: Category
3
+ hierarchical: true
4
+ fields:
5
+ slug:
6
+ label: Slug
7
+ linkedTo: "key"
8
+ description:
9
+ type: textarea
10
+ label: Category Description
11
+ iconName:
12
+ label: Icon
13
+ type: icon
14
+ dbType: text
15
+ packages: ["heroicons", "lucide", "mdi"]
@@ -0,0 +1,12 @@
1
+ id: tags
2
+ label: Tag
3
+ hierarchical: false
4
+ fields:
5
+ slug:
6
+ label: Slug
7
+ linkedTo: "key"
8
+ iconName:
9
+ label: Icon
10
+ type: icon
11
+ dbType: text
12
+ packages: ["heroicons", "lucide", "mdi"]
@@ -0,0 +1,24 @@
1
+ id: navigation
2
+ label: "Site Navigation"
3
+
4
+ tabs:
5
+ settings:
6
+ label: "Tree"
7
+ fields:
8
+ # 🎯 1. Merge the tree-base fields directly into this dictionary
9
+ fieldSet: tree-base
10
+
11
+ baseUrl:
12
+ label: Base URL
13
+ type: text
14
+ dbType: text
15
+ public: true
16
+
17
+ defaultLanguage:
18
+ label: Language / Locale
19
+ type: language-select
20
+ dbType: text
21
+ public: true
22
+
23
+ # 🎯 2. Mount the access file as an entirely separate tab
24
+ access: !include ../field-sets/access.yaml
@@ -17,5 +17,6 @@ export const profile: RteProfile = {
17
17
  "link",
18
18
  "superscript",
19
19
  "subscript",
20
+ "split",
20
21
  ],
21
22
  };