@pagenary/publisher 2026.6.6 → 2026.6.8

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": "@pagenary/publisher",
3
- "version": "2026.6.6",
3
+ "version": "2026.6.8",
4
4
  "type": "module",
5
5
  "description": "Multi-tenant static publishing component for Pagenary platform.",
6
6
  "license": "AGPL-3.0-or-later",
@@ -3069,12 +3069,12 @@ async function processTenantContent(sourceDir, distDir, tenantId, options = {},
3069
3069
 
3070
3070
  // Flat content/ structure with manifest - use legacy processing
3071
3071
  if (hasManifest && contentRoot.type === 'flat') {
3072
- return (await processTenantManifestLegacy(sourceDir, distDir, tenantId, options)) ?? { success: true };
3072
+ return (await processTenantManifestLegacy(sourceDir, distDir, tenantId, options, config)) ?? { success: true };
3073
3073
  }
3074
3074
 
3075
3075
  // Fallback: try legacy processing
3076
3076
  if (hasManifest) {
3077
- return (await processTenantManifestLegacy(sourceDir, distDir, tenantId, options)) ?? { success: true };
3077
+ return (await processTenantManifestLegacy(sourceDir, distDir, tenantId, options, config)) ?? { success: true };
3078
3078
  }
3079
3079
 
3080
3080
  return { success: true };
@@ -3089,7 +3089,7 @@ async function processTenantContent(sourceDir, distDir, tenantId, options = {},
3089
3089
  * @param {string} tenantId - Tenant identifier
3090
3090
  * @param {object} [options] - Build options
3091
3091
  */
3092
- async function processTenantManifestLegacy(sourceDir, distDir, tenantId, options = {}) {
3092
+ async function processTenantManifestLegacy(sourceDir, distDir, tenantId, options = {}, config = {}) {
3093
3093
  const manifestPath = path.join(sourceDir, TENANT_MANIFEST);
3094
3094
  if (!(await pathExists(manifestPath))) return;
3095
3095
  const contentDir = path.join(sourceDir, DEFAULT_CONTENT_DIR);
@@ -3137,7 +3137,12 @@ async function processTenantManifestLegacy(sourceDir, distDir, tenantId, options
3137
3137
  // Extract site configuration from manifest
3138
3138
  const siteConfig = {
3139
3139
  bottomNav: manifestData.bottomNav || 'mobile',
3140
- bottomNavSections: manifestData.bottomNavSections || []
3140
+ bottomNavSections: manifestData.bottomNavSections || [],
3141
+ // SEO-relevant config for runtime meta updates — parity with the nested path
3142
+ // so the runtime <title> brand matches config.title, not a generic fallback (#29).
3143
+ siteTitle: config.title || manifestData.title || '',
3144
+ siteUrl: resolveBaseUrl(config),
3145
+ ogImage: resolveOgImage(config, resolveBaseUrl(config))
3141
3146
  };
3142
3147
 
3143
3148
  const context = {
package/site/index.html CHANGED
@@ -21,7 +21,7 @@
21
21
  </script>
22
22
  <link rel="icon" type="image/png" href="./favicon.png" />
23
23
  <link rel="stylesheet" href="./styles.css" />
24
- <meta name="x-build" content="2026-06-15T22:00:56.723Z" />
24
+ <meta name="x-build" content="2026-06-15T22:26:41.471Z" />
25
25
  </head>
26
26
  <body>
27
27
  <a class="skip-link" href="#app">Skip to content</a>
package/site/manifest.js CHANGED
@@ -125,7 +125,10 @@ export function getAdjacentSections(currentId) {
125
125
  // Site configuration (from tenant _manifest.json)
126
126
  export const SITE_CONFIG = {
127
127
  "bottomNav": "mobile",
128
- "bottomNavSections": []
128
+ "bottomNavSections": [],
129
+ "siteTitle": "Pagenary Docs",
130
+ "siteUrl": "https://docs.pagenary.com",
131
+ "ogImage": ""
129
132
  };
130
133
 
131
134
  // Export document branding configuration
package/site/robots.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  # Pagenary Docs
2
- # Generated: 2026-06-15T22:00:57.294Z
2
+ # Generated: 2026-06-15T22:26:42.051Z
3
3
 
4
4
  User-agent: *
5
5
  Allow: /
package/site/styles.css CHANGED
@@ -158,7 +158,7 @@ a:focus {
158
158
 
159
159
  .nav {
160
160
  display: grid;
161
- gap: 0.75rem;
161
+ gap: 0.15rem;
162
162
  }
163
163
 
164
164
  .nav-title {
@@ -178,7 +178,7 @@ a:focus {
178
178
  .nav-parent {
179
179
  all: unset;
180
180
  display: grid;
181
- gap: 0.35rem;
181
+ gap: 0.1rem;
182
182
  border: 1px solid transparent;
183
183
  cursor: pointer;
184
184
  transition: border-color 160ms ease, background 160ms ease;
@@ -186,17 +186,17 @@ a:focus {
186
186
  }
187
187
 
188
188
  .nav-leaf {
189
- padding: 0.65rem 0.9rem 0.75rem 1.1rem;
189
+ padding: 0.42rem 0.9rem 0.42rem 1.1rem;
190
190
  border-left: 2px solid transparent;
191
191
  }
192
192
 
193
193
  .nav-item {
194
- padding: 0.6rem 0.75rem 0.6rem 1.4rem;
194
+ padding: 0.38rem 0.75rem 0.38rem 1.4rem;
195
195
  border-left: 2px solid transparent;
196
196
  }
197
197
 
198
198
  .nav-parent {
199
- padding: 0.8rem 0.75rem 0.8rem 1.1rem;
199
+ padding: 0.48rem 0.75rem 0.48rem 1.1rem;
200
200
  border-left: 2px solid transparent;
201
201
  position: relative;
202
202
  display: grid;
@@ -294,7 +294,7 @@ a:focus {
294
294
 
295
295
  .nav-group {
296
296
  display: grid;
297
- gap: 0.4rem;
297
+ gap: 0.1rem;
298
298
  }
299
299
 
300
300
  .nav-sublist {
package/src/styles.css CHANGED
@@ -158,7 +158,7 @@ a:focus {
158
158
 
159
159
  .nav {
160
160
  display: grid;
161
- gap: 0.75rem;
161
+ gap: 0.15rem;
162
162
  }
163
163
 
164
164
  .nav-title {
@@ -178,7 +178,7 @@ a:focus {
178
178
  .nav-parent {
179
179
  all: unset;
180
180
  display: grid;
181
- gap: 0.35rem;
181
+ gap: 0.1rem;
182
182
  border: 1px solid transparent;
183
183
  cursor: pointer;
184
184
  transition: border-color 160ms ease, background 160ms ease;
@@ -186,17 +186,17 @@ a:focus {
186
186
  }
187
187
 
188
188
  .nav-leaf {
189
- padding: 0.65rem 0.9rem 0.75rem 1.1rem;
189
+ padding: 0.42rem 0.9rem 0.42rem 1.1rem;
190
190
  border-left: 2px solid transparent;
191
191
  }
192
192
 
193
193
  .nav-item {
194
- padding: 0.6rem 0.75rem 0.6rem 1.4rem;
194
+ padding: 0.38rem 0.75rem 0.38rem 1.4rem;
195
195
  border-left: 2px solid transparent;
196
196
  }
197
197
 
198
198
  .nav-parent {
199
- padding: 0.8rem 0.75rem 0.8rem 1.1rem;
199
+ padding: 0.48rem 0.75rem 0.48rem 1.1rem;
200
200
  border-left: 2px solid transparent;
201
201
  position: relative;
202
202
  display: grid;
@@ -294,7 +294,7 @@ a:focus {
294
294
 
295
295
  .nav-group {
296
296
  display: grid;
297
- gap: 0.4rem;
297
+ gap: 0.1rem;
298
298
  }
299
299
 
300
300
  .nav-sublist {