Skip to content
Quilium Docs
Back to site
Reference

Site settings

The miscellaneous settings block, rendering, i18n locales and WYSIWYG styles, plus the read-merge-write pattern its writes require.

Site-wide settings live in the miscellaneous settings block: rendering options, locales, and the WYSIWYG style palette. This is also where the site's locales are declared. Unlike the collection-shaped configs, miscellaneous is a single YAML document with no partial-patch path: the only write is update-setting, which replaces the whole file — so every write starts from a read and sends the file back complete.

Redirections are not part of this block, although they are often looked for here: the API rejects a redirections key inside miscellaneous outright (422, "A Settings config can't have a 'redirections' property"). They are a settings surface of their own.

The miscellaneous block

rendering:
  minifyHtml: false
  404: '404.liquid'
i18n:
  enabled: true
  default:
    name: Français
    slug: fr
    country: fr
  translations:
    - name: English
      slug: en
      country: gb
wysiwyg:
  styles:
    lead:
      title: 'Chapô (lead)'
      tag: p
      css: >
        font-size: 1.25em; line-height: 1.55; color: #565E50; font-weight: 380;
      attrs:
        class: lead
    callout:
      title: '<b style="color:#07761F;">Encadré (note)</b>'
      tag: div
      css: >
        border-left: 3px solid #0BBF3D; background: #F2F4ED; padding: 12px 16px;
      attrs:
        class: callout
    small:
      title: '…'
      tag: span
      css: '…'
      attrs:
        class: small-note
    dropcap:
      title: 'Lettrine (dropcap)'
      tag: p
      css: 'overflow: hidden;'
      attrs:
        class: dropcap

Top-level keys

Key Notes
rendering minifyHtml (bool); 404 (template path for the 404 page, live '404.liquid').
i18n enabled (bool); default: {name, slug, country}; translations: [{name, slug, country}, …]. This is where locales live. Live: default fr/fr, translation en/gb.
wysiwyg.styles The site-wide WYSIWYG style palette.

i18n

The i18n key declares the site's locales. default is the primary locale; translations is the array of additional ones. Each locale is {name, slug, country}, where slug is the URL segment (fr, en) and country selects the flag. See The multilingual model for how locales drive locale, locales and per-locale URLs.

wysiwyg.styles

Each style entry is keyed by an identifier and carries:

Key Notes
title Dropdown label in the editor. HTML allowed.
tag The tag the style wraps the selection in.
css Inline CSS, used for the CMS preview only.
attrs Attribute map, typically class.

Production styling comes from attrs.class plus front-end CSS, not from the preview css.

Writing the block: read, merge, write back complete

update-settings-partial does not accept miscellaneous — its setting_type is limited to the collection-shaped configs (page-types, content-types, item-set-types). The write path for this block is update-setting, and it replaces the entire file. The safe sequence is always the same three calls:

get-site-settings(type: 'miscellaneous')
update-setting(setting_type: 'miscellaneous', yaml_content: <the whole file, with your change merged in>)
get-site-settings(type: 'miscellaneous')
Anything you do not send back is erased. Enabling i18n without re-sending the wysiwyg palette deletes the palette, silently, with a success: true. Start from the read, merge your change into it, and send the file back whole — including every key you have no opinion about.

setting_type values

Value Block Readable (get-site-settings) Patchable (update-settings-partial)
content-types Content-type schema. yes yes
page-types Page-type schema. yes yes
item-set-types Collection-type schema. yes yes
global-fields Global-fields schema. yes no — update-setting
miscellaneous This page. yes no — update-setting

Routes are not a setting_type at all: they are read with get-routes and written with the dedicated create-route / update-route / delete-route tools.

Related


Last updated September 6, 2026.