Config
The config directory holds the theme's global configuration: the theme-wide settings you expose to sellers, and the values they've chosen.
bash
└── theme
├── layout
├── sections
├── config
│ ├── settings_schema.json
│ └── settings_data.json
...Both files are required.
| File | Purpose |
|---|---|
settings_schema.json | Defines the theme settings and how they're grouped in the theme editor. |
settings_data.json | Stores the values chosen for those settings, plus data for statically rendered sections. |
How they fit together
settings_schema.json declares a setting once, for example a font_family select. The seller picks a value in the theme editor, and it's saved to settings_data.json. At render time the two are merged, with schema defaults filling any gap, and the result is exposed to Liquid as the global settings object.
liquid
<body style="font-family: {{ settings.font_family }}">Theme settings are read through settings, section settings through section.settings, and block settings through block.settings. See Settings for the setting types available in all three.