Core Concepts
The Problem Pala Solves
Traditional website development creates a fundamental tension: developers need code control while content editors need a focused editing experience. This tension exists because most approaches split code and content at the component level - code lives in repos, content lives in databases, requiring complex connections between them. Pala solves this by coupling code and content together in self-contained blocks that live together in the database. This creates a truly modular system where:
- Developers can directly edit code and integrate content fields
- Editors get a visual, intuitive interface with proper guardrails
- Changes are instant and components are truly reusable
How Pala sites are Structured
Site Level
- Manages site-wide content (e.g. navigation, logo, social links)
- Controls design through CSS variables
- Each site is independent
- Contains its own copy of blocks from your library
Page Type Level
- Defines what kind of pages exist (e.g. blog posts, events, people, recipes)
- Controls which blocks are available for each type
- Sets required (static) blocks
- Defines page-level fields
Page Level
- Built by stacking blocks vertically
- Contains page-specific content
- Follows structure defined by its page type
- Passes data to blocks through page fields
Block Level
- Self-contained units with both code and content
- Can access site and page level data
- Adapts to site design automatically
- Copied from your library when added to sites