Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously an unversioned directory inside ~/src/blockninja-themes/coffee. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
96 lines
2.5 KiB
Go
96 lines
2.5 KiB
Go
package main
|
|
|
|
import "git.dev.alexdunmow.com/block/core/plugin"
|
|
|
|
// DefaultMasterPages returns the default master pages the Coffee theme seeds.
|
|
// Spec §7. Two masters: default-master (default + article templates) and
|
|
// landing-master (landing template only).
|
|
func DefaultMasterPages() []plugin.MasterPageDefinition {
|
|
return []plugin.MasterPageDefinition{
|
|
{
|
|
Key: "coffee:default-master",
|
|
Title: "Coffee Default Master",
|
|
PageTemplates: []string{"default", "article"},
|
|
Blocks: []plugin.MasterPageBlock{
|
|
{
|
|
BlockKey: "navbar",
|
|
Title: "Main Navigation",
|
|
Content: map[string]any{"menuName": "main"},
|
|
Slot: "header",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "coffee:hours_strip",
|
|
Title: "Hours Strip",
|
|
Content: map[string]any{"todayLabel": "Today"},
|
|
Slot: "header",
|
|
SortOrder: 1,
|
|
},
|
|
{
|
|
BlockKey: "slot",
|
|
Title: "Main Content",
|
|
Content: map[string]any{"slotName": "main", "placeholder": "Pour something in here"},
|
|
Slot: "main",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "coffee:footer",
|
|
Title: "Site Footer",
|
|
Content: map[string]any{"showLocation": true},
|
|
Slot: "footer",
|
|
SortOrder: 0,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Key: "coffee:landing-master",
|
|
Title: "Coffee Landing Master",
|
|
PageTemplates: []string{"landing"},
|
|
Blocks: []plugin.MasterPageBlock{
|
|
{
|
|
BlockKey: "navbar",
|
|
Title: "Main Navigation",
|
|
Content: map[string]any{"menuName": "main"},
|
|
Slot: "header",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "slot",
|
|
Title: "Hero Slot",
|
|
Content: map[string]any{"slotName": "hero", "placeholder": "Drop a hero block"},
|
|
Slot: "hero",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "coffee:featured_pour",
|
|
Title: "Featured Pour",
|
|
Content: map[string]any{},
|
|
Slot: "menu",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "slot",
|
|
Title: "Story Slot",
|
|
Content: map[string]any{"slotName": "story", "placeholder": "Tell the story"},
|
|
Slot: "story",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "coffee:location_card",
|
|
Title: "Location Card",
|
|
Content: map[string]any{},
|
|
Slot: "cta",
|
|
SortOrder: 0,
|
|
},
|
|
{
|
|
BlockKey: "coffee:footer",
|
|
Title: "Site Footer",
|
|
Content: map[string]any{"showLocation": true},
|
|
Slot: "footer",
|
|
SortOrder: 0,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|