The root layout was stamping the homepage title and production root onto every page. Routes now supply a page segment through one em-dash template, canonicals follow the request path, and non-production hosts disallow crawlers. Co-authored-by: Cursor <cursoragent@cursor.com>
116 lines
4.3 KiB
JSON
116 lines
4.3 KiB
JSON
{
|
|
"_comment": "Page metadata. `title` is the page segment; the root layout template appends the site name. Home `title` is the full default document title (not passed through the template).",
|
|
"siteName": "CommunityRule",
|
|
"titleTemplate": "%s — CommunityRule",
|
|
"home": {
|
|
"title": "CommunityRule - Build operating manuals for successful communities",
|
|
"description": "Help your community make important decisions in a way that reflects its unique values.",
|
|
"keywords": [
|
|
"community",
|
|
"governance",
|
|
"decision-making",
|
|
"operating manual"
|
|
]
|
|
},
|
|
"about": {
|
|
"title": "About"
|
|
},
|
|
"learn": {
|
|
"title": "Learn"
|
|
},
|
|
"templates": {
|
|
"title": "Templates"
|
|
},
|
|
"create": {
|
|
"title": "Create"
|
|
},
|
|
"blog": {
|
|
"title": "Blog",
|
|
"description": "Learn about community governance, decision-making, and building successful organizations.",
|
|
"notFoundTitle": "Post not found",
|
|
"fallbackTitle": "Blog post",
|
|
"fallbackDescription": "A blog post from our community."
|
|
},
|
|
"login": {
|
|
"title": "Log in"
|
|
},
|
|
"profile": {
|
|
"title": "Profile"
|
|
},
|
|
"monitor": {
|
|
"title": "Monitor"
|
|
},
|
|
"notFound": {
|
|
"title": "Page not found"
|
|
},
|
|
"useCases": {
|
|
"title": "Use cases",
|
|
"description": "See how mutual aid groups, cooperatives, open source projects, and other communities use CommunityRule to define structure before they need it.",
|
|
"keywords": [
|
|
"use cases",
|
|
"mutual aid",
|
|
"community governance",
|
|
"operating manual"
|
|
]
|
|
},
|
|
"useCasesDetail": {
|
|
"mutualAidColorado": {
|
|
"title": "Mutual Aid Colorado",
|
|
"description": "How Mutual Aid Colorado used CommunityRule to clarify resource sharing, volunteer coordination, and decision-making.",
|
|
"keywords": ["mutual aid", "use case", "community governance", "operating manual"]
|
|
},
|
|
"foodNotBombs": {
|
|
"title": "Food Not Bombs Boulder",
|
|
"description": "How Food Not Bombs Boulder used CommunityRule to translate implicit organizing norms into explicit democratic processes.",
|
|
"keywords": ["food not bombs", "use case", "community governance", "operating manual"]
|
|
},
|
|
"boulderCountyStreetMedics": {
|
|
"title": "Boulder County Street Medics",
|
|
"description": "How CommunityRule helped Boulder County Street Medics define operational process on the streets and off.",
|
|
"keywords": ["street medics", "use case", "community governance", "operating manual"]
|
|
}
|
|
},
|
|
"useCasesCompletedRule": {
|
|
"mutualAidColorado": {
|
|
"title": "Mutual Aid Colorado community rule",
|
|
"description": "Read the completed community rule Mutual Aid Colorado built with CommunityRule.",
|
|
"keywords": ["mutual aid", "community rule", "operating manual", "use case"]
|
|
},
|
|
"foodNotBombs": {
|
|
"title": "Food Not Bombs Boulder community rule",
|
|
"description": "Read the completed community rule Food Not Bombs Boulder built with CommunityRule.",
|
|
"keywords": ["food not bombs", "community rule", "operating manual", "use case"]
|
|
},
|
|
"boulderCountyStreetMedics": {
|
|
"title": "Boulder County Street Medics community rule",
|
|
"description": "Read the completed community rule Boulder County Street Medics built with CommunityRule.",
|
|
"keywords": ["street medics", "community rule", "operating manual", "use case"]
|
|
}
|
|
},
|
|
"howItWorks": {
|
|
"title": "A Guide to CommunityRule",
|
|
"description": "CommunityRule is a modular governance toolkit designed to help democratic groups build, customize, and publish their own Operating Manual.",
|
|
"keywords": [
|
|
"how it works",
|
|
"community governance",
|
|
"operating manual",
|
|
"decision-making"
|
|
]
|
|
},
|
|
"privacy": {
|
|
"title": "Privacy Policy",
|
|
"description": "What we collect, where it is stored, and how template recommendations work.",
|
|
"keywords": ["privacy", "personal information", "communityrule"]
|
|
},
|
|
"terms": {
|
|
"title": "Terms of Service",
|
|
"description": "How you may use CommunityRule, including licenses and the templates API.",
|
|
"keywords": ["terms of service", "license", "communityrule"]
|
|
},
|
|
"cookies": {
|
|
"title": "Cookies Settings",
|
|
"description": "CommunityRule uses one cookie, to keep you signed in.",
|
|
"keywords": ["cookies", "session", "privacy", "communityrule"]
|
|
}
|
|
}
|