feat: publisher, local business and home crumb settings

- Publisher and Local business tabs with the C20 refusals (sameAs lines,
  person as local business, address, times, country, coordinates)
- the publisher node from the settings, as an Organization, a Person or
  the chosen local business type with address, geo and opening hours
- P8 publisher preview with Google's required and recommended findings
  (classes/schema Validate)
- the home crumb name on the General tab; every new key in the settings
  API and seo_update_settings
This commit is contained in:
Jakub Zych
2026-11-04 14:14:59 +01:00
parent ea2ce24954
commit fde5024b5a
13 changed files with 938 additions and 52 deletions

View File

@@ -107,8 +107,8 @@ type stagingView struct {
}
// PartialData serves the staging callout, shown outside production where
// every page is noindex whatever the settings say (D-22), and the P3
// placeholder table.
// every page is noindex whatever the settings say (D-22), the P3
// placeholder table and the P8 publisher preview.
func (c settingsAdminController) PartialData(ctx context.Context, name string, _ any) (any, error) {
switch name {
case "staging":
@@ -119,6 +119,12 @@ func (c settingsAdminController) PartialData(ctx context.Context, name string, _
return nil, err
}
return svc.Placeholders(ctx), nil
case "publisher_preview":
svc, err := classes.NewService(appOf(c.app))
if err != nil {
return nil, err
}
return svc.PublisherPreview(ctx)
}
return nil, nil
}