uniweb 0.12.30 → 0.12.32

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uniweb",
3
- "version": "0.12.30",
3
+ "version": "0.12.32",
4
4
  "description": "Create structured Vite + React sites with content/code separation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,12 +41,12 @@
41
41
  "js-yaml": "^4.1.0",
42
42
  "prompts": "^2.4.2",
43
43
  "tar": "^7.0.0",
44
- "@uniweb/kit": "0.9.17",
45
- "@uniweb/runtime": "0.8.18",
46
- "@uniweb/core": "0.7.13"
44
+ "@uniweb/core": "0.7.14",
45
+ "@uniweb/kit": "0.9.18",
46
+ "@uniweb/runtime": "0.8.19"
47
47
  },
48
48
  "peerDependencies": {
49
- "@uniweb/build": "0.14.13",
49
+ "@uniweb/build": "0.14.15",
50
50
  "@uniweb/content-reader": "1.1.12",
51
51
  "@uniweb/semantic-parser": "1.1.17"
52
52
  },
@@ -804,6 +804,22 @@ pages: [home, about, ...] # Order pages (... = rest, first = homepage)
804
804
  pages: [home, about] # Strict: only listed pages in nav
805
805
  ```
806
806
 
807
+ **SEO & social cards:** set the site's default social card + keywords in `site.yml`; any page overrides per-field in `page.yml` (page wins, site fills the gaps). These render into every page's static `<head>` — Open Graph, Twitter Card, canonical, robots — so shares and crawlers see them without running JS. The social `image` is the field most worth setting once at the site level.
808
+ ```yaml
809
+ # site.yml — defaults for the whole site (incl. the homepage card)
810
+ keywords: [components, react, cms]
811
+ seo:
812
+ image: /og-default.png # social-card image
813
+ ogTitle: Acme
814
+ noindex: false # true keeps the WHOLE site out of search
815
+
816
+ # page.yml — overrides for one page
817
+ seo:
818
+ image: /og-about.png
819
+ ogTitle: About Acme
820
+ canonical: https://acme.com/about
821
+ ```
822
+
807
823
  **Route mapping:** Folder structure maps 1:1 to routes. Every folder keeps its natural route — `pages:` controls **order only**, not which child "becomes" the parent. The only exception is the site root: `index:` (or first in `pages:`) in site.yml sets the homepage at `/`.
808
824
 
809
825
  **Localized URLs:** On a multilingual site (`languages:` in site.yml), a page's `slug: { <lang>: <segment> }` gives it a native URL segment per language (`/about` → `/fr/a-propos`); the folder name stays the canonical route. Nested folders compose automatically, and localized URLs flow through navigation, the language switcher, and the sitemap.
@@ -138,10 +138,13 @@ ${colors.bright}Section Control:${colors.reset}
138
138
  - stats
139
139
 
140
140
  ${colors.bright}SEO Options:${colors.reset}
141
- ${colors.cyan}seo.noindex${colors.reset} Prevent search engine indexing
142
- ${colors.cyan}seo.image${colors.reset} Open Graph image URL
143
- ${colors.cyan}seo.changefreq${colors.reset} Sitemap hint (daily, weekly, monthly...)
144
- ${colors.cyan}seo.priority${colors.reset} Sitemap priority (0.0 to 1.0)
141
+ ${colors.cyan}seo.noindex${colors.reset} Prevent search engine indexing
142
+ ${colors.cyan}seo.image${colors.reset} Open Graph / social-card image URL
143
+ ${colors.cyan}seo.ogTitle${colors.reset} Social-card title (defaults to page title)
144
+ ${colors.cyan}seo.ogDescription${colors.reset} Social-card description
145
+ ${colors.cyan}seo.canonical${colors.reset} Canonical URL for this page
146
+ ${colors.cyan}seo.changefreq${colors.reset} Sitemap hint (daily, weekly, monthly...)
147
+ ${colors.cyan}seo.priority${colors.reset} Sitemap priority (0.0 to 1.0)
145
148
 
146
149
  ${colors.bright}Example:${colors.reset}
147
150
  ${colors.dim}title: About Us
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-06-16T23:17:46.927Z",
3
+ "generatedAt": "2026-06-17T20:00:18.933Z",
4
4
  "packages": {
5
5
  "@uniweb/build": {
6
- "version": "0.14.13",
6
+ "version": "0.14.15",
7
7
  "path": "framework/build",
8
8
  "deps": [
9
9
  "@uniweb/content-reader",
@@ -25,7 +25,7 @@
25
25
  "deps": []
26
26
  },
27
27
  "@uniweb/core": {
28
- "version": "0.7.13",
28
+ "version": "0.7.14",
29
29
  "path": "framework/core",
30
30
  "deps": [
31
31
  "@uniweb/semantic-parser",
@@ -43,7 +43,7 @@
43
43
  "deps": []
44
44
  },
45
45
  "@uniweb/kit": {
46
- "version": "0.9.17",
46
+ "version": "0.9.18",
47
47
  "path": "framework/kit",
48
48
  "deps": [
49
49
  "@uniweb/core",
@@ -61,7 +61,7 @@
61
61
  "deps": []
62
62
  },
63
63
  "@uniweb/runtime": {
64
- "version": "0.8.18",
64
+ "version": "0.8.19",
65
65
  "path": "framework/runtime",
66
66
  "deps": [
67
67
  "@uniweb/core",
@@ -99,7 +99,7 @@
99
99
  "deps": []
100
100
  },
101
101
  "@uniweb/unipress": {
102
- "version": "0.4.18",
102
+ "version": "0.4.21",
103
103
  "path": "framework/unipress",
104
104
  "deps": [
105
105
  "@uniweb/build",