uniweb 0.12.31 → 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 +5 -5
- package/partials/agents.md +16 -0
- package/src/commands/docs.js +7 -4
- package/src/framework-index.json +6 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uniweb",
|
|
3
|
-
"version": "0.12.
|
|
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/core": "0.7.
|
|
45
|
-
"@uniweb/kit": "0.9.
|
|
46
|
-
"@uniweb/runtime": "0.8.
|
|
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.
|
|
49
|
+
"@uniweb/build": "0.14.15",
|
|
50
50
|
"@uniweb/content-reader": "1.1.12",
|
|
51
51
|
"@uniweb/semantic-parser": "1.1.17"
|
|
52
52
|
},
|
package/partials/agents.md
CHANGED
|
@@ -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.
|
package/src/commands/docs.js
CHANGED
|
@@ -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}
|
|
142
|
-
${colors.cyan}seo.image${colors.reset}
|
|
143
|
-
${colors.cyan}seo.
|
|
144
|
-
${colors.cyan}seo.
|
|
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
|
package/src/framework-index.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"generatedAt": "2026-06-
|
|
3
|
+
"generatedAt": "2026-06-17T20:00:18.933Z",
|
|
4
4
|
"packages": {
|
|
5
5
|
"@uniweb/build": {
|
|
6
|
-
"version": "0.14.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
102
|
+
"version": "0.4.21",
|
|
103
103
|
"path": "framework/unipress",
|
|
104
104
|
"deps": [
|
|
105
105
|
"@uniweb/build",
|