From b9896157079d33b777c9793cffd1447e95e51642 Mon Sep 17 00:00:00 2001 From: mipmip Date: Wed, 4 Dec 2024 21:53:40 +0000 Subject: [PATCH] deploy: 5fabedf2e8ec32cec2b303c1128556349ee87d4c --- 404.html | 2 +- categories/index.html | 4 +- .../01.installation/index.html | 4 +- .../02.import-site/index.html | 4 +- .../10.quick-start-video/index.html | 4 +- docs/10-getting-started/index.html | 4 +- .../01-user-roles/index.html | 4 +- docs/15-site-and-cms-development/index.html | 4 +- .../01-anatomy-of-quiqr-site/index.html | 4 +- .../02-site-conf/index.html | 4 +- .../01-root-properties/01-build/index.html | 4 +- .../01-root-properties/02-serve/index.html | 4 +- .../01-root-properties/03-hugover/index.html | 4 +- .../01-root-properties/04-menu/index.html | 4 +- .../01-root-properties/05-singles/index.html | 4 +- .../06-collections/index.html | 4 +- .../01-root-properties/07-dynamics/index.html | 4 +- .../01-root-properties/index.html | 4 +- .../02-includes/index.html | 4 +- .../03-partials/index.html | 4 +- .../02-model-file-structure/index.html | 4 +- .../accordion/index.html | 4 +- .../bundle-manager/index.html | 4 +- .../container-field-types/index.html | 4 +- .../leaf-array/index.html | 4 +- .../container-field-types/nest/index.html | 4 +- .../container-field-types/pull/index.html | 4 +- .../container-field-types/section/index.html | 4 +- .../data-field-types/boolean/index.html | 4 +- .../data-field-types/chips/index.html | 4 +- .../data-field-types/color/index.html | 4 +- .../data-field-types/date/index.html | 4 +- .../data-field-types/easymde/index.html | 4 +- .../data-field-types/eisenhouwer.png | Bin 0 -> 70089 bytes .../data-field-types/eisenhouwer/index.html | 253 ++++++++++++++++++ .../data-field-types/font-picker/index.html | 4 +- .../fonticon-picker/index.html | 4 +- .../data-field-types/hidden/index.html | 4 +- .../data-field-types/image-select/index.html | 4 +- .../data-field-types/index.html | 4 +- .../03-form-fields/data-field-types/index.xml | 4 +- .../data-field-types/markdown/index.html | 4 +- .../data-field-types/number/index.html | 4 +- .../data-field-types/readonly/index.html | 4 +- .../select-from-query/index.html | 4 +- .../data-field-types/select/index.html | 4 +- .../data-field-types/slider/index.html | 4 +- .../data-field-types/string/index.html | 4 +- .../data-field-types/uniq/index.html | 4 +- .../03-form-fields/index.html | 4 +- .../bundle-image-thumbnail/index.html | 4 +- .../layout-field-types/empty-line/index.html | 4 +- .../layout-field-types/index.html | 4 +- .../layout-field-types/info/index.html | 4 +- .../02-example-model-configuration/index.html | 4 +- .../03-content-model/04-examples/index.html | 4 +- .../03-content-model/index.html | 4 +- docs/20-quiqr-developer-reference/index.html | 4 +- .../01-create-a-new-field-type/index.html | 4 +- docs/40-quiqr-project-development/index.html | 4 +- .../01-quiqr-desktop/index.html | 4 +- .../01-quiqr-desktop/v0.0-older/index.html | 4 +- .../01-quiqr-desktop/v0.10.x/index.html | 4 +- docs/80-release-notes/index.html | 4 +- docs/99-about-this-book/index.html | 4 +- docs/index.html | 4 +- ...b5235a58567b9f9f1cd41f2169bb59219690d7b.js | 2 +- ...9ecb3ca81e5141655c918af9e2df6a9543bec12.js | 2 +- index.html | 4 +- index.xml | 4 +- sitemap.xml | 2 +- tags/index.html | 4 +- 72 files changed, 391 insertions(+), 134 deletions(-) create mode 100644 docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer.png create mode 100644 docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/index.html rename en.search-data.min.faf988480eced370b0fb2635f31652abd4f151ecfac519d16edfe2842d87fc74.js => en.search-data.min.dd47696756cb92f59b5778152b5235a58567b9f9f1cd41f2169bb59219690d7b.js (59%) rename en.search.min.c546185bdb63cc9920b24faeceaecc148f87c8a7b2edf2f5582ab0a6a9fa5e3d.js => en.search.min.89f46f0839312222f6308a8ec9ecb3ca81e5141655c918af9e2df6a9543bec12.js (89%) diff --git a/404.html b/404.html index 719f3d5..08ef7bd 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404 Page not found | The Quiqr Book

404

Page Not Found

The Quiqr Book

\ No newline at end of file +404 Page not found | The Quiqr Book

404

Page Not Found

The Quiqr Book

\ No newline at end of file diff --git a/categories/index.html b/categories/index.html index 8f869e0..5fbbcc1 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,9 +1,9 @@ -Categories | The Quiqr Book +Categories | The Quiqr Book
Categories diff --git a/docs/10-getting-started/01.installation/index.html b/docs/10-getting-started/01.installation/index.html index e56a3e1..4fd75bd 100644 --- a/docs/10-getting-started/01.installation/index.html +++ b/docs/10-getting-started/01.installation/index.html @@ -1,10 +1,10 @@ Install Quiqr Desktop | The Quiqr Book +Linux # Download the latest Quiqr version for Linux in different package types from GitHub">Install Quiqr Desktop | The Quiqr Book
Install Quiqr Desktop diff --git a/docs/10-getting-started/02.import-site/index.html b/docs/10-getting-started/02.import-site/index.html index e3c2f5a..0c7ce38 100644 --- a/docs/10-getting-started/02.import-site/index.html +++ b/docs/10-getting-started/02.import-site/index.html @@ -1,11 +1,11 @@ Import Site | The Quiqr Book + In the import dialog browser to the folder containing the Hugo Sources. Enter a name for your new site Select a Hugo version you would like to use for this site If you need extended functionality, e.g. Hugo’s sass compiler, enable the extended switch.">Import Site | The Quiqr Book
Import Site diff --git a/docs/10-getting-started/10.quick-start-video/index.html b/docs/10-getting-started/10.quick-start-video/index.html index 070c9f4..2e5c9ee 100644 --- a/docs/10-getting-started/10.quick-start-video/index.html +++ b/docs/10-getting-started/10.quick-start-video/index.html @@ -1,9 +1,9 @@ -Quick Start Video | The Quiqr Book +Quick Start Video | The Quiqr Book
Quick Start Video diff --git a/docs/10-getting-started/index.html b/docs/10-getting-started/index.html index 8804e09..221db92 100644 --- a/docs/10-getting-started/index.html +++ b/docs/10-getting-started/index.html @@ -1,12 +1,12 @@ Getting started | The Quiqr Book +Start Quiqr for the first time. # When you start Quiqr for the first time, you have no websites yet.">Getting started | The Quiqr Book
Getting started diff --git a/docs/15-site-and-cms-development/01-user-roles/index.html b/docs/15-site-and-cms-development/01-user-roles/index.html index a2cbb9d..a6b044e 100644 --- a/docs/15-site-and-cms-development/01-user-roles/index.html +++ b/docs/15-site-and-cms-development/01-user-roles/index.html @@ -1,11 +1,11 @@ User Roles | The Quiqr Book +Content Editor # The default role of Quiqr is Content Editor. A content editor download templates, import sites, change content and add synchronization targets and finally sync to this target.">User Roles | The Quiqr Book
User Roles diff --git a/docs/15-site-and-cms-development/index.html b/docs/15-site-and-cms-development/index.html index b67b26e..3d6bbf3 100644 --- a/docs/15-site-and-cms-development/index.html +++ b/docs/15-site-and-cms-development/index.html @@ -1,9 +1,9 @@ -Site and CMS Development | The Quiqr Book +Site and CMS Development | The Quiqr Book
Site and CMS Development diff --git a/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/index.html b/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/index.html index 7b2dcf8..7888e99 100644 --- a/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/index.html +++ b/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/index.html @@ -1,10 +1,10 @@ Anatomy of a Quiqr Site | The Quiqr Book +Quiqr Data on Windows # C:\Users\robin\QuiqrData Quiqr Data on macOS # /Users/robin/Quiqr Data Quiqr Data on Linux/BSD # /home/robin/Quiqr Data Site configuration # All Quiqr sites store their top-level-configuration file in the root of the Quiqr Data Directory.">Anatomy of a Quiqr Site | The Quiqr Book
Anatomy of a Quiqr Site diff --git a/docs/20-quiqr-developer-reference/02-site-conf/index.html b/docs/20-quiqr-developer-reference/02-site-conf/index.html index e4c294f..f74a8d1 100644 --- a/docs/20-quiqr-developer-reference/02-site-conf/index.html +++ b/docs/20-quiqr-developer-reference/02-site-conf/index.html @@ -1,10 +1,10 @@ Top Level Site Config File | The Quiqr Book +The site files are maintained by Quiqr and should not be edited manually, except when you know whhat you’re doing. property value type optional description key string mandatory Keys are for internal use and must be unique name string mandatory The name of the website lastPublish integer mandatory Timespamp with time of last publication publishStatus integer mandatory 1=published, 2=publication pending remote source.">Top Level Site Config File | The Quiqr Book
Top Level Site Config File diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/index.html index 6543b5c..b785f3f 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/index.html @@ -1,11 +1,11 @@ build | The Quiqr Book +./model/base. yaml  toml  json  build: - config: config.toml key: default [[build]] config = "config.toml" key = "default" { "build": [ { "config": "config.toml", "key": "default" } ] } ">build | The Quiqr Book
build diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/index.html index 86a16ac..de7ed0b 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/index.html @@ -1,11 +1,11 @@ serve | The Quiqr Book +./model/base. yaml  toml  json  serve: - config: config.toml key: default [[serve]] config = "config.toml" key = "default" { "serve": [ { "config": "config.toml", "key": "default" } ] } ">serve | The Quiqr Book
serve diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/index.html index d71e738..13b6cae 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/index.html @@ -1,11 +1,11 @@ hugover | The Quiqr Book +./model/base. yaml  toml  json  hugover: extended_0.76.5 hugover = "extended_0.76.5" { "hugover": "extended_0.76.5" } ">hugover | The Quiqr Book
hugover diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/index.html index cb87cf8..5cf2ed0 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/index.html @@ -4,12 +4,12 @@ property value type optional description key string mandatory Keys are for internal use and must be unique title string mandatory The title of this menu menuItems array of dictionaries mandatory contains a menu items matchRole string optional when set to “siteDeveloper” this menu is only visible in the role Site Developer Every menu item has a dictionary with.">menu | The Quiqr Book + property value type optional description key string mandatory Keys are for internal use and must be unique title string mandatory The title of this menu menuItems array of dictionaries mandatory contains a menu items matchRole string optional when set to “siteDeveloper” this menu is only visible in the role Site Developer Every menu item has a dictionary with.">menu | The Quiqr Book
menu diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/index.html index 834fdd8..639d6b4 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/index.html @@ -2,12 +2,12 @@ These are the properties of a Single dictionary. property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the type of output format.">single | The Quiqr Book + property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the type of output format.">single | The Quiqr Book
single diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/index.html index 6a5147f..c161b77 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/index.html @@ -1,11 +1,11 @@ collections | The Quiqr Book + property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the output format of the frontmatter block.">collections | The Quiqr Book
collections diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/index.html index 721d7bf..beb63af 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/index.html @@ -4,12 +4,12 @@ string image-select nest accordion boolean unique These field types are know NOT to work:">dynamics | The Quiqr Book + string image-select nest accordion boolean unique These field types are know NOT to work:">dynamics | The Quiqr Book
dynamics diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/index.html index 356ea8e..ab58ca7 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/index.html @@ -1,9 +1,9 @@ -Root properties | The Quiqr Book +Root properties | The Quiqr Book
Root properties diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/index.html index c82aaa2..9f624b4 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/index.html @@ -4,12 +4,12 @@ Each file represents a configuration root object, such as collections.toml for [Collections], menu.toml for [menu], singles.toml for [single] etc…">Includes | The Quiqr Book +Each file represents a configuration root object, such as collections.toml for [Collections], menu.toml for [menu], singles.toml for [single] etc…">Includes | The Quiqr Book
Includes diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/index.html index f5d31c6..4ce334d 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/index.html @@ -4,12 +4,12 @@ Relative partial pointer # This location can point to a file in the .">Partials | The Quiqr Book +Relative partial pointer # This location can point to a file in the .">Partials | The Quiqr Book
Partials diff --git a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/index.html b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/index.html index cf39dfc..28d0858 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/index.html @@ -1,9 +1,9 @@ -Model File Structure | The Quiqr Book +Model File Structure | The Quiqr Book
Model File Structure diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/index.html index 5d9c519..1d6ec8b 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/index.html @@ -2,12 +2,12 @@ Accordion Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the accordion element dynFormSearchKey string optional (default: null) key of one of the child field of which the value refers to a custom partial form dynFormObjectFile string with relative path to file without file extension optional (default: null) if dynFormSearchKey is set this path points to the file containing a subform.">Accordion | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the accordion element dynFormSearchKey string optional (default: null) key of one of the child field of which the value refers to a custom partial form dynFormObjectFile string with relative path to file without file extension optional (default: null) if dynFormSearchKey is set this path points to the file containing a subform.">Accordion | The Quiqr Book
Accordion diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/index.html index fa49a84..5037dde 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/index.html @@ -2,12 +2,12 @@ It’s not possible to use Bundle managers with pages which are not stored as page bundle. Bundle Manager together with a Bundle Image Thumbnail">Bundle manager | The Quiqr Book + Bundle Manager together with a Bundle Image Thumbnail">Bundle manager | The Quiqr Book
Bundle manager diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/index.html index 0cfe949..8d0f752 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/index.html @@ -1,9 +1,9 @@ -Container Field Types | The Quiqr Book +Container Field Types | The Quiqr Book
Container Field Types diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/index.html index ad5d76f..dbb3c6b 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/index.html @@ -2,12 +2,12 @@ Leaf array with dates Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element.">Leaf array | The Quiqr Book + Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element.">Leaf array | The Quiqr Book
Leaf array diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/index.html index ca513b0..849175d 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/index.html @@ -4,12 +4,12 @@ Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Nest | The Quiqr Book + Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Nest | The Quiqr Book
Nest diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/index.html index 132e09f..0bde5d7 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/index.html @@ -2,12 +2,12 @@ Example use of the pull field. The fields author and Description are show at the same level as the Title field Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Pull | The Quiqr Book + Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Pull | The Quiqr Book
Pull diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/index.html index a59b107..1981ed6 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/index.html @@ -2,12 +2,12 @@ section Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Section | The Quiqr Book + Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique.">Section | The Quiqr Book
Section diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/index.html index 2179cba..37d37f2 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/index.html @@ -2,12 +2,12 @@ Boolean Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Boolean | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Boolean | The Quiqr Book
Boolean diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/index.html index e62b3b4..d6d47aa 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/index.html @@ -2,12 +2,12 @@ Chips Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default array of strings optional (default: null) default value when the key is not set yet Sample # Configuration # .">Chips | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default array of strings optional (default: null) default value when the key is not set yet Sample # Configuration # .">Chips | The Quiqr Book
Chips diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/index.html index 74ee1b1..3e880b5 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/index.html @@ -2,12 +2,12 @@ Color picker popup Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element autoSave boolean optional (default: false) Form data is automatically saved after changing the value tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Color | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element autoSave boolean optional (default: false) Form data is automatically saved after changing the value tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Color | The Quiqr Book
Color diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/index.html index 1a168b6..448d216 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use.">Date | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use.">Date | The Quiqr Book
Date diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/index.html index a90b24f..ef0d94f 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/index.html @@ -2,12 +2,12 @@ Easy Markdown Editor Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Easy Markdown Editor | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Easy Markdown Editor | The Quiqr Book
Easy Markdown Editor diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer.png b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer.png new file mode 100644 index 0000000000000000000000000000000000000000..568162b64b0976d1fc51ab7c97dc99131a04756a GIT binary patch literal 70089 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 z
&aUQuV>?$rPZ)CG@vW{iJSO{cm%fb%Q$J17+C}{R0d2dKZ{$j$~1+g?t^ll;0 zwi4Ll_OERk1K&1uttmV%o_~r~QB^&z_Tk`M^g6z=wMVqzT+YQ;|F}J4OmHqU_xF%N z^^c9}i<3D+qyFR8=lxqTg~`>?!fAL1S_#Qvq)U>eGtT8gALH6;=!7Zln(2Ly7^sM+2p#;$0X@Wr-> zxb+rx=&A?wtu!j@DlEhrpQJ0QY&Z^%ZfQR^yzr6#XAk(%u5DJm82ndEg+7V%S&G{0 zpnfbA;oRq8qH;v*5kVQXA5oSqmJ zw{LH6jDe=szhX_BzX?c#50|h5T|cMeV9%Kr5cdELTpI7xPGN6*I7027iINl zzt*Ypc8+Z>F4sXC($d*BJ((vMs_+|Y}2gv|0J4nri- z49SP0(9nvP;wIv9IS6srxxAYMbddGwqR~#&M#Fn-*F|=}kB+K`mxQEZ+Hlu+`>A2j z#&{UeM|V#5F;Tp%@BO^)gHs0Y&MzMfg+5h8ru4bt*B&T@uTM$nI8;Cq`~_$F7Rzf_#8E*{36;D0MnuaKn(2-}~y=U|vRP z@}A+lwNbxL3-x^KR&85}u^5HW8i%XcsUJ8eeL}X?b7Uq;f|OkpzCn^KCw3MSS_FI1 z+rAQsJCax@<0AU@)h9x=wJic0FOFB_+hl`5-?zUk{vH%@77O~_p9#J(2zT6tB%=cdswM$?Lvv=PI5>?)lKEm^8Y*^PL^(a*Psh!B{|)oXkWGE+CtZ z+87Ns<(LeSxZ)vir>Dsu7n$p9-BX`(1MT-Jc6asjWaKqSB!3!jT%kvHG5~3oS&Hbi zs5LlRbSl&4z`*b;U)aRCOh}M*Bx1$J`CU>Hg{K1tA|a!Uek5|b=k7yDeSfjAH-gq^ zYmnfW(hK@fm^WHpyNh#P?2M~Glr{r}>BF}T5A)_}AlrZ8x1=Z$jJM0_YHgY>Fmsu?4p=gKBqWhEPawku}(Z;|F_tLMzoZ3f5hYKlt&(NW(c32 zKOBlECDr%RN8Uq`B9=ye$*EAovIwr-?7GG3HbMm}=#TITwzK66Id5G7Ocm>|7Rl(- z_WHa01ukn+gc~ETTZbC!X4sRY7rY7$uslkv!S()6jS4HISWV4F2JLbD^F}5gomR;T z5`{@A$r^tMZ+-JhS3tXjjkN<_=Q#k z`>#tWhK4Y*CY`_DLMB}l7M|ubRzf>o90CtV@>tW}eI(J^*=7I_@5{@ks6=zX$k&`t zV?sUmF_55P$TE#fJUOyCyyrH1hPv+0-o71FgT$Sie4oN@Kc8h||EeR8e_O!v`d4Wp z%~GqgiGrwTkXiD_%q?~yi~mN)cq=-X$n!F0QK!H`>T|vuU7M{|hPK?7P6U_?Jy<@2 zf?YjVyYAkPxY{Wvv#88w?Jga=}f8vu*>E400 zci)2u$+icPFi`&7=Wt_uwVd)E#1MaaFT2VK&y$_n@{8X+PXLi6Xq_j05XPF) zE+_)4=KOdH7#jHq^r1+YS+I|6FX!o9fA!?bS&7XosEvB=R~Y74%Z1=+h`9(HAuR8s z*WZmftH&?N){^Xf|H(aKZEQ{&P>RJ5EBwu6Adj+F@EUt5zLX~nRT${DV|X@PD7m)l z#r0;Uljz{$Lx9AKY>wD&$xCiF+BF_ZJAhq(8zKcLTozM(5Q&F&{E`KyyLR3_?Mq&= zfeMM`*2hm(KMB9s9chMtwuP6pc0t`FkgbW~TU~Ssgu@WB(B_SeiOH@8H%+PU-Di!& z@!8RW;(K=s=@wMu7w}9&x$D=+7VplE-c?XEf6jaU6T~xRR=cYBQcS?qQ}MXd3Wioi zVOEwDfO^I$m;%&1bA>KQ$+nms%228B%_+Ic7zGf5cP}#IlpoA z2P%A=qs`grNgYS|<+cxA9>cW`ct@h#bbt}TY1pfY?OI){;DOd_%?^Db+X0FHZ$zBQ0$j5RgdF3VI_WwBG+?F2Cgy%wj{?5 zUSHIRfMyA{wsP$5jQ}x^H7-iFTOCWe8H!4p+AU)~Uaw(%1zgvmWSzq~;x!&Ej6s0Y z-0mK&!bH9|uK6(gg)CXQh8iQ>+;MGfV}1uE zN~;UXhK3ym(TaLTP)emqb0V|MA} zFI{yh+b5T+KSok<8ND-&4~h`)YCG9G8It3ifh^3tu*abe&0WvOD|IIxx~{EujmUit zsf?kd4hu70|0aV*J6;&*#^8O~7Z9sjF$AAJ35m#gzlu1UDI??aEQ?H6Xc@JJBI|gL z0r|q>M2@riF*x!!1Q5(cJ=gtOQ4#m;+s%)Wk@4)ki!%WD1hlBDrqiX~pCbeOGx^8h zvE#b`y%Lqwvu;mB9_6w14_7s{PQfHJX`*kv5F0$ZL)Vu_)5R^KJzL-R%$ZTpbY~RJ zIlkkaTeDyRWNIY6cc<`_w4brj;kDaf>zwqfG48It4U6bWM9UNLK{N3s+4Y`yC%GjR z<;}XG_2wRgNBNd%DtnvwQ#*ZhT+vfB5dKSotSG%Ve5j)Iz@U+3&=Yf#kuP-m4;M;H zM@&nt@Jgn$R05QZCLN7|&=v`c3^AV3Ak#P_&xx9#qNAsEM;z%%DH_b+A#r*J4mMh`_fCE6AXSP-79;Fm@n%d$QuZD zSL_=Gf~1oMyf;9}0|NDWHJyo`5MZz(wkqkIvJ`0k2X>)ri>K1(@l|UBUR3lIdG{&apTywzfT~1E0m8z1Fj2v5bhWY*~yIVMHyJ zN`$syFw1sJXhY-qRQbdo(=Dt$=S9Tj%jTdoqVkZDsUAxjNb|x6I1TOLjjxXHw(uW> zEz8D3FK-@*3wv`eNh`L zp}3>HK3?|WuEh|KzIj6vbNNrz@86XLTsU&yJi;dz53Qf_;#NzHl^hu_AGWT{smG8? zevP@pYx}Z#t<&2(vLWpfDR(bkekQ{IPpXn$A|I z0qeX>?Ej~P%*|frEXI|mH^PwTWbk~3j-;uSHC(^=bf}_Eq+Or0VXK3o)O75A7D$+` z5%<6Ou}nxiSs4#i{~HPOEBK(|D>xl9pUB%XJ!n=|cW-UN+l$2rt~bj*DC2{(8q3j2 zqCfKh9J#%dQT`4@79WPQIKz9NWhSb19IxReAz%x)9d4&y@B2&k)q_)0v&h>n2YEe+ zFUsxKT|u!||3+i$!=F^5hUW2=ks|{Tn2dn%*|uyAF zY?f)WwnQo@2YJPP2#RfZPVA4E6o1+c@Cf16oO0MqI^T^nlLdo@JH{F&mL$dMZI%l+oO|5KYxZUHD4AFVv`)Q=G zXV|Saa--zUO>f_#0&R9AE2Yy?Bla0=%_&~m7^PE4vqY!xp8=fC-2>mBi<{J3@D$+c zn2m80h78p995tA6xpS~&B`S2ceA+v~x%8388H3%BHQ#XVe$DwZ(si~xx&Z5v{ls?9 zzQxO!8lRUhtCxl+t>QUc=@W(1pBhq|Gh9z`()v9qj0K%9Yqgpk&-cU)k8@lEp6afi z-7~wH7NEVnH+#oJgZ(#eX(A}xLH!BJtTj;|>St5sUNyjPME)sM%pqYSNGx2s1-i){ zAF+ABki~d^rhHMaPZcBZI@HZhJEgtrGAz0Tf^w9mylIL71|L&8l=xTM{=ZrP6iP=i zzV(Q-Rb7Y{pMh8EZ3wb^(koC}Z7GDoM=`neX6*hW44LZ>eE(!Up?IjApYrBSoBP0o z(?Gk8&Vi=-gz1Ei-SY{1m!s9uO15`zIfCCjAz*(0=h34lTdhVPUo9O;|9UTj^HKhZ zSl-f(n+WfcXSb=?y^fBPj#6y{+Su5#kl?tx+6muzsBJ08XInZfhiEAuUA|FKs#~d= zxvYs9a5J*RN02a(PEuJY-vS2_xymwAcq#Cimf_rfYieU7GchgsLm7QBw~^S!Mk2Fb zb$RVKri}MMJ@i#nym(C{j6j~gHMS#?Ry5|<^o-L)&D|Scp$>!>B~mKAsRwOu+&hRJ zq9P?VWre4R=%b=jnTMQGv+qg1o$q4?r%XGS5AQCR&KsMOyu@W;{}Ge(l%VDk5X|kRITkgJkaqt2GljHMyc=HHKqpdCFv1em#$UnOpYo zUdb)JI@f;c#9#lFFoK8Nh1NRyn=dw zDb+yLy1YQn$+rQ+I8s`21zWF&92wq1k1c$N(0oGPrksnQ^%8Abl;{LDbX6i#|a-qZjt;ej&xqAYS((aA}RlHVp0rd&`R1%ODayJSm=49k?}_GZ!H)hN5AKM@{xrnFaW1amvvqak(+^`=CZ9;IO!>vzESYtt zktIs%cIAeDS&>XPUJo-i5yMk`T|%4cUFiom1jIfB^_hAkMFg!W9%hgx$(-D|p)W*t zXi}LKDBaBEzUw&YzM!}qCMESWZjmafchHTRC+>V1oHPY2uDyQfWcWqx)-^nGPQ!*w zqLGpni=z8<@Ld*-pVhA6d?S0+Sp-GFrNCZs_Sinw2whcOj#_(q8gZomkgg|rQ_lPM ze4+17Pv{moD`2X4)g95)Jox^M+k4fro4{rE&xdTcEvK|Dow}ITC2#$GB7B3cu#guA zhqVPm{Z|FKf_79)N=_>R!l~OwqqYVRyP0oLtu%^py{m52;)2$z^3Zxjz|%`aG9Z|w zF*M!?zjbv?e&^M^f2&cV5FGMw%%`vHMJZr{F>p}(vGj99z!HtP6AR6ApT+<+hLmR+ z@DSsN0z_QGZ7w!{>i7ZPbGAE~L~q^hg~pE_ZgUm-Tz@|0i38K%T6#nHJQ*t!hZXn%azjm;&qamS6A=KerTLfRD>?#wsk2@ zlx*jK;M8l`?~HcKw!ym&Zf7=};BjynH)K9Do$`<~x*(qi-NUt^#~x!5n=}#3 zZ2riqV_{YEYZvI`i<3oV61y08k-}zo(|%*$WG*~Se4cTKb8d8O)AA6JGIJv4v!tf2 zz}mMoF|9F?`hBfgQ=|2?d-ABGx<^TF$l2SAgy`i|_*Q|s`tE4(l1RkeiY@&&j~Ygu zIs+u7BH_A`Cwp65G4dS=E|}%%iaR@5K89UkcaNT!Z&a67pJV!QoO<G5VAUWbM6?k?(RQI;HU}<~wEk`4hX9r!vU##X_gwjco%yMz~G|J=F7soA3 zBHR5cmo8zs(N7gS-Hru2rM;hB9<|sl;tm1bAWcq2b|bYtwdg(}#o@5NBeByT&&4=? z>m|9qLAuX>Ahg(e^ojhMeoppHfv+o9H13YTi(r+PYdfsvY>d{5p4hNcye%*H++WRt zSj@c?K=T4FgU{(da$e`ABz;WK3U;ZkA;y=%KGtw^;;>~3diSOI_M+;C1FuH%=8uV6J zO-hb&m}A_EVtJgtmJBT)sevcmA+-`Y>bz#hW>*6bI*2;wGH_m;t$2jS@kI@ru;`FQ z2ZVdq{xK`Ym!}^=|A5<5d7|T_Ht{T@Gg~O7zdwZ#_xILnmX=V3Rd7na)5QJW!!4Za z6?)>iU?7zp6;*Wvt~_-ris<>)3$j=29W+j}^w76keJ&bWa7iio#w(wk%q@1VkJQjb zCNoG#g!Bj%_V8akJ)&0Nw1M(^{EH591XF2aQU5<^eS|GpG9|9r4n$ zf4(NPcFeaEiA~pliqY)n#2;}Vq=#a6NOY3t$Cc-LPe<$hK3${WJ*!v~`Wz>#tV?em z7BIG1O_8YE9RhI2r+W@Uv7e=k-R>E3REF;Kr3=0~Yy7}ud9r#N)^xqTen;g3`8g)$ zn)|)^`Dxqx>}~B#*V*0`M6wo|jtR(Kxe{~Vg`;)uckzUjHHSia+ea%j!BiBa~{m zpg(X+_13jk!)5_tjqQw7>5-CGq%fIK^Z1p+ zlDoTZ(SF>W8#jhCvo!WD&OXgArLtWiO;bF&gM(P1u_2x)k_L`|FH!|E}8&K5h*XM-vh8cJkx`OxmzY@O zAEXaCoNw!A-nvz$zw(UnbpKUh*y66|X(Mi)1xKBM{^1)ee@Q6}F8xtHU1YnSW@oxt z;(irzb?<&w-W=FQY{mLLaHK2N?2H5 z$6rBA(q$ee_M2Y&%4CxIW52_IE<#t*P{)2??JU3%jThY)l)^S|WZdK8dz7Fkd2+Ho z{PS%kgLjN^JCL7Be-_=S<>*D@`m2{%%AX3``hHE7`pR}CYsxKfMIZ{)K`m^p@7&BYIA>3M7dS?|cP@ENJ7)Z$NQIE0dxqJgSijh)796L-L9;1CT7Ww$WZ?@>Dg^qED zoZfYn9rYwNo7%9x8Bx0(7d@Y_db9b9W`?Crd`5V^LC!WM5Usm=>x=NZb2n#aa|Esa@N&=cfm0-C zxrIO5)Lz8JKF~H`97$Io5jP{gpBVn<-R0e%h1@anm#}dJHQbN(TO;>3rltx#J$7Tb z6Ye=>cJA?g;xi|k%F&XxdK$JAJqyW`(x+raw^!^ksjKRbu7m_LirflbS4rRAJF;=% zppm2Hx#SDc0`z|(lJQ^uC}k6<+sb5a;m$HpK6xyU54j2{rDyJs_zy`6$z?*_nPRD| zii`1iHM`lCFT z*5h@yyT_XJAgj-9%VGYq;FJ>un!DfY`i8(ryL~pyRfoQW-W105;^KWpS&Wy*$2-{; zX-a=Sf7b20Hl!Pp<(*+GXUp~a;X~C=pRX#3&zt_q*Z;v!jrNF%@y8v`^pv7c!M)G0 zhmNr0xU8rRIcuw0??sDj`z{UFU}7t&KkGG0UMyPDe06)Xu=)ecX~+9?a2O+eXxHTt zQ_<@8v!tXlBjuz&&IAW+>d@p(c&T$f&looEPK*|VJXNG+duMJME5>;7vJXhlLDQCVVbte^TQN=W=!74cs;Ke`BSL*H(!`UpmK zc|>8Pz;C=S9sNgc=5ED_;K_-yj#}w`b-2^8YxJx-?yn3*Z2w?WFg1F~7yHg8E#3=? zyx-VZVF68HgI#?}zDnlWH@ zu%zyzk~NT&f?43>QaBv%Hidq7u}E5z1Ku%d6er)w4w9 zBuhsEcEM9B{1mcPr)QO7@!B&}0+Xj#p&8K%qe9+KaT2iHMeT@VyU_E9qVOCT-HZQ2uj=EYAMI* z1k~KyC|4g1t*m$Y@+?DX+!{h`^XIz>@^YA~0jCLfLqUk?V9j2713(8 zaqH4_;!Caus#$B;HxdwMKd2kW)M+{w%9)#=sh|==7m@7;k-yUZXXvXxCXcLpN%T%* zw{=f3SokqMDjrxJ5wxyDJG7b#m(5AjLtdbyMGNhmu&!=KQ1#7=NJR$4VGAA*j9G0! z%}>J{(7?_Pk)ONhBHBDPnL!|Hz=D}mOYIu$+Wlbx#`n#&lBV|`jbvtu2!@>9 zjRaQEQ$aML`z}1hiqTcMwzy1wITyTmboz%rE4?`lg zwz$E%S-;ff#dvb<5q)%LT+=&TQnX{}RVsDs7#XrVq_(@4_$lfWF*V7|NczvJggmj+ zca_MqTHKJ(Z$Gm;vR=%Gl=Z=}cH*w@nTbSvdyE*Jy6F$MMzMVB&GxCoRg}d;@#<)a z>lU8twjRHt5Yup%F0xb4>HM92viIG#2i>R(RZGB>rKS>cWCJ9>LBAAIj5C+beSC_1 ze}5%Nmj`#|8h4VPD+*TLF_rfeNmoqzmYIS9Sjp>Cn*5TkzTs&Srk1Xj z>xeq^kE9@1|3S=7P;q)uqG8OdZtOmvyafvMTw{NIdg zpYp9@kwVae6~TV@7RGhK+aUy5>WM@5IEo0ur24+GwrF4m5E^eCZUD%k>ns4(xNIan z4eSmdpNS7W4(pT}eT|8q4d>+HU_bj5jWZoyW zf52?fSUepgaZfrCY%((kwdVi>wZybWiW;ts-B*-=%P4Dn469Y~$Sq2?=|JvtKJ0Zh zQ~BsQ3eE5x1QM<|`OqYh*iv0LEV(C_gCqjpyPdlRF0$7d%nV$+{R0w zdii^sAxVxrZ^&>sLw&C701<h^6t8e3)Od%E!|Vex5@9koHI=>cy(Z&Vqj2aP>-P($b3JRjPtL!;J>_RqU&*& zH?MkdNZ(as@^zN-WxE>K79TrmC*Y5*NE!{l`+LiS>#E>q|7U)q01B6FX=yM|ue)^0I|RDF;mD3V+GWJWnybQpjW6mi&Vvf! zJ+RfgR;?Q$`+e6Pl7K{LSlnr0ir5}^=>8BN-%cccKAp<;->0-w&s%e|>*OCIrlDzv zqZz8`6~W#WPNwzu_ebOMIJ6Y7nd~Tf)#pi)M*K?}cE2Mctzl#z5!7lgclS*HY%9yh z3o|56qCE)9iQ5|TsW0fq>>tiXAFnWqE2k z{)uYdC~4l$r*{1w!!-Mk@FWpGjiJdWQtr3nYhTEyNn&}OGTU}q$#I|IVB~x4-GAon z8PUFQ(|ejYx8jxZ^K_ZN!qPjAfwf=?u)^vT(|z&c$+Kr4O@+Zh7QS+?$X)Jv>REc| z5KceZtR~38QlTdjwO|Z$)HK`uObt4F(4n$ss67yOd`-iO#_Iu zU4&`d&7_#xx5D1my)gG2DP{Kf60TpsE;0#u8x6+=@#M7LYrJZmB8k%6asXPY$L_qS z3a!Bn@+`F`h!@vueKQtqx36?X`k8aV{_}{JTyX$wX04B(5@1G3JA3{7XSy<0TMs{x zgR)9zDVj!Fxa>|JWMf-7qL`5z}Ip z>bHlc?1=O~^uVL1jR#96P5Z^0M`f#vV>?9nkJ1JIh`*vVZhD&-OaAv}>zO-rP-PaR zo0p!J_Pfxka0Da)hYVKvt6$i99rfQtGaepo1yY~~#h9fH9 z-CdsbL(ROsL@_4}zt-+G?i}6jjJXwn=u$0+r+OsV_vyIGr00>(SRif%fAmZc`U_0F zDXQirySt_J(P!%8`I)+7>e)gUOH+tDxV_CUC74)L*>Do&lddTH=4UDB+gA1irv7xHxW!aR`39ewOZ zeplGt62{Jn|FdkX7ub^}DJ6Y&-(UCXf0wKzBNLsZ5KM9KJCv#+-lnGYn@l8_XLy2p zGZP}ca`9L!EDDZW4+HYR{A1Q2>7Y5A6l5fY$_9t1gSaJW};`{b9?{R_&HUtSS z)E`JDpiA!~^!vsH2Va5S<+_eoUX20+EL6iSv^JYUCv**=#^s*3DQC<|Ryp(gt%kZ0 z!ij_e*{5J5^4S{`+wOe(VS+;7kXY2h_xZ%GZ&SVx0iPt?8e1s-_{8!NW9uA8>UGx2 zP9d1uA`Yexbd(zx9IsN6;n#i6Q-`9XDa>VZiQVj<93=7}GYMr}8?EPE-n3*2*(Vqf zRd6xhcx-BKVmzCB2j>CZ%ZFo}xdVtW7IBuYm<9@ls@8EDik?y*#=*8L0zNzJnu&yo zlMjITSs$&4RkJ}b6fRErGvEA_Qbh}w{eEVSlS$|fEhLFVG_~Krpb59n6cqtD*;x>E z^irX&#AT6l zl*fGf=ld19^m+?x(w?&ZkP=*17UAOA>!CL{yH^&&>STMgQV^cL8yVbb-||hKo$! zFD&0SqhC6jp;mLzV(;YtzRPxBzq#JtIW*>jw`+oDSZ_Uh_|7KWAUBcm<=eh5F?|toft_vfEF@n|V0V}n;&(|I0;tuEY zE%yAWvnIljat18E(fZoCczNN7Wy*0L&mQ3v??^ST6LZzZvnJT16BIrA!-A+E1tZaa zk8=__y3jukD{S{9c~9V|?h>JC`GE-rMH>lc>#1Y}o1xb^Vb^zY;$Xxc)88M;JavtP zGUyvl@A!6%Lck46Ww90)YO+**_}JN&^jPkXa<2WNuFXks`c~`bVkzMgq|b8WHk51G z)md4OmWP_`&gX$F5}ID1oyc3vOf`gE!M*&bv*26nVsM<&d&;$cx zOf5)wA1RT1maFkCja9JTpjwtuw=#o73bI!_DVu5 zd7m)|p`9*EeYY-3~RibE0{J8r`@@Vwj9amiGaQpopWZxHE0umRJI)STw&JLwS;tv&+<#FNu z{K7e30Vm7Jwn$yU7GO(}kk5ho9+(TeMga1CKDxt{TbTPh?g)9^0RxjER%?#$2yp$irM_S;%PuAIYd~5-bmcG zg?4oSq;Znd7=FA_@gg4S)JgIRQZDpI#${Y_r;sjvUN+uGDL8$;Y;f%=8ZUA={N}YQ zldp134v3TpT@2jQ<+A#99VV{PCLgJ*Bj+l8=lY9Gd}^iP_jKR{OTL)&J~x_K+MF&D zfU`a8Fe2DM1sOxjzMSr`@UY#9bgSfU?+-b6ho{Y*6^~@!yR%<^!2kw+*W>gBLahC> zJ|R9m6YIsOQJVI3qi7XpG@Kn;32VN%$mRnGa( z>3^=~oH&tMOsu%8h*NoA?o+cta&`?rVn1EPVk*~fM*H%Usv%YL3oYrFSE3ZF)0m%A zpZ4!2-nkj{Xv*zIP;pe+}@|A~L)B4vG%@djysJMsJyMl8{Rc8tcKdsyO;tu|* zJtggV8Rys9PbS+#J#CR=g&fVTvteDbvcUJk5Mv;;F0&T-Ol%RIDMxKhbUuS4dcvsu zL`D9rb8uHk$N27m@ywSh=Xy+S6QU6RF0a>oT;IwY&a>ASQaUfB*5+LmZnA%H&M16u zNX4;%Z0?xo7OY^Qs+w~Y1#u5_nD4}+hY+~JM)L|uWxaGPlZM7z$#;nGZvl{xXZmi- zPo?hrsPxsVAJ;KYyK|l{1#?}BqTw-DsS804{a^_tV0_4Zf}P%PwwjV}QR*op#f%Yi z)9$XqoKp=BK?HsCRaq~m8ywkwYPv3;?L#MZLJG%%JJ%vgmD~vezvK-5+D*oLls{y< z>Mi&soSkB%cEkRb;W1?E;_9NJogn2E7^bUVu9~Kto5RM6C2qRMt(ni#DdgyTellR) z*I?vFthray)V1A;J^H8h0bApF(|eM9bi}X{QQ|Fiwk}u5MN~@oY2>%-@ysJhgZP+n zDkbcvEGrrG2bmS>7>s)r6JnQKIgGaSLf20lzfWwhUne0JF_~_B_w%Qc$6~iD4N)pL zX^@QkMu}EXjP!Oo@(IZUj%=#f0r|p8-{6*eaTk0qhpk6Q7;ibcXhV@eIngun*G_tt z0?UkDN|%DG2+!ghDbeG$4AtsCi^|%nYw)~9PGM1-X|Z_zCe=~H)A(*91#6tG#@GA1 zM9pS}zb(cKRN^jPKrHj$eETk?Q8H6`-~sJhnAL66JmI^P@j5M|gPSh`rgRDm$I2}W z1%|E6!OJa!mzyZRsHu`^>=KZ|htRCNF0Lei^|H1_9AQ>@5F`>fIb~4?zdn|bV85-R zGGm7tx1iBe+%XBK;d?c(qNn&ri`okV0}>o)a*Z-Bv3%{b0XF zm}tbW?rN{uJ zr}w;TmFsfe&8xs}%>6f!Eh`*%%FoEfohq>p~=J{1usfVzA zT2Gt+()&;9jQ=tZr{IlCEWm#p^6QLX>4kBbX%CZ5=_|>-ZG2XA!H5HkrINf*CqlJY zGGoAX&-YcWfrP#hqknw-(vYg=Iro{>)Z6 z+IIa>Qhgyhi~?3%mv(D(-%WBbRRt@5#g(5gIIsM^?x6U__SLcoohGGGzm{gB9v8M- zKoZokt|)om`%dj2FKNs3(e%5Cqx!95gEGvFA+m=`He==`G1rxJY%XOsBE>CL_^$i& zVM?@Bj8t_g$yolZ**-$~U6!<*+)4UTc7g3}sm@8@-d^&T?Sg?^{?&jI1S(_Nm0%MG zKf=_G+IIVYH=q^Q?Wj$~jvmo+azJ@TRkdUok_x(_pnS{(9TF&>?BXk!t_l#4$$3HK znRnv5jE{@)3)kkqjcB!+>|BhZp<|Mto%F5`V&HvuCfx}sN`-VCq=jg7P%Pv|;n&%= zEIsgTmB6vR;l~)Z?zL^lB zshg`Vs5D}wHX`a^pzp1<7Kll`a<)6SshF#Bh^-#yK45@=o+mqWlCMLVbZZ*~v5)Y7 z6ndnLdzaR?4_oXLEkKP$Z?CR+&S9jVBD7nl@<@-iPMlZy*ENxq*VswpXnMK0e z`xu{cc~q4ItFA{vT%Y#3_>xy>J~NA`^?ifap%%`XjaRw#nq3L_FXQ8xR~buBZO^NB zbqS7p1`?PbY=v(`h9rxQ4=fb0q96MMt#Kw3&Eh9xU5hHxfhSsD%wtxktG|Yn zT@E8WfMTtxmlem`{_pc&)F9PzlwNG=pTN&*ZoXk%R+tI-wZO`#YW~n~iaQs2Mkx+= zP4c;ssHOJNQ{A;hGImp~dJ{*hV8XBMnPS??q7FzM^birk@ezK@+$C4XYx&GV=hD_3 z*P|JZbjH&>uWGPqA(rKgZp}pn$y161Sk=ZxP5aZ0K3&VB{Cj%1_Kg3?HXQDZIoH#16$ZKOvBA=^YhwM*|^+`|eUb|-8vzMS=kY1U%kH!>XdR)&f22~yo{I(+wAN+Wb(;uVQpDta}W-V1ic$8B#NAu z?0tqYV+h^lLfS)opP1%6Ep(phkM9;^#9#SFN|9H{!gR7_m1?yt<0LI#e&WAJ5!64e zT%FRjLKcjX`rzn6eB83ZQ|@IIxW?^#&d@mawB$Me@s(!PX92lX;!$`iIxYcUoqi|3 zmL?x~e)pE`N}Si8qioYL3U?==X`d6udc8Ni4!u#C>l=9w8ja9-A_FSwG9ZTWpBI{S z#&^WVxuc^KQ8uYPJapHta#fZDYe;_K_o5s-^vXZj%}_Ad-R*UJ_1E@;ku5Uw(IOM_ z#(3^?DhQKOLA520%X!SW97{DXsI{%sLQax~c&!}q?qRCMBA@6C?(Bqpdh02O^)_HB zmxEvJ^bS@)YM!p@-rBdf<=YxEc>I+vX&<%O7h6Ld&i=`+3l+^Pljp?E53pf|*p7G1 zLcz9t-g^D{07vxD2kQOE*nv9K z$VVoLN63mXDeSs8LlWdjyaZNJEoO5+9VAO-mUJJky<%LpOB%CPUYE=k(MBTKPMupN zF)S$bv@YJpExOb|a(^sllc=@}mx8Kt>`VJHN6oS{lpyLy^1e1yIZ6oAh<|q-)Sx0S z?0u3`I-d6{uQSZ;Ip!)J4$l$r-_Se8Q`qWY!rWa)BL}0zD62zQW zzJ6t{q5g@q4r926W_|}RIh*$wWwDAxj;3j5&3VP8O*2Qw_=0G5^v%=OrsT~TyC!#je4dt2fp<|p5;mdd>qE~Oa_DN{sWRu^F=gO z$|@QU^<4VcN&Xg_f@DHkt+LZoeRd=oIBw0&DOQ$Z=3Yq>4@Ne~>KmbQeofnuV8wRz zKi}62>wT!+Bw|@~e{M*X0{GWo*T#1Wn-^YxPBS{NxUFA$k?Yd^!W|xgsdcBf+G9K4 zvoL6h(JtJ)-1=5c2hm)`@F3NuopOSE@b`%)$t|zGw{(BS(C}w#z|Ov-QSo8O zmF+1@@oRp_fxxpv_SDs(rN8FqdBHKsAP$mLLp`|Pq`N0aCKe(^gno5^()pA9S3Tv?LZ zPLDOMPmnT{IKSC)LLgQ+r0t-oqrrTE+3Ep@^SHgxN6k2y^zCg9wXRieev0<|AHRaA zd3__-qSPt&@=S6~(jH)6B_R&U?GN)(G5u8I#H}Iwl9v55#+55qS8nSJQt3)bVIw&w ztdJGi3pY?^c@2xLTX?wU zl9?k!4V|HrMp&t}1wk{*yv1qEf2#zd4%`q2H8Mo3@6H0H1SxrNZS+qi|78}Iy2&ZN z%q$sMH#Zdek#KZ@8dTU$K~u;8C{tzM^At{6T1+=Y#C_;bBF!|B1NsJHrSFqp(V-H$ zo9vxU*3rlp*T~tsGx9i=b#YsZ}@PZrJy06h)Yi?1Z2qM}fK z?@ktc4;-IID7L?T1MQ86qvpgLfaUfUU0-1lknV`U7pvqy6-@NcSz)7-C#@vM_1I$n z_H@=?)Bn5e)?f2{G1|?oAvqy|ysxUq2(&6))(y)?nORxQE0fmfZYNz$F-cidUSXe? z`F91?nKC#eZ*HHRfE^`iWLsMNXnE-0ceY9Iu)R~HT%Us^Ba`+ztKk#^5=D?zb6q#Q z8xLBEg;fL5*J5z2LHaV%n+94V|Jn6LuM4z3Wd3PEeC_F3|GwK<^487pbLcGSi^4j* z0u_qJqeTkfr(Iet`D;(`SCEc^o6aBwmmcDtaqsi?;OpS)8RZkdK*Pd=D(0WC04{bF zGSipP$V98a>IVL6`9y;*{a>_U9d3rS&#hi@6eACl!O?jPIf@JUI%a>=t_L*pDKMm{e znMA_~G3ex?m6F=7DY#HO^HSEIpPc|j6IxUn^e{f2?sR#Qn)X#Vt!sE4&SEFZGl3)_ zn@&Bc-=~{Ln-^dz8R!#%7!uSjjF!KpO*oBP!d|%ij8?xB?h7b*jeNAFgVA0PtF;B1Nf=0?Ki8fCA-lAKg6{Hlr@DBc zXv9NuygPM%30tx?8%U!JCv3FAgb$0xt+Nwx>1cfseALgei?z*H+>XH_yTshJ4HAJEdmLf96D@9KRYa7&R->$}JksF)py{Z`+GV3= zsYIjDVyd3(&8f3L&~t)xv2C))j&!o;{xj$&9)iRnqSIS#tke*@y}ey0Li&t9rN?L< zzP$(nd;6!(`{fUXLilyT5dgW+Pk2`X1>ryUv*nX+v9jW!-_$tS_4Df3=5&*AhD6u} zSf*Lfv3w3KH33kmX49^H_h8D!Z){BC;m-6ZiTG^gu#O?n6&I+N`rdw$wROB&d{Gf( za)6nsr?7hJD;{V4Ls?n;6px+P5p<2ewU_^>8haxn=i0^d3JU1?`QP)|FQ)dJkn-8l zgMK9_U49=<+f!$W4nEnai&$7#VC>5TXX3n}1yoqzDbU28XlHWsYx3$EC+>|9EHI#N zX^(ERv0=icrh%F!+G@&2L;FqMou2p%nZ1A~)uHp&v1;4ty;MGGfmXhX=rXn)K3vI8 zi4%0^0p9~+R^=W?c5`!c^yfk)Aeac6uVlP7sS8bbFn;9aB?Q8+mu~X#+z69+WNMlV z-v(1w20m2i?kna#h2|n!M#|3KURp+mj)Nl{o`{Dkh#CyK1QJrUtT-H_)?~)~r>q_K zooR3DXng?J2RvR4wIx9HtEi|r)0*SP1AHznE-vML*Kgba-o4q;m?rTKU@)eER^fp~ zc6N4DTpW(nSsnOP-)vkRW#twiFczd?i##tX1%l+o?s&hZrl#Tf$n##~^3f3x=tV1S zqPG^_1bd%u?~G5M#S}N4k;8s-Lj`^=gfmXqTL?}XF0A~^i`Z^f zE%J%HFM$eQKtO9}8jE~!pDjsV5{R9#u&{Ivu>N*{#Xz1|Ens9`>p%9CkCP)3oObqr zt6|q990JGxWLJVR=muRjEFgPehYkN zN^o1?0zoBrTL4;O-x7%XM4pSdqZl2KYrK&Nn8fp)VX%ELFp9|k~WZQ zMIZc={q+pc>kVvu**a?y=?%KDN1OD8p3^JAo1)6~AEn$HsNeT2?#2BLHiyjVQ!*L- zV6-{8xgy2G7k8?c*}y^B!J`p)cr^!8?l2M$ceoFeBcSiz353E&3sDLmf5vFipC@&% zIP8GoxiKzVNEMwI-2uz)JC_s}w*|>h`@=1LM!5v~ly>dr=XdXzey9KKCJ2EJBpu%* zC-;7|orf!5hK@3tA3WLeh-2)Ck`NnIAe(ByyP{QIkB*K`_lmt4P$&)9HF(wlIG^V; zB7_Wf7kfe}`63%VPYmwHe_P#?b9**8I4E_-FKs^UTsv3y2A`rv3eMNN=xE?q7l`<| zxOf$0oxw1RL1=JicUN#6f+E~0CaC+Smz71r@$6eAklvX-Ler=75rP+n$(IkAnHXS! zPK(`Sz!-s+F+EB-KceZg7(-L@q3w%FK5^@~UWEh;78&l7o{bGZ9|ks|J`pBCceE)= z80ZJ2yj-9v+h+*x6q}L)lPd<`@)4k|ca@4tPC_DJp(&)Tt*r!3ENI2^71eE^aB*>g zLY5W?$AOm(b~1ZF+Qz1YC}Vw8V{ejOg#PehAgqg^UGE&;)DDl@LQxHw3KCjlw^5!=SC zYmBmbutT8K4t(9f2hRlb;*qD$X+Sp4b|YlCtrAuM30li?as=R@FZ{B4)0fEiC`HH< z>|g=ScbuD>3w;&PX@3Yjsp+M#2UCb&pS4Zzlf!v)J>Bj=D|Q~v z1_GYZ<0AdIQM($)rSBU-xA6=e??GW@o!eCz7~vz}*)DL7Kud?_)$hZ00mAQ)8|*Cx zrQo^LVP!#leh;7S?WuDkUmAzeG9z8vykG z$d3Srp;1}?JvhMVl>}~V&@BbWB@ss6&R#t+7v%!*>1FJwd(>g z_)`S1hA;K5YR>dF?(2|>gP!0#j{e7_%hGDR2JW4v}6$JN4V4kRldfox$x>ni& zE_B-so)SsEi9#ITJve9~7i z(IC}vPa#!S78aMCPV}_Egy+E|q*_%necm(87{x8^fD5GM zO08?cx?iPJhyJWd>20)8n&^Qrg&Zz2ic!vBtilvH=iyVBIXR6try4APpycb<#|T1d zfiLK=CgfSm*n%#9$f5)2Ku!Z#g$w@wzspVXHQ^RNqP~1xN;&bCi2t? z=Bw_3&onyV1QoN)Se^8O0(_s;)SF%hb<^A{o=S>}&7f2-36K-WdBJW#^mQ2orU70W zfYKv7As+}Z&4c*H{Fk?MKv`>8Jr0uEO!V}xK=k|`M8V>ghpm?xDDK6}0?M58P!`qD zAQwJ6qyvk1s;UZ006D--(8}(Dr~kkM7XK0c^ZN-%a(y>&2kx^8@AE%}$>rOL$ksrj z0}>_>qZs+{&;g`0(7dn;CjilQ1cq&TLt+>UC(2&nft8zvY)?20$aN?3T{CfSk~ZX^4s zc^$8#7vVI*gv}$RhBXjuVbx!NxHhG*S0X@7K#yd?UIJ=5t_s_2UZ0Gb6v9MUfYW%ebst`cEKWP+r3pVVD zmKG%W?xgpO@MU7yM6w4QmyakO%gX*H;e^~JfrOKskc^B=&qr-Los}<1{tOh(Ba@Ri zT)Ss&(6|P68Lg-ZT8YU^zug*!p^vF@x^C?~53pS)Vi>}5Qj(mL6A#F3=pF6+lyggQ zcm-}q$NSG7qaZJM1}25%g@w*2P}uN?+u**fL56>+?|j^X2fQDk-LqM4B545ex?V>N zqoboR%qvJm-2^L^{7*(J)==I=nKESK+Zq!JPxHa$JUE%CvK&`$aH}*PHz?(DT2nvs zc0af=uyE9YaXKFJosjLy!WF*OoS^F%`uN1x5`$~~YE38uwAr2;Z5WX8+j7rWS)e5X z)>_zYHAN>xLp3KBpNC@Nqr`bs?>Gkzmn8^PA{t>WOcpaCJ zPOZXLw6(QOEG$UY2M3?lLwUnMwG+^{4Y(a*`N82~I!;a^2!v8n zQV#(ng-T@5!}Gd5+B<)eMlE(&K`y)a393!#`l)J0z2WAsQ{JIUna_;_x;dRoH7gc+fCurbNZ&K}*JXOozD@7_JX z*;#!6&OyU=5Fc$l+}z0Fxqk!#GN%}O7lSp#7W`uHjA)u->c@|yFc&^|7^NWe8gfVy zp7#Vst!BW)6FT|D#YD8Uv}h}Xf(Hg-sV_xRPA+VDU}Bdu6oI!+@=QCYhPE#5I7sZ`a_Smjc?{hC{nvPQUgdU@7GJY&QZlmbk&(cF zfNw)X3}c#A7H=_;h}0pow1E||x|*8N7kp6}OUdr?n8@Y{=Skbe2zx~-F|i8L-uj!j zZn=G_(eXD_FVSjfXo##*&39bMP-MP>L^8!h{608nH7XZjjG|>>!8NPY7{t%X$!Ts6 zLB4(S#s|QtNu>rXf5F!u1)yn)iyJBMYFu1W@=@;7VBOVqab`6cJG;AZ1iOvyjg5`z z@w|ur7yTZ`_wV1SNB2v@yKW&M$W3J`0HR7ChTQuT$QON^o{s43l)gVs8Ejtles| z7E8}+MbgA1M_qKs+CI4wlz3*oOJ?*xwAVq(9~U(aF@6Zby~$HIA8Lxuxq11}khXk2&h%$Bu1&m}VM z{X=Q2{2@CV6u2)yreI=f`j$-wu}F=|&&&Jv<3|A6&eji02S+Kx4RyoFZuWvQj=0Uh z)KoY)pgRE-6%{H?=c0+ilFlhjS{x|{o@SPo(U?e75+OXoD*+7X;AFkd|2U%qq|-N| zKT&<|w7vdPvF`{J);ze46l?y9F$*WWMpi+d&PKP z@pDmX>cg^oT^{9>0-uh`?UP^YFP&;1J`l2p3+KPF21OJ%W;Qn2vZ-@GG>7QCcHR0u z`8Eicg-~$;xNqOVSW3VS$0A;bOjUhfPq;&SlHlZ`HTWHfx;6`6h@qBu6=Ke{KgTC0 zOH@mC*~|P^#e66fOV%;}uayvs{G@L`%_ zkkgA742{RXSSM;7Wd>PDX=plrcEu{GsxrDRclY%nn zhzLrJQsHQ=Jr_W;+n|D16FM+FtftKQC{y`$6IBOMx8O2opeKcL9gX*?(#}JRN)6lD z7Oei5uAdxB1vfg#ZtRcJCMP(~9yZ3yX1%!H9vU1RxyCp!GQxb>lkG;AuSlGI&()4e zUN?7l27hUcVR8yqGIuCad`K#a57 zfG$>R1?#x6)Z2KVLk5&Bd{y(sU0gmcl-o*j#L@vUZaUow;ccp@AOYYEgwpracLxS<8w^u?@@yaD^>}|;Ef*PT$?6N;88)3SG_ThF==<#cA z1_h|6dJYaxPp6H_YcP>;qfp}-Y4UE8No#>ezx2(_aD`8|E<$D;5E!VWqVm(O30=j> z$&s@2g0)4T$Gu-Fh&O9@=cE{;X5o;;%KlNyAA(*(#)$8b1y2TCIRY)zAl{0HfaBD* zw#Ei9%cn;7e3IQCUGRa!RlU3?0FsL|8ilIe7jSTKMP+3}C5w`hlf$7>@%kI6iQxg1 zK!XEi1o+vAsw$pR%eA&POfz$HjBZZ_D71ml@CHvk`o;kQ;P|__xwYNMg8OD>VG)Jz zF#j^;B89@u)+cNl;EyVFSp($3>vhW8c)BAaD=*&yS6Womo2d&94RQ{lO^*8@){yW2 z_f%1UvqQHG;kuy&e|&rl-W3B>{s8-wlyK2AFwpYzQ>3M(?dliMUxS1IXIXU^a;o-p2(mP;6hsVbTklaYY=EH(8 zRC2DNQ?o>2Z|e2+^|*ut-=-#E0|SGY`pi7#TrtpbtFoF5K0bE)y}xhZ;Xw%-_wwb- zZ)TMvjh_7J85yx>S#DAq8VNX@5IY5`Lc~2h1a#b17(n&*lgWKih)BG=F8x%-YY=Q9 zi*N)_kO6+#(9m#eclQyH+d@Sv?C{V<8m$XP$9Dj=hGsxPuVP|u2)Jw^z~y!?U&hC8 zyVob+*Wa(?;OMCDXkCna3kL_1&Bl`=6B?8Q4kS7*uOMXII-dR%k3|2RdJE1& zdQ%e(6y5=gb%awzk$kUrT2J`UG~deuFR0)O_~(UscjLvvt|Fir+Imev00Wqo9h{x# zA$`5p0i*~}&ZBAPf-1)ulkF%DT+mx=C_W|%d6Hl9)BofJ0n`O5FLn|6`_liPUVK8d^)%*#$7E<70=}fh<;99b^?d&aRM23N literal 0 HcmV?d00001 diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/index.html new file mode 100644 index 0000000..8478da0 --- /dev/null +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/index.html @@ -0,0 +1,253 @@ +Eisenhouwer Matrix | The Quiqr Book + \ No newline at end of file diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/index.html index d541d67..c45992d 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value limit integer optional (default: 50) Max.">Font Picker | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value limit integer optional (default: 50) Max.">Font Picker | The Quiqr Book
Font Picker diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/index.html index e485665..fea43f5 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Font Icon Picker | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Font Icon Picker | The Quiqr Book
Font Icon Picker diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/index.html index d0974c6..7cc065c 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/index.html @@ -1,11 +1,11 @@ Hidden | The Quiqr Book +Properties # property value type optional description key string mandatory Keys are for internal use and must be unique default string optional default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml  toml  json  default: some value key: sample_field type: hidden default = "some value" key = "sample_field" type = "hidden" { "default": "some value", "key": "sample_field", "type": "hidden" } Output # sample_field: some value ">Hidden | The Quiqr Book
Hidden diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/index.html index 734f8a4..9041b24 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/index.html @@ -6,12 +6,12 @@ Only one image can be selected. Image Select in form Image Select dialog - Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value path string mandatory The path to the location of the files.">Image Select | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value path string mandatory The path to the location of the files.">Image Select | The Quiqr Book
Image Select diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.html index ba47b20..8084f28 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.html @@ -1,9 +1,9 @@ -Data Field Types | The Quiqr Book +Data Field Types | The Quiqr Book
Data Field Types diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.xml b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.xml index 83b76c5..8b408e6 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.xml +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/index.xml @@ -9,7 +9,9 @@ Date field Date picker popup Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use.Easy Markdown Editorhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/Easy Markdown Editor # The easymde field generates a lightweight markdown editor for entering markdown enabled strings. Easy Markdown Editor -Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .Font Icon Pickerhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Quiqr version &gt;= 0.17.5 +Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .Eisenhouwer Matrixhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/Eisenhouwer # Quiqr version &gt;= 0.18.10 +The eisenhouwer field creates a eisenhouwer matrix canvas which allows editors to prioritize tasks by dragging datapoints. The tasks are stored as datapoints which can optinally contain other meta data. Existing metadata will be kept and can be used in the data point label using the dataSetsDataPointLabelTemplate for configuration. +Please also checkout the latest kitchensink template for eisenhouwer examples. This is quite a complex datatype field.Font Icon Pickerhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Quiqr version &gt;= 0.17.5 Font Icon Picker # The fonticon-picker field creates a font iconpicker field populated with Font Awesome Icons. The output is a string with the Font Icon Class Name. Font Picker Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .Font Pickerhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/Font Picker # The font-picker field creates a font picker field populated by the Google Fonts Api. The output is a string with a Font Family name. diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/index.html index 14b3846..68efd2f 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet preview boolean optional (default: false) Enable preview field with rendered HTML Sample # Configuration # .">Markdown | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet preview boolean optional (default: false) Enable preview field with rendered HTML Sample # Configuration # .">Markdown | The Quiqr Book
Markdown diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/index.html index cbf2b70..f2c8fde 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/index.html @@ -2,12 +2,12 @@ Number Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Number | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # .">Number | The Quiqr Book
Number diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/index.html index 473e0fe..d2366bf 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/index.html @@ -2,12 +2,12 @@ Readonly Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element default string mandatory The value of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Readonly | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element default string mandatory The value of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Readonly | The Quiqr Book
Readonly diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/index.html index acecffc..9a6549e 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value query_glob string mandatory Glob string to select one or more files query_string string mandatory string to use on one the of the query types option_image_path string optional (default: null) path to images having the same name as the options values e.">Select from Query | The Quiqr Book +Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value query_glob string mandatory Glob string to select one or more files query_string string mandatory string to use on one the of the query types option_image_path string optional (default: null) path to images having the same name as the options values e.">Select from Query | The Quiqr Book
Select from Query diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/index.html index 3ed06f8..c026d67 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/index.html @@ -6,12 +6,12 @@ Select field Select multiple field Select dropdown with options - Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR number OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value option_image_path string optional (default: null) path to images having the same name as the options values e.">Select | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR number OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value option_image_path string optional (default: null) path to images having the same name as the options values e.">Select | The Quiqr Book
Select diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/index.html index c52f289..77436e1 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/index.html @@ -2,12 +2,12 @@ slider Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element step number mandatory Amount between steps min number mandatory Starting value max number mandatory Ending value autoSave boolean optional (default: false) Form data is automatically saved after changing the value default string optional (default: null) default value when the key is not set yet tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Slider | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element step number mandatory Amount between steps min number mandatory Starting value max number mandatory Ending value autoSave boolean optional (default: false) Form data is automatically saved after changing the value default string optional (default: null) default value when the key is not set yet tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Slider | The Quiqr Book
Slider diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/index.html index 769f9b2..1f9b8f1 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/index.html @@ -4,12 +4,12 @@ Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet multiLine boolean optional (default: false) Enable multi line value Sample # Configuration # .">String | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet multiLine boolean optional (default: false) Enable multi line value Sample # Configuration # .">String | The Quiqr Book
String diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/index.html index d0a0640..e2324e1 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/index.html @@ -2,12 +2,12 @@ Uniq Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Uniq | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .">Uniq | The Quiqr Book
Uniq diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/index.html index 5f305fc..b55eb28 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/index.html @@ -1,9 +1,9 @@ -Form Fields | The Quiqr Book +Form Fields | The Quiqr Book
Form Fields diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/index.html index 57b0d41..a12f136 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/index.html @@ -1,11 +1,11 @@ Bundle image thumbnail | The Quiqr Book +Properties # property value type optional description key string mandatory Keys are for internal use and must be unique Sample # Configuration # ./quiqr/model/base. yaml  toml  json  key: thumb type: bundle-image-thumbnail key = "thumb" type = "bundle-image-thumbnail" { "key": "thumb", "type": "bundle-image-thumbnail" } ">Bundle image thumbnail | The Quiqr Book
Bundle image thumbnail diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/index.html index 2134366..4da5e49 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/index.html @@ -2,12 +2,12 @@ empty line between title and description with amount: 2 Properties # property value type optional description key string mandatory Keys are for internal use and must be unique amount integer optional (default: 1) Amount of empty lines to draw Sample # Configuration # .">Empty line | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique amount integer optional (default: 1) Amount of empty lines to draw Sample # Configuration # .">Empty line | The Quiqr Book
Empty line diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/index.html index c93714d..c340a51 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/index.html @@ -1,9 +1,9 @@ -Layout Field Types | The Quiqr Book +Layout Field Types | The Quiqr Book
Layout Field Types diff --git a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/index.html b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/index.html index adcbc9b..cca0c19 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/index.html @@ -2,12 +2,12 @@ Info field Properties # property value type optional description key string mandatory Keys are for internal use and must be unique content string mandatory The content of the box in Markdown formatted textent size string (normal, small, large) optional (default: normal) Fontsize of small is 85%, normal 100%, large 110% lineHeight string optional (default: null) css value for the line height property.">Info | The Quiqr Book + Properties # property value type optional description key string mandatory Keys are for internal use and must be unique content string mandatory The content of the box in Markdown formatted textent size string (normal, small, large) optional (default: normal) Fontsize of small is 85%, normal 100%, large 110% lineHeight string optional (default: null) css value for the line height property.">Info | The Quiqr Book
Info diff --git a/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/index.html b/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/index.html index d7e63f4..eda761f 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/index.html @@ -1,11 +1,11 @@ Blog (single file) | The Quiqr Book +./model/base. yaml  toml  json  build: - config: config.toml key: default collections: - dataformat: yaml extension: md fields: - key: draft title: Draft type: boolean - key: title title: Title type: string - extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb title: Thumb type: bundle-image-thumbnail key: page_related_images path: "" title: Page related images type: bundle-manager - key: mainContent title: Main content type: markdown - key: publishdate title: Publishdate type: hidden - key: tags title: Tags type: chips folder: content/post/ itemtitle: Post key: c__post title: Posts hugover: extended_0.">Blog (single file) | The Quiqr Book
Blog (single file) diff --git a/docs/20-quiqr-developer-reference/03-content-model/04-examples/index.html b/docs/20-quiqr-developer-reference/03-content-model/04-examples/index.html index 15ff63f..fc691d1 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/04-examples/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/04-examples/index.html @@ -1,9 +1,9 @@ -Example Configurations | The Quiqr Book +Example Configurations | The Quiqr Book
Example Configurations diff --git a/docs/20-quiqr-developer-reference/03-content-model/index.html b/docs/20-quiqr-developer-reference/03-content-model/index.html index 01d0f16..4dd8493 100644 --- a/docs/20-quiqr-developer-reference/03-content-model/index.html +++ b/docs/20-quiqr-developer-reference/03-content-model/index.html @@ -1,11 +1,11 @@ Content Model | The Quiqr Book + build: information how to serve the hugo website serve: information how to build the hugo website hugover: the hugo version to use.">Content Model | The Quiqr Book
Content Model diff --git a/docs/20-quiqr-developer-reference/index.html b/docs/20-quiqr-developer-reference/index.html index 202a22f..e8180af 100644 --- a/docs/20-quiqr-developer-reference/index.html +++ b/docs/20-quiqr-developer-reference/index.html @@ -1,9 +1,9 @@ -Quiqr Developer Reference | The Quiqr Book +Quiqr Developer Reference | The Quiqr Book
Quiqr Developer Reference diff --git a/docs/40-quiqr-project-development/01-create-a-new-field-type/index.html b/docs/40-quiqr-project-development/01-create-a-new-field-type/index.html index 8ca20b0..5578d77 100644 --- a/docs/40-quiqr-project-development/01-create-a-new-field-type/index.html +++ b/docs/40-quiqr-project-development/01-create-a-new-field-type/index.html @@ -2,12 +2,12 @@ Introduction # Quiqr Field Types are the user interface to data that is stored in the website. Steps # copy an existing field type # copy an existing field type that you like to use as template. The field types are stored in the path src/components/SukohForm/components/ -They are named FieldNameDynamic.">Create a new field type | The Quiqr Book +They are named FieldNameDynamic.">Create a new field type | The Quiqr Book
Create a new field type diff --git a/docs/40-quiqr-project-development/index.html b/docs/40-quiqr-project-development/index.html index 494ed56..50df0e9 100644 --- a/docs/40-quiqr-project-development/index.html +++ b/docs/40-quiqr-project-development/index.html @@ -1,9 +1,9 @@ -Quiqr Developer Howto's | The Quiqr Book +Quiqr Developer Howto's | The Quiqr Book
Quiqr Developer Howto's diff --git a/docs/80-release-notes/01-quiqr-desktop/index.html b/docs/80-release-notes/01-quiqr-desktop/index.html index d2b8c84..76e9ab2 100644 --- a/docs/80-release-notes/01-quiqr-desktop/index.html +++ b/docs/80-release-notes/01-quiqr-desktop/index.html @@ -1,9 +1,9 @@ -Quiqr Desktop | The Quiqr Book +Quiqr Desktop | The Quiqr Book
Quiqr Desktop diff --git a/docs/80-release-notes/01-quiqr-desktop/v0.0-older/index.html b/docs/80-release-notes/01-quiqr-desktop/v0.0-older/index.html index 6d23686..86068e0 100644 --- a/docs/80-release-notes/01-quiqr-desktop/v0.0-older/index.html +++ b/docs/80-release-notes/01-quiqr-desktop/v0.0-older/index.html @@ -1,11 +1,11 @@ Versions before v0.10 | The Quiqr Book +2022-03-16 Fork from PoppyGo App # Recursive accordion # Hugo Server fixes # detect if hugo server is running or not improve restart of hugo server Import / Export sites # autoimport by clicking link in browser for Windows & Linux (quiqr://) Quiqr Cloud # become a Quiqr member claim a Quiqr domain new authentication flow for publishing sites External Editor # open single item in editor open collection item in editor open entry after creation collections imrove texts in dialogs when publishing improve preview user interface remove markdown preview welcome screen refresh sites after import move to expert: version switcher auto open preview url add “previewUrl” property to singles back button in collections breadcrum preview icons in page editor improve sidebar menu v0.">Versions before v0.10 | The Quiqr Book
Versions before v0.10 diff --git a/docs/80-release-notes/01-quiqr-desktop/v0.10.x/index.html b/docs/80-release-notes/01-quiqr-desktop/v0.10.x/index.html index fbd1543..8cc9be5 100644 --- a/docs/80-release-notes/01-quiqr-desktop/v0.10.x/index.html +++ b/docs/80-release-notes/01-quiqr-desktop/v0.10.x/index.html @@ -1,11 +1,11 @@ Quiqr Desktop v0.10 | The Quiqr Book +New type: font-picker # New type: image-select # Electron Version # upgraded electron from 5 to 9 Preferences with choosable Data Folder # New bundle-manager attribute # forceFileName attribute: maxItems feature to write to path relative to site dir Build for Mac, Windows and Linux # enable flatpak enable more linux formats ">Quiqr Desktop v0.10 | The Quiqr Book
Quiqr Desktop v0.10 diff --git a/docs/80-release-notes/index.html b/docs/80-release-notes/index.html index bf5b97d..d3cc100 100644 --- a/docs/80-release-notes/index.html +++ b/docs/80-release-notes/index.html @@ -1,9 +1,9 @@ -Release Notes | The Quiqr Book +Release Notes | The Quiqr Book
Release Notes diff --git a/docs/99-about-this-book/index.html b/docs/99-about-this-book/index.html index 70bbae9..8dffcbb 100644 --- a/docs/99-about-this-book/index.html +++ b/docs/99-about-this-book/index.html @@ -1,11 +1,11 @@ About this book | The Quiqr Book +Those looking for tips and tricks on how to develop Hugo websites should consult the official Hugo Documentation or the Hugo Forum.">About this book | The Quiqr Book
About this book diff --git a/docs/index.html b/docs/index.html index 7e633fc..057bc3d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ -Docs | The Quiqr Book +Docs | The Quiqr Book
Docs diff --git a/en.search-data.min.faf988480eced370b0fb2635f31652abd4f151ecfac519d16edfe2842d87fc74.js b/en.search-data.min.dd47696756cb92f59b5778152b5235a58567b9f9f1cd41f2169bb59219690d7b.js similarity index 59% rename from en.search-data.min.faf988480eced370b0fb2635f31652abd4f151ecfac519d16edfe2842d87fc74.js rename to en.search-data.min.dd47696756cb92f59b5778152b5235a58567b9f9f1cd41f2169bb59219690d7b.js index aeec619..d5f719f 100644 --- a/en.search-data.min.faf988480eced370b0fb2635f31652abd4f151ecfac519d16edfe2842d87fc74.js +++ b/en.search-data.min.dd47696756cb92f59b5778152b5235a58567b9f9f1cd41f2169bb59219690d7b.js @@ -1 +1 @@ -'use strict';(function(){const b={cache:!0};b.doc={id:'id',field:['title','content'],store:['title','href','section']};const a=FlexSearch.create('balance',b);window.bookSearchIndex=a,a.add({id:0,href:'/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/',title:"Anatomy of a Quiqr Site",section:"Quiqr Developer Reference",content:"Anatomy of a Quiqr Site # Quiqr Data Directory # Quiqr stores it\u0026rsquo;s data in the Quiqr Data directory in the Home directory of the current user.\nQuiqr Data on Windows # C:\\Users\\robin\\QuiqrData Quiqr Data on macOS # /Users/robin/Quiqr Data Quiqr Data on Linux/BSD # /home/robin/Quiqr Data Site configuration # All Quiqr sites store their top-level-configuration file in the root of the Quiqr Data Directory. This top-level-configuration file provides Quiqr path information to a Quiqr website.\n~/Quiqr Data/ ./config.my-site.json Hugo and Quiqr Site directory structure # ./my_hugo_site/ ./content/ (hugo content directory) ./static/ (hugo static files directory) ./data/ (hugo data files directory) ./themes/ (hugo themes directory) ./resources/ (hugo temporary build resources directory) ./public/ (hugo final build directory) ./config.toml (hugo main config file) ./.quiqr-cache (quiqr thumbnails cache folder) ./quiqr/ (quiqr config folder) ./home/index.md (optional message to the content editor in Quiqr) ./forms/index.md (forms end point configuration files) ./model/base.yaml (main Quiqr Model Configuration File) ./model/partials/ (directory with model configuration partials files) ./model/partialsRemoteCache/ (directory with cached remote model configuration partials files) ./model/includes/ (directory with model configuration include files) "}),a.add({id:1,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/',title:"build",section:"Root properties",content:"Build # The build property tells Quiqr which Hugo configuration file should be used when the site will be build. A build occurs when a site is published.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; build: - config: config.toml key: default [[build]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; { \u0026#34;build\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ] } "}),a.add({id:2,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/',title:"Container Field Types",section:"Form Fields",content:"Container Field Types # Container field are containers of other fields. Container fields can even be nested in other container fields.\n"}),a.add({id:3,href:'/docs/40-quiqr-project-development/01-create-a-new-field-type/',title:"Create a new field type",section:"Quiqr Developer Howto's",content:"Create new a new field type # This HowTo teaches you how to create a new custom field type.\nIntroduction # Quiqr Field Types are the user interface to data that is stored in the website.\nSteps # copy an existing field type # copy an existing field type that you like to use as template.\nThe field types are stored in the path src/components/SukohForm/components/\nThey are named FieldNameDynamic.js where FieldName is the name you want to use.\ncp src/components/SukohForm/components/SelectDynamic.js src/components/SukohForm/components/FontPickerDynamic.js Replace OldFieldName with NewFieldName # Open your new file and replace the OldFieldName with new NewFieldName.\nAlso set a new field type in the method:\ngetType(){ return \u0026#39;new-field-name\u0026#39;; This is used in site/quiqr/model/base.yaml\nImport and export the type class # In the file src/components/SukohForm/components/all.js the new type class should be imported and exported.\n... import FontPickerDynamic from './FontPickerDynamic'; ... export default [ ... FontPickerDynamic, ... ] Implement your own type code # At this point you should implement your own code. It\u0026rsquo;s wise to test the new type in a demo website while you implement the new type. Take small steps.\n"}),a.add({id:4,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/',title:"Data Field Types",section:"Form Fields",content:"Data field types # Data field types are used to input data from the user. The data will be saved.\n"}),a.add({id:5,href:'/docs/10-getting-started/',title:"Getting started",section:"Docs",content:"Get started # Quiqr lets you publish to the web easily. The best way to get started with Quiqr is download the Quiqr Application, create a new site from a template, and publish this to the web.\nRead on or Watch the Quickstart video.\nInstall # Download and install the latest version for your system.\nStart Quiqr for the first time. # When you start Quiqr for the first time, you have no websites yet. You can create new or import from several sources, but to understand the concept of Quiqr right away, just import a Quiqr Template and play a little with the CMS.\n Import from folder\n Preview website # From the moment you have created a website and opened it, a hugo server is running on your computer. Hit the Preview in Browser button to show how your website looks like.\n Toolbar with Preview button\n Publish to the web # To publish to the web you have to setup a sync target. Currently you can sync to a GitHub-repository and to a folder. The folder needs to be copied to a public server manually.\n"}),a.add({id:6,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/',title:"Includes",section:"Model File Structure",content:"Includes # In addition to using a single model/base config file, one can use the quiqr/model/includes/ directory to maintain an easier organization.\nYou can split up the model/base-file and use seperate files for menu, collections, dynamics, and singles.\nQuiqr automatically reads the files in ./quiqr/model/includes/ and merges these tree inside model/base.\nEach file represents a configuration root object, such as collections.toml for [Collections], menu.toml for [menu], singles.toml for [single] etc…\nEach file’s content must be top-level, for example:\nThe configuration in ./quiqr/model/base.yaml\nmenu: - key: pages title: Pages menuItems: - key: about - key: config title: settings menuItems: - key: config Equals ./quiqr/model/includes/menu.yaml\n- key: pages menuItems: - key: about title: Pages - key: config menuItems: - key: config title: settings "}),a.add({id:7,href:'/docs/10-getting-started/01.installation/',title:"Install Quiqr Desktop",section:"Getting started",content:"Install Quiqr # Download the latest version of Quiqr for macOS and Windows from quiqr.org.\nLinux # Download the latest Quiqr version for Linux in different package types from GitHub\n"}),a.add({id:8,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/',title:"Layout Field Types",section:"Form Fields",content:"Layout field types # Layout field types add extra info or structure to a form.\n"}),a.add({id:9,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/',title:"Partials",section:"Model File Structure",content:"Partials # Partials are reusable configuration blocks that can be used in a form definition inside singles, collections and dynamics.\nPartials can be used with the property _mergePartial. The value of this property is points to the location of the partial file to use.\nPartials are merged with to other form attributes. Attributes which are also defined in the form with overwrite the partial attributes.\nRelative partial pointer # This location can point to a file in the ./quiqr/model/partials directory. In this case the value is a string with the name of the partial file without it\u0026rsquo;s extension. E.g: single_images This converts to ./quiqr/model/partials.{yml,yaml,toml,json}\nRemote partial pointers # The location can also point to an URI location prefixed with file://, https:// or http://. Locations with file:// point to the absolute location on your local machine. The http-protocols point to a location on internet. Quiqr Desktop will always make a copy of the remote file in the directory ./quiqr/model/partialsRemoteCache. Therefor it\u0026rsquo;s safe to publish and share your site with users that not have access to these resources. If you want to refresh the remotePartial, just remove the directory partialsRemoteCache and they wil automatically copied again. You can also turn on the Disable Partial Cache toggle in the menu\nExample # In ./quiqr/model/base.yaml a form definition in singles points to minimal_configuration.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: minimal_configuration The partial # ./model/partial/minimal_configuration.yaml\n- dataformat: yaml fields: - key: title title: Title type: string - key: description title: Description type: string - key: theme theme: Theme type: string title: Minimal Configuration The compiled end result # singles: - key: config file: config.toml title: Settings dataformat: yaml fields: - key: description title: Description type: string - key: title title: Title type: string - key: theme theme: Theme type: string The title or the partial Minimal Configuration is overwritten the the calling definition in base.yml, leaving it Settings. Example 2 # In ./quiqr/model/base.yaml a form definition in singles points to a remote file containing a lot of hugo config options.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: https://raw.githubusercontent.com/quiqr/model-partials/main/singles/configuration-hugo-076.yml Example 2 # In ./quiqr/model/base.yaml a form definition in singles points to a local file on the users computer containing a lot of hugo config options. This file:// URI is useful when developing remote configurations and you do not want to push at every change.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: file:///home/pim/cQuiqr/model-partials/singles/configuration-hugo-076.yml "}),a.add({id:10,href:'/docs/80-release-notes/01-quiqr-desktop/',title:"Quiqr Desktop",section:"Release Notes",content:"Quiqr Desktop Quiqr Desktop # The latest public release is Quiqr Desktop v0.10\n"}),a.add({id:11,href:'/docs/20-quiqr-developer-reference/02-site-conf/',title:"Top Level Site Config File",section:"Quiqr Developer Reference",content:"Site configuration File # Every Quiqr website has a top-level configuration file. It\u0026rsquo;s located in $HOME/Quiqr Data/config.websitename.json. The site configurations tells Quiqr where to find the site files and where to publish the website.\nThe site files are maintained by Quiqr and should not be edited manually, except when you know whhat you\u0026rsquo;re doing. property value type optional description key string mandatory Keys are for internal use and must be unique name string mandatory The name of the website lastPublish integer mandatory Timespamp with time of last publication publishStatus integer mandatory 1=published, 2=publication pending remote source.type string mandatory Depriciated: Should always be folder source.path string mandatory Path to the Hugo site root directory publish array of dictionaries mandatory Array with publish configurations, currently only one is supported publish.0.key string mandatory Keys are for internal use and must be unique publish.0.config dictionary mandatory Dictionary with publish configuration information publish.0.config.type string mandatory type publication endpoint. Currently only Quiqr Cloud is supported publish.0.config.defaultDomain string mandatory default live domain "}),a.add({id:12,href:'/docs/15-site-and-cms-development/01-user-roles/',title:"User Roles",section:"Site and CMS Development",content:"User Roles # Quiqr has two major target user type: Content Editors and Site Developers.\nDevelopers need the same tools as editors, plus some extra tools. To make the experience for content editors as pleasant as possible we hide some information and tools in their interface.\nContent Editor # The default role of Quiqr is Content Editor. A content editor download templates, import sites, change content and add synchronization targets and finally sync to this target.\nSite Developer # As site developer you have direct access to more tools.\nTools in Site # In a site, in the toolbar next to Content and Sync, there is the Tools button.\nThis Tools button gives access to several developer utilities and tools.\n Tools only visible in Site Developers role\n Content Menu items for developer # The Content sidebar can have Menu items only visible for Site Developers by setting the matchRole property. See Menu Properties.\nSwitch Role # In Windows and Linux roles are in the Edit Menu.\n Switch Role\n In macOS the roles are in the Quiqr Menu.\n Switch Role in macOS\n "}),a.add({id:13,href:'/docs/15-site-and-cms-development/',title:"Site and CMS Development",section:"Docs",content:"Sorry, it not yet finished # Come back soon. We\u0026rsquo;re shooting right now.\n"}),a.add({id:14,href:'/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/',title:"Blog (single file)",section:"Example Configurations",content:"Example 1: minimal one file blog # Here\u0026rsquo;s an example model/base-file containing a minimal configuration for a blog website.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; build: - config: config.toml key: default collections: - dataformat: yaml extension: md fields: - key: draft title: Draft type: boolean - key: title title: Title type: string - extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb title: Thumb type: bundle-image-thumbnail key: page_related_images path: \u0026#34;\u0026#34; title: Page related images type: bundle-manager - key: mainContent title: Main content type: markdown - key: publishdate title: Publishdate type: hidden - key: tags title: Tags type: chips folder: content/post/ itemtitle: Post key: c__post title: Posts hugover: extended_0.76.5 menu: - key: singles menuItems: - key: s__about title: Pages - key: collections menuItems: - key: c__post title: Groups - key: general menuItems: - key: config title: General serve: - config: config.toml key: default singles: - dataformat: toml fields: - key: description title: Description type: string - key: title title: Title type: string - fields: - key: author title: Author type: string - key: dateFormat title: Date format type: string - key: description title: Description type: string - key: paginationSinglePost title: Pagination single post type: boolean - key: readMore title: Read more type: boolean - key: style title: Style type: string groupdata: true key: params title: Params type: section file: config.toml key: config title: Settings - dataformat: yaml fields: - key: title title: Title type: string - key: description title: Description type: string - extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb title: Thumb type: bundle-image-thumbnail key: page_related_images path: images/ title: Page related images type: bundle-manager - key: mainContent title: Main content type: markdown file: content/about.md key: s__about previewUrl: /about/ title: About hugover = \u0026#34;extended_0.76.5\u0026#34; [[build]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; [[collections]] dataformat = \u0026#34;yaml\u0026#34; extension = \u0026#34;md\u0026#34; folder = \u0026#34;content/post/\u0026#34; itemtitle = \u0026#34;Post\u0026#34; key = \u0026#34;c__post\u0026#34; title = \u0026#34;Posts\u0026#34; [[collections.fields]] key = \u0026#34;draft\u0026#34; title = \u0026#34;Draft\u0026#34; type = \u0026#34;boolean\u0026#34; [[collections.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[collections.fields]] extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;page_related_images\u0026#34; path = \u0026#34;\u0026#34; title = \u0026#34;Page related images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[collections.fields.fields]] key = \u0026#34;thumb\u0026#34; title = \u0026#34;Thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; [[collections.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; [[collections.fields]] key = \u0026#34;publishdate\u0026#34; title = \u0026#34;Publishdate\u0026#34; type = \u0026#34;hidden\u0026#34; [[collections.fields]] key = \u0026#34;tags\u0026#34; title = \u0026#34;Tags\u0026#34; type = \u0026#34;chips\u0026#34; [[menu]] key = \u0026#34;singles\u0026#34; title = \u0026#34;Pages\u0026#34; [[menu.menuItems]] key = \u0026#34;s__about\u0026#34; [[menu]] key = \u0026#34;collections\u0026#34; title = \u0026#34;Groups\u0026#34; [[menu.menuItems]] key = \u0026#34;c__post\u0026#34; [[menu]] key = \u0026#34;general\u0026#34; title = \u0026#34;General\u0026#34; [[menu.menuItems]] key = \u0026#34;config\u0026#34; [[serve]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; [[singles]] dataformat = \u0026#34;toml\u0026#34; file = \u0026#34;config.toml\u0026#34; key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] groupdata = true key = \u0026#34;params\u0026#34; title = \u0026#34;Params\u0026#34; type = \u0026#34;section\u0026#34; [[singles.fields.fields]] key = \u0026#34;author\u0026#34; title = \u0026#34;Author\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;dateFormat\u0026#34; title = \u0026#34;Date format\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;paginationSinglePost\u0026#34; title = \u0026#34;Pagination single post\u0026#34; type = \u0026#34;boolean\u0026#34; [[singles.fields.fields]] key = \u0026#34;readMore\u0026#34; title = \u0026#34;Read more\u0026#34; type = \u0026#34;boolean\u0026#34; [[singles.fields.fields]] key = \u0026#34;style\u0026#34; title = \u0026#34;Style\u0026#34; type = \u0026#34;string\u0026#34; [[singles]] dataformat = \u0026#34;yaml\u0026#34; file = \u0026#34;content/about.md\u0026#34; key = \u0026#34;s__about\u0026#34; previewUrl = \u0026#34;/about/\u0026#34; title = \u0026#34;About\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;page_related_images\u0026#34; path = \u0026#34;images/\u0026#34; title = \u0026#34;Page related images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[singles.fields.fields]] key = \u0026#34;thumb\u0026#34; title = \u0026#34;Thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; [[singles.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; { \u0026#34;build\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ], \u0026#34;collections\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;extension\u0026#34;: \u0026#34;md\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;draft\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Draft\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_related_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page related images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;publishdate\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Publishdate\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;tags\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Tags\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } ], \u0026#34;folder\u0026#34;: \u0026#34;content/post/\u0026#34;, \u0026#34;itemtitle\u0026#34;: \u0026#34;Post\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;c__post\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Posts\u0026#34; } ], \u0026#34;hugover\u0026#34;: \u0026#34;extended_0.76.5\u0026#34;, \u0026#34;menu\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;singles\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;s__about\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Pages\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;collections\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;c__post\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Groups\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;general\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;General\u0026#34; } ], \u0026#34;serve\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ], \u0026#34;singles\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;toml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;author\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Author\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;dateFormat\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Date format\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;paginationSinglePost\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Pagination single post\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;readMore\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Read more\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;style\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Style\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;params\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Params\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; }, { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_related_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;images/\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page related images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;content/about.md\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;s__about\u0026#34;, \u0026#34;previewUrl\u0026#34;: \u0026#34;/about/\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;About\u0026#34; } ] } "}),a.add({id:15,href:'/docs/10-getting-started/02.import-site/',title:"Import Site",section:"Getting started",content:"Import Site # You can import sites into your local Quiqr library from various sources.\nFrom Folder # Import from folder. You can import Hugo folders or Quiqr folders.\n In the import dialog browser to the folder containing the Hugo Sources. Enter a name for your new site Select a Hugo version you would like to use for this site If you need extended functionality, e.g. Hugo\u0026rsquo;s sass compiler, enable the extended switch. Click Import Site and afterwards open your newly made site. From public git repository # "}),a.add({id:16,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/',title:"serve",section:"Root properties",content:"Serve # The serve property tells Quiqr which Hugo configuration file should be used for the live preview server. The server listens to http://localhost:13131.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; serve: - config: config.toml key: default [[serve]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; { \u0026#34;serve\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ] } "}),a.add({id:17,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/',title:"hugover",section:"Root properties",content:"hugover # The hugover property tells Quiqr which Hugo version it should use. If the version is not available, it will automatically downloaded from the official Hugo site.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; hugover: extended_0.76.5 hugover = \u0026#34;extended_0.76.5\u0026#34; { \u0026#34;hugover\u0026#34;: \u0026#34;extended_0.76.5\u0026#34; } "}),a.add({id:18,href:'/docs/20-quiqr-developer-reference/03-content-model/',title:"Content Model",section:"Quiqr Developer Reference",content:"Content Model Configuration # Quiqr can create advanced advanced models with customized forms for editing any kind of content. These forms are configured in the ./quiqr/model/ directory with base.json as the main configuration file. The model-files can be in YAML, JSON or TOML-formatting.\nRoot Properties # The model is split up in several main properties:\n build: information how to serve the hugo website serve: information how to build the hugo website hugover: the hugo version to use. The correct hugo version is downloaded automatically. collections: main key for collections with pages. E.g. blog posts singles: main key for single page configurations. E.g. home page or about menu: main key for the menu configuration of the CMS. dynamics: main key for the dynamics form definitions to be used in dynamic forms. Model File Structure # Quiqr has helpers two organize complex models and prevent redundant configuration code. Includes are used to split the main-file into seperate files and partials makes it possible to reuse configuration code.\nForm Fields # The main keys Singles, Collections and Dynamics can have form fields definitions. These are the building blocks for creating forms.\nAll available form field types are described in the section Form Fields. Form fields have their own properties for configuration. All form fields share the following properties:\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique disabled boolean optional Disabled elements are completely ignored and not visible in the form Full Example # The Kitchen Sink Template has a every field type configured. Use this template to learn and play around with the Quiqr model.\n"}),a.add({id:19,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/',title:"menu",section:"Root properties",content:"Root property: menu # The Menu main key is optional. When not defined Quiqr creates two menu sections: Singles and Collections.\nWhen menu is defined the default Quiqr content navigation is overriden by this configuration.\nProperties # There are the properties of a single menu dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique title string mandatory The title of this menu menuItems array of dictionaries mandatory contains a menu items matchRole string optional when set to \u0026ldquo;siteDeveloper\u0026rdquo; this menu is only visible in the role Site Developer Every menu item has a dictionary with. These are the properties of a menu item.\n property value type optional description key string mandatory this refers to the key of the defined Single of Collection Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; menu: - key: pages menuItems: - key: about title: Pages - key: blog menuItems: - key: posts title: Groups - key: config menuItems: - key: config title: Settings [[menu]] key = \u0026#34;pages\u0026#34; title = \u0026#34;Pages\u0026#34; [[menu.menuItems]] key = \u0026#34;about\u0026#34; [[menu]] key = \u0026#34;blog\u0026#34; title = \u0026#34;Groups\u0026#34; [[menu.menuItems]] key = \u0026#34;posts\u0026#34; [[menu]] key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[menu.menuItems]] key = \u0026#34;config\u0026#34; { \u0026#34;menu\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;pages\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;about\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Pages\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;blog\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;posts\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Groups\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; } ] } "}),a.add({id:20,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/',title:"single",section:"Root properties",content:"Root property: singles # The singles property is optional. When defined Singles containes an array of dictionaries. Every dictionary defines a single form to edit a single file. The file can be located anywhere in the site directory structure but typically points to a file in the root directory, the content directory or the data directory of a hugo project.\nThese are the properties of a Single dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the type of output format. If file is a markdown file the outputs regards to the frontmatter title string mandatory The title of this page in the menu and when Quiqr App refers to this page file string: relative path to file mandatory The path to the file. This is the data storage. Can be data/somefile.{json,toml,yaml} or content/somefile.md previewUrl string: relative url path to the website optional When set, this path is used to preview the page hidePreviewIcon boolean optional Hide Preview Icon which opens the page in the browser hideExternalEditIcon boolean optional Hide Enternal Editor Icon which opens the file in the OS Text Editor hideSaveButton boolean optional Hide form Save button fields array of dictionaries mandatory These are the form input fields. Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; singles: - dataformat: toml fields: - key: description title: Description type: string - key: title title: Title type: string file: config.toml key: config title: Settings [[singles]] dataformat = \u0026#34;toml\u0026#34; file = \u0026#34;config.toml\u0026#34; key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;singles\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;toml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; } ] } "}),a.add({id:21,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/',title:"collections",section:"Root properties",content:"Root property: collections # The collections property is optional. It can define an array with one or more collections with pages which will get their own navigation item in the Quiqr Content Menu. In the above example there is a Collection Blog configured containing blog pages in the folder content/blog/. Below the properties of a single collection dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the output format of the frontmatter block. Collections can only handle markdown files. the outputs regards to the frontmatter extension ??? mandatory ??? title string mandatory The title of this page in the menu and when Quiqr App refers to this page itemtitle string mandatory The singular name of the collection items hideIndex boolean optional when set true the _index.md is not showed in the list of items folder string: relative path to dir mandatory The path to the directory containing all files with the configured extension. previewUrlBase string: relative url path to the website optional When set, this path as base path to preview the page hidePreviewIcon boolean optional Hide Preview Icon which opens the page in the browser hideExternalEditIcon boolean optional Hide Enternal Editor Icon which opens the file in the OS Text Editor hideSaveButton boolean optional Hide form Save button fields array of dictionaries mandatory These are the form input fields. sortkey string optional can be set to a front matter key which will be used for sorting Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; collections: - dataformat: yaml extension: md fields: - key: title title: Title type: string - key: mainContent title: Main content type: markdown - key: publishdate title: Publishdate type: hidden - key: tags title: Tags type: chips folder: content/post/ itemtitle: Post key: post title: Posts [[collections]] dataformat = \u0026#34;yaml\u0026#34; extension = \u0026#34;md\u0026#34; folder = \u0026#34;content/post/\u0026#34; itemtitle = \u0026#34;Post\u0026#34; key = \u0026#34;post\u0026#34; title = \u0026#34;Posts\u0026#34; [[collections.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[collections.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; [[collections.fields]] key = \u0026#34;publishdate\u0026#34; title = \u0026#34;Publishdate\u0026#34; type = \u0026#34;hidden\u0026#34; [[collections.fields]] key = \u0026#34;tags\u0026#34; title = \u0026#34;Tags\u0026#34; type = \u0026#34;chips\u0026#34; { \u0026#34;collections\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;extension\u0026#34;: \u0026#34;md\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;publishdate\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Publishdate\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;tags\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Tags\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } ], \u0026#34;folder\u0026#34;: \u0026#34;content/post/\u0026#34;, \u0026#34;itemtitle\u0026#34;: \u0026#34;Post\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;post\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Posts\u0026#34; } ] } "}),a.add({id:22,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/',title:"dynamics",section:"Root properties",content:"Root property: dynamics # The dynamics property is optional. Dynamics are used to dynamically mount sub-forms in the accordion form field\nThe dynamics property contains an array of dictionaries which itself it a form field definition.\nSupported fields in dynamic sub form # Note Not all field types can be used in a subform. This list with field types is known to work:\n string image-select nest accordion boolean unique These field types are know NOT to work:\n section pull Example # model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynamics: - component_type: banner fields: - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component-banner - component_type: bullet-list fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string key: component-bullet-list [[dynamics]] component_type = \u0026#34;banner\u0026#34; key = \u0026#34;component-banner\u0026#34; [[dynamics.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics]] component_type = \u0026#34;bullet-list\u0026#34; key = \u0026#34;component-bullet-list\u0026#34; [[dynamics.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;dynamics\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component-banner\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;bullet-list\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component-bullet-list\u0026#34; } ] } "}),a.add({id:23,href:'/docs/99-about-this-book/',title:"About this book",section:"Docs",content:"About the Quiqr Book # This handbook is not an extensive guide on how to use and configure hugo websites The purpose of this document is to explain how to configure, distribute and maintain Quiqr websites.\nTo search for a particular term within the Quiqr Book, select the \u0026lsquo;magnifying glass\u0026rsquo; icon, or press \u0026rsquo;s'.\nThose looking for tips and tricks on how to develop Hugo websites should consult the official Hugo Documentation or the Hugo Forum.\nThe latest version of this book is located at https://book.quiqr.org/.\nExample Commands # Examples in this guide may have snippets of commands to be run in your shell or paste in your editor. When you see a snippet beginning with $ it\u0026rsquo;s a shell command. as your normal user. After either of these lines, there may be example output from the command.\nPlaceholders # Some examples include text with placeholders. Placeholders indicate where you should substitute the appropriate information. For example:\n$ cat ~/Quiqr Data/config.\u0026lt;site_name\u0026gt;.json This means you need to substitute the text \u0026lt;site_name\u0026gt; with the actual site name.\nContributing # We welcome contributions to this book. Please read our Contributing Guidelines.\n"}),a.add({id:24,href:'/docs/10-getting-started/10.quick-start-video/',title:"Quick Start Video",section:"Getting started",content:"Quick Start Video # Sorry! It\u0026rsquo;s not finished yet. We\u0026rsquo;re shooting it right now.\n"}),a.add({id:25,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/',title:"Accordion",section:"Container Field Types",content:"Accordion # The accordion field is a container field. It can define multiple input fields, which are displayed as subform. The output is an array of dictionaries.\n Accordion\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the accordion element dynFormSearchKey string optional (default: null) key of one of the child field of which the value refers to a custom partial form dynFormObjectFile string with relative path to file without file extension optional (default: null) if dynFormSearchKey is set this path points to the file containing a subform. Do not define the used file extension. Quiqr will automatically try to open json, toml or yaml files. If dynFormObjectFile is not set it refers to the partials in the ./quiqr/model/base file itself. dynFormObjectRoot string optional (default: null) if dynFormObjectFile is set this points to the root node where the subform is defined e.g. components fields array of dictionaries mandatory These are the form input fields. fields.[n].arrayTitle boolean optional (default: false) The value of the child field which has arrayTitle=true will be displayed as the accordion item title Disabled child fields # if a child field of an accordion has a boolean field with a disabled and this is set to true, the item will display light grey text to indicate it\u0026rsquo;s disabled.\nRegular accordion # Below an example of a regular accordion configuration without dynamic forms.\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - arrayTitle: true key: title title: Title type: string - key: boolean1 title: boolean1 type: boolean - key: boolean2 title: boolean2 type: boolean - key: boolean3 title: boolean3 type: boolean key: my-accordion title: accordion type: accordion key = \u0026#34;my-accordion\u0026#34; title = \u0026#34;accordion\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;boolean1\u0026#34; title = \u0026#34;boolean1\u0026#34; type = \u0026#34;boolean\u0026#34; [[fields]] key = \u0026#34;boolean2\u0026#34; title = \u0026#34;boolean2\u0026#34; type = \u0026#34;boolean\u0026#34; [[fields]] key = \u0026#34;boolean3\u0026#34; title = \u0026#34;boolean3\u0026#34; type = \u0026#34;boolean\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;my-accordion\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;accordion\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } Accordion with dynamic forms defined in ./quiqr/model/base.yaml # Fragments of the ./quiqr/model/base.yaml with a dynamic accordion and a partials section\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynFormSearchKey: component_type fields: - arrayTitle: true key: title title: Title type: string - key: component_type multiple: false options: - text: Component 1 value: component1 - text: Component 2 value: component2 title: Component Type type: select key: page_sections title: Page sections type: accordion dynFormSearchKey = \u0026#34;component_type\u0026#34; key = \u0026#34;page_sections\u0026#34; title = \u0026#34;Page sections\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;component_type\u0026#34; multiple = false title = \u0026#34;Component Type\u0026#34; type = \u0026#34;select\u0026#34; [[fields.options]] text = \u0026#34;Component 1\u0026#34; value = \u0026#34;component1\u0026#34; [[fields.options]] text = \u0026#34;Component 2\u0026#34; value = \u0026#34;component2\u0026#34; { \u0026#34;dynFormSearchKey\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Component 1\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Component 2\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component2\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Component Type\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_sections\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page sections\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynamics: - component_type: poppy-banner fields: - key: poppy_variant multiple: false options: - text: Full height value: header-banner-full-height - text: Regular value: header-banner title: Quiqr Variant type: select - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component1 - component_type: poppy-shortlist fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string groupdata: true key: component2 type: section [[dynamics]] component_type = \u0026#34;poppy-banner\u0026#34; key = \u0026#34;component1\u0026#34; [[dynamics.fields]] key = \u0026#34;poppy_variant\u0026#34; multiple = false title = \u0026#34;Quiqr Variant\u0026#34; type = \u0026#34;select\u0026#34; [[dynamics.fields.options]] text = \u0026#34;Full height\u0026#34; value = \u0026#34;header-banner-full-height\u0026#34; [[dynamics.fields.options]] text = \u0026#34;Regular\u0026#34; value = \u0026#34;header-banner\u0026#34; [[dynamics.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics]] component_type = \u0026#34;poppy-shortlist\u0026#34; groupdata = true key = \u0026#34;component2\u0026#34; type = \u0026#34;section\u0026#34; [[dynamics.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;dynamics\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;poppy_variant\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Full height\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner-full-height\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Regular\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Quiqr Variant\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-shortlist\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;component2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ] } Accordion with dynamic forms defined in a seperate file # Fragments of the ./quiqr/model/base.yaml with a dynamic accordion.\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynFormObjectFile: data/pageComponentsTree dynFormObjectRoot: components dynFormSearchKey: component_type fields: - arrayTitle: true key: title title: Title type: string - key: component_type multiple: false options: - text: Component 1 value: component1 - text: Component 2 value: component2 title: Component Type type: select key: page_sections title: Page sections type: accordion dynFormObjectFile = \u0026#34;data/pageComponentsTree\u0026#34; dynFormObjectRoot = \u0026#34;components\u0026#34; dynFormSearchKey = \u0026#34;component_type\u0026#34; key = \u0026#34;page_sections\u0026#34; title = \u0026#34;Page sections\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;component_type\u0026#34; multiple = false title = \u0026#34;Component Type\u0026#34; type = \u0026#34;select\u0026#34; [[fields.options]] text = \u0026#34;Component 1\u0026#34; value = \u0026#34;component1\u0026#34; [[fields.options]] text = \u0026#34;Component 2\u0026#34; value = \u0026#34;component2\u0026#34; { \u0026#34;dynFormObjectFile\u0026#34;: \u0026#34;data/pageComponentsTree\u0026#34;, \u0026#34;dynFormObjectRoot\u0026#34;: \u0026#34;components\u0026#34;, \u0026#34;dynFormSearchKey\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Component 1\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Component 2\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component2\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Component Type\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_sections\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page sections\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } The complete object file in this case data/pageComponentsTree.yaml\ndata/pageComponentsTree. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; components: - component_type: poppy-banner fields: - key: poppy_variant multiple: false options: - text: Full height value: header-banner-full-height - text: Regular value: header-banner title: Quiqr Variant type: select - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component1 - component_type: poppy-shortlist fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string groupdata: true key: component2 type: section [[components]] component_type = \u0026#34;poppy-banner\u0026#34; key = \u0026#34;component1\u0026#34; [[components.fields]] key = \u0026#34;poppy_variant\u0026#34; multiple = false title = \u0026#34;Quiqr Variant\u0026#34; type = \u0026#34;select\u0026#34; [[components.fields.options]] text = \u0026#34;Full height\u0026#34; value = \u0026#34;header-banner-full-height\u0026#34; [[components.fields.options]] text = \u0026#34;Regular\u0026#34; value = \u0026#34;header-banner\u0026#34; [[components.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[components]] component_type = \u0026#34;poppy-shortlist\u0026#34; groupdata = true key = \u0026#34;component2\u0026#34; type = \u0026#34;section\u0026#34; [[components.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;components\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;poppy_variant\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Full height\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner-full-height\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Regular\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Quiqr Variant\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-shortlist\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;component2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ] } "}),a.add({id:26,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/',title:"Boolean",section:"Data Field Types",content:"Boolean # The boolean field generates a switch. The output value is true or false\n Boolean\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: boolean key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;boolean\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; } Output # sample_field: true "}),a.add({id:27,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/',title:"Bundle image thumbnail",section:"Layout Field Types",content:"Bundle image thumbnail # The bundle-image-thumbnail field renders a thumbnail image. It can only be used together with the bundle-manager field. Read [bundle-manager documentation](https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/) for more information.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: thumb type: bundle-image-thumbnail key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } "}),a.add({id:28,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/',title:"Bundle manager",section:"Container Field Types",content:"Bundle manager # The bundle-manager is a container field for creating a file-manager form for managing the assets of page bundles. The word page bundle refers to Hugo\u0026rsquo;s Page Bundles. A page bundle is a way of organizing a page inside it\u0026rsquo;s own directory together with it\u0026rsquo;s resources.\nIt\u0026rsquo;s not possible to use Bundle managers with pages which are not stored as page bundle.\n Bundle Manager together with a Bundle Image Thumbnail\n Bundle Manager with Bundle Image Thumbnail and extra string fields\n Bundle image thumbnail # The bundle-image-thumbnail field is a special field to be used together with bundle-manager containers. It\u0026rsquo;s creates preview image thumbnails of selected images.\nRead [bundle-image-thumbnail documentation](https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/) for more information.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element path string mandatory The path to the location of the files. When the path starts with / files are stored in the directory relative to the site root directory. Without a leading / files are stored in the directory relative to the where the markdown or data file is stored. maxItems integer optional max amount of files allowed to add forceFileName string optional when forceFileName is set to a filename, the uploaded file is renamed to this filename including it\u0026rsquo;s extension. When forceFileName is set maxItems is automatically set to 1 NOTE, files are not converted, it\u0026rsquo;s wise to only allow the same extension extensions array optional List of allowed filetypes addButtonLocationTop boolean (default: false) optional Show add button on top of the widget in stead of at the bottom fields array optional List of fields as subform Sample 1 # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb type: bundle-image-thumbnail key: images path: images title: Images type: bundle-manager extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;images\u0026#34; path = \u0026#34;images\u0026#34; title = \u0026#34;Images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[fields]] key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; } ### Output ```ls .. content/portfolio/item2 ├── images/ │ ├── backgound-image.jpg │ └── foregound-image.jpg └── index.md static/ themes/ .. Sample 2 # This configuration looks the same but the path starts with a /\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb type: bundle-image-thumbnail key: site_images path: /static/images title: Site Images type: bundle-manager extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;site_images\u0026#34; path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Site Images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[fields]] key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;site_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Site Images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; } ### Output ```ls .. content/ static/ └── images/ ├── image1.jpg └── image2.jpg themes/ .. Known issues # A bug currently prevents the values of input fields to be saved in the frontmatter.\n"}),a.add({id:29,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/',title:"Chips",section:"Data Field Types",content:"Chips # The chips field generates a field that helps creating tags of keywords from entered strings instantly. The output value is an array with strings.\n Chips\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default array of strings optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: - one - two key: sample_field title: Sample field type: chips default = [\u0026#34;one\u0026#34;, \u0026#34;two\u0026#34;] key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;chips\u0026#34; { \u0026#34;default\u0026#34;: [ \u0026#34;one\u0026#34;, \u0026#34;two\u0026#34; ], \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } Output # sample_field: - one - three Known issues # When tip property is not working.\n"}),a.add({id:30,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/',title:"Color",section:"Data Field Types",content:"Color # The color field generates a colorpicker for entering color hex codes.\n Color picker popup\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element autoSave boolean optional (default: false) Form data is automatically saved after changing the value tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: color key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;color\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;color\u0026#34; } Output # sample_field: #ccee00 "}),a.add({id:31,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/',title:"Date",section:"Data Field Types",content:"Date # The date field generates a date field with a date picker. The output value is a date string.\n Date field\n Date picker popup\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use. only \u0026lsquo;dd\u0026rsquo; \u0026lsquo;MM\u0026rsquo; and yyyy are supported currently. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dateFormat: dd-MM-yyyy default: \u0026#34;2021-04-12\u0026#34; key: sample_field title: Sample field type: date dateFormat = \u0026#34;dd-MM-yyyy\u0026#34; default = \u0026#34;2021-04-12\u0026#34; key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;dateFormat\u0026#34;: \u0026#34;dd-MM-yyyy\u0026#34;, \u0026#34;default\u0026#34;: \u0026#34;2021-04-12\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } Output # sample_field: \u0026#34;2021-03-21\u0026#34; "}),a.add({id:32,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/',title:"Easy Markdown Editor",section:"Data Field Types",content:"Easy Markdown Editor # The easymde field generates a lightweight markdown editor for entering markdown enabled strings.\n Easy Markdown Editor\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: easymde key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;easymde\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;easymde\u0026#34; } Output # sample_field: |-# Welcome at this course You will learn a lot Good luck! "}),a.add({id:33,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/',title:"Empty line",section:"Layout Field Types",content:"Empty line # The empty-line field is renders 1 or more empty lines in the form. It generates no output.\n empty line between title and description with amount: 2\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique amount integer optional (default: 1) Amount of empty lines to draw Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; amount: 2 key: sample_field type: empty-line amount = 2 key = \u0026#34;sample_field\u0026#34; type = \u0026#34;empty-line\u0026#34; { \u0026#34;amount\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;empty-line\u0026#34; } "}),a.add({id:34,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/',title:"Font Icon Picker",section:"Data Field Types",content:"Quiqr version \u0026gt;= 0.17.5\nFont Icon Picker # The fonticon-picker field creates a font iconpicker field populated with Font Awesome Icons. The output is a string with the Font Icon Class Name.\n Font Picker\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: fonticon-picker key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;fonticon-picker\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;fonticon-picker\u0026#34; } Output # sample_field: FaBusinessTime Credits # Font Picker is based on React FA Icon Picker.\n"}),a.add({id:35,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/',title:"Font Picker",section:"Data Field Types",content:"Font Picker # The font-picker field creates a font picker field populated by the Google Fonts Api. The output is a string with a Font Family name.\n\n Font Picker\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value limit integer optional (default: 50) Max. amount of fonts to load, the most populair fonts are loaded families array of strings optional (default: null) Array with Font Family names. If set, only these fonts are loaded categories array of strings optional (default: null) Array with Font Catogories. If set, only these fonts from these categories are loaded. \u0026ldquo;sans-serif\u0026rdquo;, \u0026ldquo;serif\u0026rdquo;, \u0026ldquo;display\u0026rdquo;, \u0026ldquo;handwriting\u0026rdquo;, \u0026ldquo;monospace\u0026rdquo; Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: roboto families: - roboto - roboto condensed - lato - open sans key: sample_field title: Sample field type: font-picker default = \u0026#34;roboto\u0026#34; families = [\u0026#34;roboto\u0026#34;, \u0026#34;roboto condensed\u0026#34;, \u0026#34;lato\u0026#34;, \u0026#34;open sans\u0026#34;] key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;font-picker\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;roboto\u0026#34;, \u0026#34;families\u0026#34;: [ \u0026#34;roboto\u0026#34;, \u0026#34;roboto condensed\u0026#34;, \u0026#34;lato\u0026#34;, \u0026#34;open sans\u0026#34; ], \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;font-picker\u0026#34; } Output # sample_field: lato Sample 2 # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; categories: - handwriting default: roboto key: sample_field limit: 40 title: Sample field type: font-picker categories = [\u0026#34;handwriting\u0026#34;] default = \u0026#34;roboto\u0026#34; key = \u0026#34;sample_field\u0026#34; limit = 40 title = \u0026#34;Sample field\u0026#34; type = \u0026#34;font-picker\u0026#34; { \u0026#34;categories\u0026#34;: [ \u0026#34;handwriting\u0026#34; ], \u0026#34;default\u0026#34;: \u0026#34;roboto\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;limit\u0026#34;: 40, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;font-picker\u0026#34; } Output # sample_field: lato Hugo Theme Template Implementation # This is an example implementation for managing 3 fonts with Quiqr in your Hugo Theme. The video shows the result applied to the vex-theme.\nCreate a partial model file with the path SITEROOT/quiqr/model/partials/single_design.yaml Add this configuration:\n--- file: data/design.json title: Design fields: - key: \u0026quot;primary_font\u0026quot; title: \u0026quot;Main Text Font\u0026quot; type: \u0026quot;font-picker\u0026quot; tip: \u0026quot;choose your font\u0026quot; limit: 50 categories: - sans-serif - key: \u0026quot;headings_font\u0026quot; title: \u0026quot;Headings Font\u0026quot; type: \u0026quot;font-picker\u0026quot; tip: \u0026quot;choose your font\u0026quot; limit: 300 Add partial to your singles file with the path SITEROOT/quiqr/model/include/singles.yaml`\n- key: design _mergePartial: single_design Add single to your menu file with the path SITEROOT/quiqr/model/include/menu.yaml`\n- key: Settings menuItems: - key: design title: Settings Create a partial template in your hugo theme called style-fonts-import.html and include this the \u0026lt;head\u0026gt; of your Hugo Theme.\n\u0026lt;style\u0026gt; @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.primary_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.secondary_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.headings_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); Create a partial template in your hugo theme called style-overrides.html and include this the \u0026lt;head\u0026gt; of your Hugo Theme.\n\u0026lt;style\u0026gt; body { font-family: '{{$.Site.Data.design.primary_font }}', sans-serif; } h1, h2, h3, h4, h5, h6 { font-family: '{{ $.Site.Data.design.headings_font }}', serif; } .testimonials .testimonial-block p { font-family: '{{ $.Site.Data.design.secondary_font }}', serif; } \u0026lt;/style\u0026gt; Credits # Font Picker is based on Font Picker React.\n"}),a.add({id:36,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/',title:"Hidden",section:"Data Field Types",content:"Hidden # The hidden field is hidden for the user but outputs a default value.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique default string optional default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: some value key: sample_field type: hidden default = \u0026#34;some value\u0026#34; key = \u0026#34;sample_field\u0026#34; type = \u0026#34;hidden\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;some value\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; } Output # sample_field: some value "}),a.add({id:37,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/',title:"Image Select",section:"Data Field Types",content:"Image Select # The image-select field creates a image selector picker field. It looks in a specified path for files to select. The output is a string with the filename.\nOnly one image can be selected.\n Image Select in form\n Image Select dialog\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value path string mandatory The path to the location of the files. When the path starts with / files are stored in the directory relative to the site root directory. Without a leading / files are stored in the directory relative to the where the markdown or data file is stored. real_fs_path string optional (default: null) The file system path the image. Use this e.g. when images are stored in /static/ or /assets/ buttonTitle string optional (default: \u0026ldquo;Select File\u0026rdquo;) Title of the button in the form. Sample # Configuration without real_fs_path # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; buttonTitle: select logo image key: sample_field path: /static/images title: Sample field type: image-select buttonTitle = \u0026#34;select logo image\u0026#34; key = \u0026#34;sample_field\u0026#34; path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;image-select\u0026#34; { \u0026#34;buttonTitle\u0026#34;: \u0026#34;select logo image\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;image-select\u0026#34; } frontmatter path will look like my-image.png\nConfiguration with real_fs_path (from 0.18.x) # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; buttonTitle: select logo image key: sample_field path: /images real_fs_path: /static/images title: Sample field type: image-select buttonTitle = \u0026#34;select logo image\u0026#34; key = \u0026#34;sample_field\u0026#34; path = \u0026#34;/images\u0026#34; real_fs_path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;image-select\u0026#34; { \u0026#34;buttonTitle\u0026#34;: \u0026#34;select logo image\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/images\u0026#34;, \u0026#34;real_fs_path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;image-select\u0026#34; } frontmatter path will look like /images/my-image.png\nOutput # sample_field: logo.png "}),a.add({id:38,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/',title:"Info",section:"Layout Field Types",content:"Info # The info field is shows a readonly information box. It generates no output.\n Info field\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique content string mandatory The content of the box in Markdown formatted textent size string (normal, small, large) optional (default: normal) Fontsize of small is 85%, normal 100%, large 110% lineHeight string optional (default: null) css value for the line height property. E.g. 150% theme strings (default, bare, warn, warn-bare, black, black-bare, gray, gray-bare) optional: (default: default) theme used to render to info box Themes # theme preview default bare warn black gray Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; content: |-## I love \\n\\n![](https://quiqr.org/images/logo-nav.svg) * it\u0026#39;s smart * it\u0026#39;s fast * it has Quiqr One\u0026#34; key: sample_field size: small type: info content = \u0026#34;## I love \\\\n\\\\n![](https://quiqr.org/images/logo-nav.svg)\\n\\n* it\u0026#39;s smart\\n* it\u0026#39;s fast\\n* it has Quiqr One\\\u0026#34;\u0026#34; key = \u0026#34;sample_field\u0026#34; size = \u0026#34;small\u0026#34; type = \u0026#34;info\u0026#34; { \u0026#34;content\u0026#34;: \u0026#34;## I love \\\\n\\\\n![](https://quiqr.org/images/logo-nav.svg)\\n\\n* it\u0026#39;s smart\\n* it\u0026#39;s fast\\n* it has Quiqr One\\\u0026#34;\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;size\u0026#34;: \u0026#34;small\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;info\u0026#34; } Output # Info field\n "}),a.add({id:39,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/',title:"Leaf array",section:"Container Field Types",content:"Leaf array # The lead array field is a container field for a single child field. The output is a collection of values of the child field value type.\n Leaf array with dates\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. field dictionary mandatory Dictionary witg child field definition. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; field: key: some_child_field title: Some chield field type: date key: some_parent_field title: Some parent field type: leaf-array key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;leaf-array\u0026#34; [field] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;field\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; }, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;leaf-array\u0026#34; } Output # some_parent_field: - \u0026#34;2021-04-02\u0026#34; - \u0026#34;2021-04-21\u0026#34; - \u0026#34;2021-05-07\u0026#34; "}),a.add({id:40,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/',title:"Markdown",section:"Data Field Types",content:"Markdown # The string field generates a field for entering strings. Multiline string values are allowed by enableing this property.\n Single markdown\n Multi line markdown\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet preview boolean optional (default: false) Enable preview field with rendered HTML Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: markdown key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;markdown\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; } Output # sample_field: |-Some multiline string value Known issues # The preview field is broken.\n"}),a.add({id:41,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/',title:"Nest",section:"Container Field Types",content:"Nest # The nest field is a container field. It can define multiple input fields, which are displayed as a subform. You have to focus the nest-field the show the sub form. The output is a dictionary with values from the sub form fields.\n nest unfocussed\n nest focussed\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. fields array of dictionaries mandatory These are the subform input fields. groupdata boolean optional (default: true) When set true to child field value are stored in a hash below the section key. When set false the values are placed at the same level as the section neighbour fields Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: some_child_field title: Some chield field type: date groupdata: true key: some_parent_field title: Some parent field type: nest groupdata = true key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;nest\u0026#34; [[fields]] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;nest\u0026#34; } Output # some_parent_field: some_child_field: \u0026#34;2021-04-02\u0026#34; "}),a.add({id:42,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/',title:"Number",section:"Data Field Types",content:"Number # The number field generates a field for entering numbers. Both integers and floating numbers are allowed. It\u0026rsquo;s not possible to enter othert characters.\n Number\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: number key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;number\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;number\u0026#34; } Output # sample_field: 13.3 "}),a.add({id:43,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/',title:"Pull",section:"Container Field Types",content:"Section # The pull field is a container field. It can define multiple input fields. The fields defined in a pull are displayed at the same level as other fields next to the pull field. The values are stored as dictionary below the pull key.\n Example use of the pull field. The fields author and Description are show at the same level as the Title field\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. fields array of dictionaries optional These are the subform input fields. group string optional (default: null) key to store the dictionary in. When not set, the key of the pull element itself is used. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: author title: Author type: string - key: description multiLine: true title: Description type: string group: params key: some_field type: pull group = \u0026#34;params\u0026#34; key = \u0026#34;some_field\u0026#34; type = \u0026#34;pull\u0026#34; [[fields]] key = \u0026#34;author\u0026#34; title = \u0026#34;Author\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;description\u0026#34; multiLine = true title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;author\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Author\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;multiLine\u0026#34;: true, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;group\u0026#34;: \u0026#34;params\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;some_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;pull\u0026#34; } Output # params: author: \u0026#34;Multiple authors\u0026#34; description: |-this is a nice place. "}),a.add({id:44,href:'/docs/80-release-notes/01-quiqr-desktop/v0.10.x/',title:"Quiqr Desktop v0.10",section:"Quiqr Desktop",content:"Quiqr Desktop v0.10 # This is a big release note. We list all changes since the fork with Hokus.\nNew type: font-picker # New type: image-select # Electron Version # upgraded electron from 5 to 9 Preferences with choosable Data Folder # New bundle-manager attribute # forceFileName attribute: maxItems feature to write to path relative to site dir Build for Mac, Windows and Linux # enable flatpak enable more linux formats "}),a.add({id:45,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/',title:"Readonly",section:"Data Field Types",content:"Readonly # The readonly field is shows a value but cannot be modified by the form user. The value can be a string or a number.\n Readonly\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element default string mandatory The value of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: some value key: sample_field title: Sample field type: readonly default = \u0026#34;some value\u0026#34; key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;readonly\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;some value\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;readonly\u0026#34; } Output # sample_field: some value "}),a.add({id:46,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/',title:"Section",section:"Container Field Types",content:"Section # The section field is a container field. It can define multiple input fields, which are displayed as a sub form. The output is a dictionary with values from the sub form fields.\n section\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. fields array of dictionaries mandatory These are the subform input fields. groupdata boolean optional (default: true) When set true to child field value are stored in a hash below the section key. When set false the values are placed at the same level as the section neighbour fields Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: some_child_field title: Some chield field type: date groupdata: true key: some_parent_field title: Some parent field type: section groupdata = true key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;section\u0026#34; [[fields]] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } Output # some_parent_field: some_child_field: \u0026#34;2021-04-02\u0026#34; "}),a.add({id:47,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/',title:"Select",section:"Data Field Types",content:"Select # The select field generates a dropdown selectbox for selecting strings or numbers. The output is a number or string. If multiple is set true the out is an array of numbers or strings.\n Select field\n Select multiple field\n Select dropdown with options\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR number OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value option_image_path string optional (default: null) path to images having the same name as the options values e.g. quiqr/model/images option_image_width number optional (default: null) when option_image_path is set image width as well to have a aligned option listing option_image_extension string optional (defaul: null) when option_image_path is set, optionally set extension to e.g. jpg. Then all images should be of type jpg. options array of dictionaries OR array of strings mandatory Array with title/value pairs, or an array with strings when text and value are the same options.[n].text string optional String with option visible text options.[n].value string optional String with option value to save when selected Example 1 # This example shows when value and text differ\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false options: - text: Option 1 value: 1 - text: Option 2 value: 2 - text: Option 3 value: 3 title: Sample field type: select default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select\u0026#34; [[options]] text = \u0026#34;Option 1\u0026#34; value = 1 [[options]] text = \u0026#34;Option 2\u0026#34; value = 2 [[options]] text = \u0026#34;Option 3\u0026#34; value = 3 { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Option 1\u0026#34;, \u0026#34;value\u0026#34;: 1 }, { \u0026#34;text\u0026#34;: \u0026#34;Option 2\u0026#34;, \u0026#34;value\u0026#34;: 2 }, { \u0026#34;text\u0026#34;: \u0026#34;Option 3\u0026#34;, \u0026#34;value\u0026#34;: 3 } ], \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } Output # sample_field: 2 Example 2 # This example shows when value and text are the same\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false options: - Option 1 - Option 2 - Option 3 title: Sample field type: select default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false options = [\u0026#34;Option 1\u0026#34;, \u0026#34;Option 2\u0026#34;, \u0026#34;Option 3\u0026#34;] title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ \u0026#34;Option 1\u0026#34;, \u0026#34;Option 2\u0026#34;, \u0026#34;Option 3\u0026#34; ], \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } Output # sample_field: 2 Known issues # Default property is not working.\n"}),a.add({id:48,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/',title:"Select from Query",section:"Data Field Types",content:"Select from Query # Quiqr version \u0026gt;= 0.16.0\nThe select-from-query field generates a dropdown selectbox for selecting strings generated by an query string.\nIMG TODO\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value query_glob string mandatory Glob string to select one or more files query_string string mandatory string to use on one the of the query types option_image_path string optional (default: null) path to images having the same name as the options values e.g. quiqr/model/images option_image_width number optional (default: null) when option_image_path is set image width as well to have a aligned option listing option_image_extension string optional (defaul: null) when option_image_path is set, optionally set extension to e.g. jpg. Then all images should be of type jpg. Example 1 # This example shows a simple query.\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false query_glob: data/system_data.json query_string: .weekday[] title: Sample field type: select-from-query default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false query_glob = \u0026#34;data/system_data.json\u0026#34; query_string = \u0026#34;.weekday[]\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select-from-query\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;query_glob\u0026#34;: \u0026#34;data/system_data.json\u0026#34;, \u0026#34;query_string\u0026#34;: \u0026#34;.weekday[]\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select-from-query\u0026#34; } Output # options:\n Monday Tuesday \u0026hellip; possible frontmatter result\nsample_field: Monday Example 2 # This example shows a simple query together with image visualization.\n Select field\n Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false option_image_extension: jpg option_image_path: ./quiqr/model/images option_image_width: 200 query_glob: data/system_data.json query_string: .weekday[] title: Sample field type: select-from-query default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false option_image_extension = \u0026#34;jpg\u0026#34; option_image_path = \u0026#34;./quiqr/model/images\u0026#34; option_image_width = 200 query_glob = \u0026#34;data/system_data.json\u0026#34; query_string = \u0026#34;.weekday[]\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select-from-query\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;option_image_extension\u0026#34;: \u0026#34;jpg\u0026#34;, \u0026#34;option_image_path\u0026#34;: \u0026#34;./quiqr/model/images\u0026#34;, \u0026#34;option_image_width\u0026#34;: 200, \u0026#34;query_glob\u0026#34;: \u0026#34;data/system_data.json\u0026#34;, \u0026#34;query_string\u0026#34;: \u0026#34;.weekday[]\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select-from-query\u0026#34; } Output # options:\n Monday Tuesday \u0026hellip; possible frontmatter result\nsample_field: Monday Query Language # The Quiqr Query Language is inspired by JQ, but has some additions specially suited for querying the Hugo content. Currently this page contains all information about QQL.\nQQL selects data or metadata from markdown/json/yaml/toml files.\nIn the select-from-quert field, only results in the form of arrays with strings are valid. Other results types wil produce an error message.\nAt time of writing QQL only exists in this document. QQL is in a very early development phase.\nWhen the query_string starts with # the file meta data will be queried. When the query_string starts with . the file content data will be queried.\nMeta data functions # file_name: returns the full filename-component. e.g. blog-about-quiqr.md file_base_name: returns the filename with out extension. e.g. blog-about-quiqr parent_dir: returns the parent directory of the found filename with out extension. e.g. the-post when the filename is a bundle posts/the-post/index.md Populating select option with filenames from a directory. # query_glob: content/resources/*.md query_string: \u0026#34;#file_name[]\u0026#34; Populating select option with titles from front matter from multiple directories. # query_glob: content/**/*.md query_string: .title[] Known issues # WIP\n"}),a.add({id:49,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/',title:"Slider",section:"Data Field Types",content:"Slider # The slider field generates a slider for entering numbers.\n slider\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element step number mandatory Amount between steps min number mandatory Starting value max number mandatory Ending value autoSave boolean optional (default: false) Form data is automatically saved after changing the value default string optional (default: null) default value when the key is not set yet tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field max: 800 min: 0 step: 10 title: Sample field type: slider key = \u0026#34;sample_field\u0026#34; max = 800 min = 0 step = 10 title = \u0026#34;Sample field\u0026#34; type = \u0026#34;slider\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;max\u0026#34;: 800, \u0026#34;min\u0026#34;: 0, \u0026#34;step\u0026#34;: 10, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;slider\u0026#34; } Output # sample_field: 300 "}),a.add({id:50,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/',title:"String",section:"Data Field Types",content:"String # The string field generates a field for entering strings. Multiline string values are allowed by enableing this property.\n Single line string\n Multi line string\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet multiLine boolean optional (default: false) Enable multi line value Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field multiLine: true title: Sample field type: string key = \u0026#34;sample_field\u0026#34; multiLine = true title = \u0026#34;Sample field\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiLine\u0026#34;: true, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } Output # sample_field: |-Some multiline string value "}),a.add({id:51,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/',title:"Uniq",section:"Data Field Types",content:"Uniq # The Uniq field is generates a unique string if the value is not set. When the value exists it behaves like a readonly string. With the generate new token button a the string can be regenerated.\n Uniq\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: uniq key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;uniq\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;uniq\u0026#34; } Output # sample_field: 888c-fc97-bb50 "}),a.add({id:52,href:'/docs/80-release-notes/01-quiqr-desktop/v0.0-older/',title:"Versions before v0.10",section:"Quiqr Desktop",content:"These notes contain some dutch words.\n2022-03-16 Fork from PoppyGo App # Recursive accordion # Hugo Server fixes # detect if hugo server is running or not improve restart of hugo server Import / Export sites # autoimport by clicking link in browser for Windows \u0026amp; Linux (quiqr://) Quiqr Cloud # become a Quiqr member claim a Quiqr domain new authentication flow for publishing sites External Editor # open single item in editor open collection item in editor open entry after creation collections imrove texts in dialogs when publishing improve preview user interface remove markdown preview welcome screen refresh sites after import move to expert: version switcher auto open preview url add \u0026ldquo;previewUrl\u0026rdquo; property to singles back button in collections breadcrum preview icons in page editor improve sidebar menu v0.6.5 # new feature: version switcher v0.6.4 # fix open last site ad startup close app on last window closed (macos) fix delete site action v0.6.3 # more fixes unstable select site task add spectron e2e framework v0.6.2 # fix unstable select site task fix hugo not starting after returning to quiqr v0.6.1 # fix embgit.exe location on Windows show version in help menu on Windows v0.6.0 # Official Windows support Fix Windows installer Fix hugo server running on Windows v0.5.5 # new confkey for collections: sortkey interface in collection listing to sort values v0.5.4 # hide previewwindow when video\u0026rsquo;s are played full screen position previewwindow correctly when app is fullscreen v0.5.3 # soft close mobile preview window in multiple situations where needed reopen mobile preview when softclosed v0.5.2 # specific help links close mobile preview window in multiple situations where needed v0.5.1 # [site-source]/quiqr/home/index.md is displayed on the site dashboard v0.5.0 # fix progress windows not closing bug fix double click pogofile error when quiqr not running first working version of the poppy:// handler v0.4.5 # fix scss bug v0.4.4 # refactored pogopublish, impl.commit -a disable gitlab-ci remove resources add export v0.4.2 [05.06.20 03.03] # Fix unknown host problem ssh/git\n Upgrade to from electron 3.x to 5.x\n Fix strange browserview HTML behaviour\n Stop server is not defined\n v0.4.1 [04.06.20 20:59] # Menu rewrote, disable items when no site selected Export config with private key as .pogopass-file v0.4.0 [04.06.20 03:22] # mobile browser, import/export theme\u0026rsquo;s, double click pogosite files opens the app and starts importing, double click pogotheme files opens the app and starts importing, select site no popup anymore, no need to restart the app after site import, or site deletion, open site directoty in expert-menu, open site config in expert-menu help-menu opens https://docs.quiqr.org/ versie 0.3.5 - Private Beta 3 # cleanup export file (ignore .git and public) versie 0.3.4 - Private Beta 2 # embgit fixes versie 0.3.2 - Private Beta 1 # quiqr publisher custom menu slots interface cleanups progress windows versie 0.3.0 - Birth Poppy Go # new icon new product name remember window size direct start of server after site switch gitlab publisher now uses embgit (https://github.com/mipmip/embgit) versie 0.2.5 # github publisher now uses embgit (https://github.com/mipmip/embgit) versie 0.2.4 # afbeeldingen mogelijk maken in singles standaard hugo versie bij nieuwe site 0.66.0 versie de sukoh 0.2.3 # geen zip extensie probleem met starten betere afhandeling site naam import export methode om te herstarten delete site files meer feedback na importeren meer feedback na exporten pas site key aan versie de sukoh 0.2.2 # code signature git publisher gebaseerd op key meer feedback na publiceren versie van hokus duidelijk weergeven embed gitkeys git betere bestandsstructuur versie de sukoh 0.2.1 # rename to sokuh start met versioning versie de downward spiral 0.1 # Hokus # start readSettings when theme found copy to css else copy default voorkeuren voor kleuren (ik word gek van paars en blauw) config.json niet gemaximaliseerd starten hide extra menu meer stylen als een native programma downward-spiral pims/lingewoud branch met alle pr-merged tekstmenu voor minder belangrijke zaken hoe ziet het op Linux en Windows eruit hugo console nieuw window configuratie start server publish link om lokaal website te openen windows binary windows binary ftp site testen op windows windows binary uploaden github fix image upload editorconfig maak page bundle select site, direct vanuit het menu "})})() \ No newline at end of file +'use strict';(function(){const b={cache:!0};b.doc={id:'id',field:['title','content'],store:['title','href','section']};const a=FlexSearch.create('balance',b);window.bookSearchIndex=a,a.add({id:0,href:'/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/',title:"Anatomy of a Quiqr Site",section:"Quiqr Developer Reference",content:"Anatomy of a Quiqr Site # Quiqr Data Directory # Quiqr stores it\u0026rsquo;s data in the Quiqr Data directory in the Home directory of the current user.\nQuiqr Data on Windows # C:\\Users\\robin\\QuiqrData Quiqr Data on macOS # /Users/robin/Quiqr Data Quiqr Data on Linux/BSD # /home/robin/Quiqr Data Site configuration # All Quiqr sites store their top-level-configuration file in the root of the Quiqr Data Directory. This top-level-configuration file provides Quiqr path information to a Quiqr website.\n~/Quiqr Data/ ./config.my-site.json Hugo and Quiqr Site directory structure # ./my_hugo_site/ ./content/ (hugo content directory) ./static/ (hugo static files directory) ./data/ (hugo data files directory) ./themes/ (hugo themes directory) ./resources/ (hugo temporary build resources directory) ./public/ (hugo final build directory) ./config.toml (hugo main config file) ./.quiqr-cache (quiqr thumbnails cache folder) ./quiqr/ (quiqr config folder) ./home/index.md (optional message to the content editor in Quiqr) ./forms/index.md (forms end point configuration files) ./model/base.yaml (main Quiqr Model Configuration File) ./model/partials/ (directory with model configuration partials files) ./model/partialsRemoteCache/ (directory with cached remote model configuration partials files) ./model/includes/ (directory with model configuration include files) "}),a.add({id:1,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/',title:"build",section:"Root properties",content:"Build # The build property tells Quiqr which Hugo configuration file should be used when the site will be build. A build occurs when a site is published.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; build: - config: config.toml key: default [[build]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; { \u0026#34;build\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ] } "}),a.add({id:2,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/',title:"Container Field Types",section:"Form Fields",content:"Container Field Types # Container field are containers of other fields. Container fields can even be nested in other container fields.\n"}),a.add({id:3,href:'/docs/40-quiqr-project-development/01-create-a-new-field-type/',title:"Create a new field type",section:"Quiqr Developer Howto's",content:"Create new a new field type # This HowTo teaches you how to create a new custom field type.\nIntroduction # Quiqr Field Types are the user interface to data that is stored in the website.\nSteps # copy an existing field type # copy an existing field type that you like to use as template.\nThe field types are stored in the path src/components/SukohForm/components/\nThey are named FieldNameDynamic.js where FieldName is the name you want to use.\ncp src/components/SukohForm/components/SelectDynamic.js src/components/SukohForm/components/FontPickerDynamic.js Replace OldFieldName with NewFieldName # Open your new file and replace the OldFieldName with new NewFieldName.\nAlso set a new field type in the method:\ngetType(){ return \u0026#39;new-field-name\u0026#39;; This is used in site/quiqr/model/base.yaml\nImport and export the type class # In the file src/components/SukohForm/components/all.js the new type class should be imported and exported.\n... import FontPickerDynamic from './FontPickerDynamic'; ... export default [ ... FontPickerDynamic, ... ] Implement your own type code # At this point you should implement your own code. It\u0026rsquo;s wise to test the new type in a demo website while you implement the new type. Take small steps.\n"}),a.add({id:4,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/',title:"Data Field Types",section:"Form Fields",content:"Data field types # Data field types are used to input data from the user. The data will be saved.\n"}),a.add({id:5,href:'/docs/10-getting-started/',title:"Getting started",section:"Docs",content:"Get started # Quiqr lets you publish to the web easily. The best way to get started with Quiqr is download the Quiqr Application, create a new site from a template, and publish this to the web.\nRead on or Watch the Quickstart video.\nInstall # Download and install the latest version for your system.\nStart Quiqr for the first time. # When you start Quiqr for the first time, you have no websites yet. You can create new or import from several sources, but to understand the concept of Quiqr right away, just import a Quiqr Template and play a little with the CMS.\n Import from folder\n Preview website # From the moment you have created a website and opened it, a hugo server is running on your computer. Hit the Preview in Browser button to show how your website looks like.\n Toolbar with Preview button\n Publish to the web # To publish to the web you have to setup a sync target. Currently you can sync to a GitHub-repository and to a folder. The folder needs to be copied to a public server manually.\n"}),a.add({id:6,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/',title:"Includes",section:"Model File Structure",content:"Includes # In addition to using a single model/base config file, one can use the quiqr/model/includes/ directory to maintain an easier organization.\nYou can split up the model/base-file and use seperate files for menu, collections, dynamics, and singles.\nQuiqr automatically reads the files in ./quiqr/model/includes/ and merges these tree inside model/base.\nEach file represents a configuration root object, such as collections.toml for [Collections], menu.toml for [menu], singles.toml for [single] etc…\nEach file’s content must be top-level, for example:\nThe configuration in ./quiqr/model/base.yaml\nmenu: - key: pages title: Pages menuItems: - key: about - key: config title: settings menuItems: - key: config Equals ./quiqr/model/includes/menu.yaml\n- key: pages menuItems: - key: about title: Pages - key: config menuItems: - key: config title: settings "}),a.add({id:7,href:'/docs/10-getting-started/01.installation/',title:"Install Quiqr Desktop",section:"Getting started",content:"Install Quiqr # Download the latest version of Quiqr for macOS and Windows from quiqr.org.\nLinux # Download the latest Quiqr version for Linux in different package types from GitHub\n"}),a.add({id:8,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/',title:"Layout Field Types",section:"Form Fields",content:"Layout field types # Layout field types add extra info or structure to a form.\n"}),a.add({id:9,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/',title:"Partials",section:"Model File Structure",content:"Partials # Partials are reusable configuration blocks that can be used in a form definition inside singles, collections and dynamics.\nPartials can be used with the property _mergePartial. The value of this property is points to the location of the partial file to use.\nPartials are merged with to other form attributes. Attributes which are also defined in the form with overwrite the partial attributes.\nRelative partial pointer # This location can point to a file in the ./quiqr/model/partials directory. In this case the value is a string with the name of the partial file without it\u0026rsquo;s extension. E.g: single_images This converts to ./quiqr/model/partials.{yml,yaml,toml,json}\nRemote partial pointers # The location can also point to an URI location prefixed with file://, https:// or http://. Locations with file:// point to the absolute location on your local machine. The http-protocols point to a location on internet. Quiqr Desktop will always make a copy of the remote file in the directory ./quiqr/model/partialsRemoteCache. Therefor it\u0026rsquo;s safe to publish and share your site with users that not have access to these resources. If you want to refresh the remotePartial, just remove the directory partialsRemoteCache and they wil automatically copied again. You can also turn on the Disable Partial Cache toggle in the menu\nExample # In ./quiqr/model/base.yaml a form definition in singles points to minimal_configuration.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: minimal_configuration The partial # ./model/partial/minimal_configuration.yaml\n- dataformat: yaml fields: - key: title title: Title type: string - key: description title: Description type: string - key: theme theme: Theme type: string title: Minimal Configuration The compiled end result # singles: - key: config file: config.toml title: Settings dataformat: yaml fields: - key: description title: Description type: string - key: title title: Title type: string - key: theme theme: Theme type: string The title or the partial Minimal Configuration is overwritten the the calling definition in base.yml, leaving it Settings. Example 2 # In ./quiqr/model/base.yaml a form definition in singles points to a remote file containing a lot of hugo config options.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: https://raw.githubusercontent.com/quiqr/model-partials/main/singles/configuration-hugo-076.yml Example 2 # In ./quiqr/model/base.yaml a form definition in singles points to a local file on the users computer containing a lot of hugo config options. This file:// URI is useful when developing remote configurations and you do not want to push at every change.\nThe base # ./model/base.yaml\nsingles: - key: config file: config.toml title: Settings _mergePartial: file:///home/pim/cQuiqr/model-partials/singles/configuration-hugo-076.yml "}),a.add({id:10,href:'/docs/80-release-notes/01-quiqr-desktop/',title:"Quiqr Desktop",section:"Release Notes",content:"Quiqr Desktop Quiqr Desktop # The latest public release is Quiqr Desktop v0.10\n"}),a.add({id:11,href:'/docs/20-quiqr-developer-reference/02-site-conf/',title:"Top Level Site Config File",section:"Quiqr Developer Reference",content:"Site configuration File # Every Quiqr website has a top-level configuration file. It\u0026rsquo;s located in $HOME/Quiqr Data/config.websitename.json. The site configurations tells Quiqr where to find the site files and where to publish the website.\nThe site files are maintained by Quiqr and should not be edited manually, except when you know whhat you\u0026rsquo;re doing. property value type optional description key string mandatory Keys are for internal use and must be unique name string mandatory The name of the website lastPublish integer mandatory Timespamp with time of last publication publishStatus integer mandatory 1=published, 2=publication pending remote source.type string mandatory Depriciated: Should always be folder source.path string mandatory Path to the Hugo site root directory publish array of dictionaries mandatory Array with publish configurations, currently only one is supported publish.0.key string mandatory Keys are for internal use and must be unique publish.0.config dictionary mandatory Dictionary with publish configuration information publish.0.config.type string mandatory type publication endpoint. Currently only Quiqr Cloud is supported publish.0.config.defaultDomain string mandatory default live domain "}),a.add({id:12,href:'/docs/15-site-and-cms-development/01-user-roles/',title:"User Roles",section:"Site and CMS Development",content:"User Roles # Quiqr has two major target user type: Content Editors and Site Developers.\nDevelopers need the same tools as editors, plus some extra tools. To make the experience for content editors as pleasant as possible we hide some information and tools in their interface.\nContent Editor # The default role of Quiqr is Content Editor. A content editor download templates, import sites, change content and add synchronization targets and finally sync to this target.\nSite Developer # As site developer you have direct access to more tools.\nTools in Site # In a site, in the toolbar next to Content and Sync, there is the Tools button.\nThis Tools button gives access to several developer utilities and tools.\n Tools only visible in Site Developers role\n Content Menu items for developer # The Content sidebar can have Menu items only visible for Site Developers by setting the matchRole property. See Menu Properties.\nSwitch Role # In Windows and Linux roles are in the Edit Menu.\n Switch Role\n In macOS the roles are in the Quiqr Menu.\n Switch Role in macOS\n "}),a.add({id:13,href:'/docs/15-site-and-cms-development/',title:"Site and CMS Development",section:"Docs",content:"Sorry, it not yet finished # Come back soon. We\u0026rsquo;re shooting right now.\n"}),a.add({id:14,href:'/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/',title:"Blog (single file)",section:"Example Configurations",content:"Example 1: minimal one file blog # Here\u0026rsquo;s an example model/base-file containing a minimal configuration for a blog website.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; build: - config: config.toml key: default collections: - dataformat: yaml extension: md fields: - key: draft title: Draft type: boolean - key: title title: Title type: string - extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb title: Thumb type: bundle-image-thumbnail key: page_related_images path: \u0026#34;\u0026#34; title: Page related images type: bundle-manager - key: mainContent title: Main content type: markdown - key: publishdate title: Publishdate type: hidden - key: tags title: Tags type: chips folder: content/post/ itemtitle: Post key: c__post title: Posts hugover: extended_0.76.5 menu: - key: singles menuItems: - key: s__about title: Pages - key: collections menuItems: - key: c__post title: Groups - key: general menuItems: - key: config title: General serve: - config: config.toml key: default singles: - dataformat: toml fields: - key: description title: Description type: string - key: title title: Title type: string - fields: - key: author title: Author type: string - key: dateFormat title: Date format type: string - key: description title: Description type: string - key: paginationSinglePost title: Pagination single post type: boolean - key: readMore title: Read more type: boolean - key: style title: Style type: string groupdata: true key: params title: Params type: section file: config.toml key: config title: Settings - dataformat: yaml fields: - key: title title: Title type: string - key: description title: Description type: string - extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb title: Thumb type: bundle-image-thumbnail key: page_related_images path: images/ title: Page related images type: bundle-manager - key: mainContent title: Main content type: markdown file: content/about.md key: s__about previewUrl: /about/ title: About hugover = \u0026#34;extended_0.76.5\u0026#34; [[build]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; [[collections]] dataformat = \u0026#34;yaml\u0026#34; extension = \u0026#34;md\u0026#34; folder = \u0026#34;content/post/\u0026#34; itemtitle = \u0026#34;Post\u0026#34; key = \u0026#34;c__post\u0026#34; title = \u0026#34;Posts\u0026#34; [[collections.fields]] key = \u0026#34;draft\u0026#34; title = \u0026#34;Draft\u0026#34; type = \u0026#34;boolean\u0026#34; [[collections.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[collections.fields]] extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;page_related_images\u0026#34; path = \u0026#34;\u0026#34; title = \u0026#34;Page related images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[collections.fields.fields]] key = \u0026#34;thumb\u0026#34; title = \u0026#34;Thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; [[collections.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; [[collections.fields]] key = \u0026#34;publishdate\u0026#34; title = \u0026#34;Publishdate\u0026#34; type = \u0026#34;hidden\u0026#34; [[collections.fields]] key = \u0026#34;tags\u0026#34; title = \u0026#34;Tags\u0026#34; type = \u0026#34;chips\u0026#34; [[menu]] key = \u0026#34;singles\u0026#34; title = \u0026#34;Pages\u0026#34; [[menu.menuItems]] key = \u0026#34;s__about\u0026#34; [[menu]] key = \u0026#34;collections\u0026#34; title = \u0026#34;Groups\u0026#34; [[menu.menuItems]] key = \u0026#34;c__post\u0026#34; [[menu]] key = \u0026#34;general\u0026#34; title = \u0026#34;General\u0026#34; [[menu.menuItems]] key = \u0026#34;config\u0026#34; [[serve]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; [[singles]] dataformat = \u0026#34;toml\u0026#34; file = \u0026#34;config.toml\u0026#34; key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] groupdata = true key = \u0026#34;params\u0026#34; title = \u0026#34;Params\u0026#34; type = \u0026#34;section\u0026#34; [[singles.fields.fields]] key = \u0026#34;author\u0026#34; title = \u0026#34;Author\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;dateFormat\u0026#34; title = \u0026#34;Date format\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields.fields]] key = \u0026#34;paginationSinglePost\u0026#34; title = \u0026#34;Pagination single post\u0026#34; type = \u0026#34;boolean\u0026#34; [[singles.fields.fields]] key = \u0026#34;readMore\u0026#34; title = \u0026#34;Read more\u0026#34; type = \u0026#34;boolean\u0026#34; [[singles.fields.fields]] key = \u0026#34;style\u0026#34; title = \u0026#34;Style\u0026#34; type = \u0026#34;string\u0026#34; [[singles]] dataformat = \u0026#34;yaml\u0026#34; file = \u0026#34;content/about.md\u0026#34; key = \u0026#34;s__about\u0026#34; previewUrl = \u0026#34;/about/\u0026#34; title = \u0026#34;About\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;page_related_images\u0026#34; path = \u0026#34;images/\u0026#34; title = \u0026#34;Page related images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[singles.fields.fields]] key = \u0026#34;thumb\u0026#34; title = \u0026#34;Thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; [[singles.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; { \u0026#34;build\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ], \u0026#34;collections\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;extension\u0026#34;: \u0026#34;md\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;draft\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Draft\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_related_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page related images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;publishdate\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Publishdate\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;tags\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Tags\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } ], \u0026#34;folder\u0026#34;: \u0026#34;content/post/\u0026#34;, \u0026#34;itemtitle\u0026#34;: \u0026#34;Post\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;c__post\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Posts\u0026#34; } ], \u0026#34;hugover\u0026#34;: \u0026#34;extended_0.76.5\u0026#34;, \u0026#34;menu\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;singles\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;s__about\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Pages\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;collections\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;c__post\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Groups\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;general\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;General\u0026#34; } ], \u0026#34;serve\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ], \u0026#34;singles\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;toml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;author\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Author\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;dateFormat\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Date format\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;paginationSinglePost\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Pagination single post\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;readMore\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Read more\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;style\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Style\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;params\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Params\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; }, { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_related_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;images/\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page related images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;content/about.md\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;s__about\u0026#34;, \u0026#34;previewUrl\u0026#34;: \u0026#34;/about/\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;About\u0026#34; } ] } "}),a.add({id:15,href:'/docs/10-getting-started/02.import-site/',title:"Import Site",section:"Getting started",content:"Import Site # You can import sites into your local Quiqr library from various sources.\nFrom Folder # Import from folder. You can import Hugo folders or Quiqr folders.\n In the import dialog browser to the folder containing the Hugo Sources. Enter a name for your new site Select a Hugo version you would like to use for this site If you need extended functionality, e.g. Hugo\u0026rsquo;s sass compiler, enable the extended switch. Click Import Site and afterwards open your newly made site. From public git repository # "}),a.add({id:16,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/',title:"serve",section:"Root properties",content:"Serve # The serve property tells Quiqr which Hugo configuration file should be used for the live preview server. The server listens to http://localhost:13131.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; serve: - config: config.toml key: default [[serve]] config = \u0026#34;config.toml\u0026#34; key = \u0026#34;default\u0026#34; { \u0026#34;serve\u0026#34;: [ { \u0026#34;config\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;default\u0026#34; } ] } "}),a.add({id:17,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/',title:"hugover",section:"Root properties",content:"hugover # The hugover property tells Quiqr which Hugo version it should use. If the version is not available, it will automatically downloaded from the official Hugo site.\n./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; hugover: extended_0.76.5 hugover = \u0026#34;extended_0.76.5\u0026#34; { \u0026#34;hugover\u0026#34;: \u0026#34;extended_0.76.5\u0026#34; } "}),a.add({id:18,href:'/docs/20-quiqr-developer-reference/03-content-model/',title:"Content Model",section:"Quiqr Developer Reference",content:"Content Model Configuration # Quiqr can create advanced advanced models with customized forms for editing any kind of content. These forms are configured in the ./quiqr/model/ directory with base.json as the main configuration file. The model-files can be in YAML, JSON or TOML-formatting.\nRoot Properties # The model is split up in several main properties:\n build: information how to serve the hugo website serve: information how to build the hugo website hugover: the hugo version to use. The correct hugo version is downloaded automatically. collections: main key for collections with pages. E.g. blog posts singles: main key for single page configurations. E.g. home page or about menu: main key for the menu configuration of the CMS. dynamics: main key for the dynamics form definitions to be used in dynamic forms. Model File Structure # Quiqr has helpers two organize complex models and prevent redundant configuration code. Includes are used to split the main-file into seperate files and partials makes it possible to reuse configuration code.\nForm Fields # The main keys Singles, Collections and Dynamics can have form fields definitions. These are the building blocks for creating forms.\nAll available form field types are described in the section Form Fields. Form fields have their own properties for configuration. All form fields share the following properties:\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique disabled boolean optional Disabled elements are completely ignored and not visible in the form Full Example # The Kitchen Sink Template has a every field type configured. Use this template to learn and play around with the Quiqr model.\n"}),a.add({id:19,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/',title:"menu",section:"Root properties",content:"Root property: menu # The Menu main key is optional. When not defined Quiqr creates two menu sections: Singles and Collections.\nWhen menu is defined the default Quiqr content navigation is overriden by this configuration.\nProperties # There are the properties of a single menu dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique title string mandatory The title of this menu menuItems array of dictionaries mandatory contains a menu items matchRole string optional when set to \u0026ldquo;siteDeveloper\u0026rdquo; this menu is only visible in the role Site Developer Every menu item has a dictionary with. These are the properties of a menu item.\n property value type optional description key string mandatory this refers to the key of the defined Single of Collection Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; menu: - key: pages menuItems: - key: about title: Pages - key: blog menuItems: - key: posts title: Groups - key: config menuItems: - key: config title: Settings [[menu]] key = \u0026#34;pages\u0026#34; title = \u0026#34;Pages\u0026#34; [[menu.menuItems]] key = \u0026#34;about\u0026#34; [[menu]] key = \u0026#34;blog\u0026#34; title = \u0026#34;Groups\u0026#34; [[menu.menuItems]] key = \u0026#34;posts\u0026#34; [[menu]] key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[menu.menuItems]] key = \u0026#34;config\u0026#34; { \u0026#34;menu\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;pages\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;about\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Pages\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;blog\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;posts\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Groups\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;menuItems\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; } ] } "}),a.add({id:20,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/',title:"single",section:"Root properties",content:"Root property: singles # The singles property is optional. When defined Singles containes an array of dictionaries. Every dictionary defines a single form to edit a single file. The file can be located anywhere in the site directory structure but typically points to a file in the root directory, the content directory or the data directory of a hugo project.\nThese are the properties of a Single dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the type of output format. If file is a markdown file the outputs regards to the frontmatter title string mandatory The title of this page in the menu and when Quiqr App refers to this page file string: relative path to file mandatory The path to the file. This is the data storage. Can be data/somefile.{json,toml,yaml} or content/somefile.md previewUrl string: relative url path to the website optional When set, this path is used to preview the page hidePreviewIcon boolean optional Hide Preview Icon which opens the page in the browser hideExternalEditIcon boolean optional Hide Enternal Editor Icon which opens the file in the OS Text Editor hideSaveButton boolean optional Hide form Save button fields array of dictionaries mandatory These are the form input fields. Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; singles: - dataformat: toml fields: - key: description title: Description type: string - key: title title: Title type: string file: config.toml key: config title: Settings [[singles]] dataformat = \u0026#34;toml\u0026#34; file = \u0026#34;config.toml\u0026#34; key = \u0026#34;config\u0026#34; title = \u0026#34;Settings\u0026#34; [[singles.fields]] key = \u0026#34;description\u0026#34; title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; [[singles.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;singles\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;toml\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;file\u0026#34;: \u0026#34;config.toml\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;config\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Settings\u0026#34; } ] } "}),a.add({id:21,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/',title:"collections",section:"Root properties",content:"Root property: collections # The collections property is optional. It can define an array with one or more collections with pages which will get their own navigation item in the Quiqr Content Menu. In the above example there is a Collection Blog configured containing blog pages in the folder content/blog/. Below the properties of a single collection dictionary.\n property value type optional description key string mandatory Keys are for internal use and must be unique dataformat string: yaml, toml,json mandatory Defines the output format of the frontmatter block. Collections can only handle markdown files. the outputs regards to the frontmatter extension ??? mandatory ??? title string mandatory The title of this page in the menu and when Quiqr App refers to this page itemtitle string mandatory The singular name of the collection items hideIndex boolean optional when set true the _index.md is not showed in the list of items folder string: relative path to dir mandatory The path to the directory containing all files with the configured extension. previewUrlBase string: relative url path to the website optional When set, this path as base path to preview the page hidePreviewIcon boolean optional Hide Preview Icon which opens the page in the browser hideExternalEditIcon boolean optional Hide Enternal Editor Icon which opens the file in the OS Text Editor hideSaveButton boolean optional Hide form Save button fields array of dictionaries mandatory These are the form input fields. sortkey string optional can be set to a front matter key which will be used for sorting Example # ./model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; collections: - dataformat: yaml extension: md fields: - key: title title: Title type: string - key: mainContent title: Main content type: markdown - key: publishdate title: Publishdate type: hidden - key: tags title: Tags type: chips folder: content/post/ itemtitle: Post key: post title: Posts [[collections]] dataformat = \u0026#34;yaml\u0026#34; extension = \u0026#34;md\u0026#34; folder = \u0026#34;content/post/\u0026#34; itemtitle = \u0026#34;Post\u0026#34; key = \u0026#34;post\u0026#34; title = \u0026#34;Posts\u0026#34; [[collections.fields]] key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[collections.fields]] key = \u0026#34;mainContent\u0026#34; title = \u0026#34;Main content\u0026#34; type = \u0026#34;markdown\u0026#34; [[collections.fields]] key = \u0026#34;publishdate\u0026#34; title = \u0026#34;Publishdate\u0026#34; type = \u0026#34;hidden\u0026#34; [[collections.fields]] key = \u0026#34;tags\u0026#34; title = \u0026#34;Tags\u0026#34; type = \u0026#34;chips\u0026#34; { \u0026#34;collections\u0026#34;: [ { \u0026#34;dataformat\u0026#34;: \u0026#34;yaml\u0026#34;, \u0026#34;extension\u0026#34;: \u0026#34;md\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;mainContent\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Main content\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;publishdate\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Publishdate\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;tags\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Tags\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } ], \u0026#34;folder\u0026#34;: \u0026#34;content/post/\u0026#34;, \u0026#34;itemtitle\u0026#34;: \u0026#34;Post\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;post\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Posts\u0026#34; } ] } "}),a.add({id:22,href:'/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/',title:"dynamics",section:"Root properties",content:"Root property: dynamics # The dynamics property is optional. Dynamics are used to dynamically mount sub-forms in the accordion form field\nThe dynamics property contains an array of dictionaries which itself it a form field definition.\nSupported fields in dynamic sub form # Note Not all field types can be used in a subform. This list with field types is known to work:\n string image-select nest accordion boolean unique These field types are know NOT to work:\n section pull Example # model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynamics: - component_type: banner fields: - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component-banner - component_type: bullet-list fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string key: component-bullet-list [[dynamics]] component_type = \u0026#34;banner\u0026#34; key = \u0026#34;component-banner\u0026#34; [[dynamics.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics]] component_type = \u0026#34;bullet-list\u0026#34; key = \u0026#34;component-bullet-list\u0026#34; [[dynamics.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;dynamics\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component-banner\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;bullet-list\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component-bullet-list\u0026#34; } ] } "}),a.add({id:23,href:'/docs/99-about-this-book/',title:"About this book",section:"Docs",content:"About the Quiqr Book # This handbook is not an extensive guide on how to use and configure hugo websites The purpose of this document is to explain how to configure, distribute and maintain Quiqr websites.\nTo search for a particular term within the Quiqr Book, select the \u0026lsquo;magnifying glass\u0026rsquo; icon, or press \u0026rsquo;s'.\nThose looking for tips and tricks on how to develop Hugo websites should consult the official Hugo Documentation or the Hugo Forum.\nThe latest version of this book is located at https://book.quiqr.org/.\nExample Commands # Examples in this guide may have snippets of commands to be run in your shell or paste in your editor. When you see a snippet beginning with $ it\u0026rsquo;s a shell command. as your normal user. After either of these lines, there may be example output from the command.\nPlaceholders # Some examples include text with placeholders. Placeholders indicate where you should substitute the appropriate information. For example:\n$ cat ~/Quiqr Data/config.\u0026lt;site_name\u0026gt;.json This means you need to substitute the text \u0026lt;site_name\u0026gt; with the actual site name.\nContributing # We welcome contributions to this book. Please read our Contributing Guidelines.\n"}),a.add({id:24,href:'/docs/10-getting-started/10.quick-start-video/',title:"Quick Start Video",section:"Getting started",content:"Quick Start Video # Sorry! It\u0026rsquo;s not finished yet. We\u0026rsquo;re shooting it right now.\n"}),a.add({id:25,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/',title:"Accordion",section:"Container Field Types",content:"Accordion # The accordion field is a container field. It can define multiple input fields, which are displayed as subform. The output is an array of dictionaries.\n Accordion\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the accordion element dynFormSearchKey string optional (default: null) key of one of the child field of which the value refers to a custom partial form dynFormObjectFile string with relative path to file without file extension optional (default: null) if dynFormSearchKey is set this path points to the file containing a subform. Do not define the used file extension. Quiqr will automatically try to open json, toml or yaml files. If dynFormObjectFile is not set it refers to the partials in the ./quiqr/model/base file itself. dynFormObjectRoot string optional (default: null) if dynFormObjectFile is set this points to the root node where the subform is defined e.g. components fields array of dictionaries mandatory These are the form input fields. fields.[n].arrayTitle boolean optional (default: false) The value of the child field which has arrayTitle=true will be displayed as the accordion item title Disabled child fields # if a child field of an accordion has a boolean field with a disabled and this is set to true, the item will display light grey text to indicate it\u0026rsquo;s disabled.\nRegular accordion # Below an example of a regular accordion configuration without dynamic forms.\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - arrayTitle: true key: title title: Title type: string - key: boolean1 title: boolean1 type: boolean - key: boolean2 title: boolean2 type: boolean - key: boolean3 title: boolean3 type: boolean key: my-accordion title: accordion type: accordion key = \u0026#34;my-accordion\u0026#34; title = \u0026#34;accordion\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;boolean1\u0026#34; title = \u0026#34;boolean1\u0026#34; type = \u0026#34;boolean\u0026#34; [[fields]] key = \u0026#34;boolean2\u0026#34; title = \u0026#34;boolean2\u0026#34; type = \u0026#34;boolean\u0026#34; [[fields]] key = \u0026#34;boolean3\u0026#34; title = \u0026#34;boolean3\u0026#34; type = \u0026#34;boolean\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;boolean3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;boolean3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;my-accordion\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;accordion\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } Accordion with dynamic forms defined in ./quiqr/model/base.yaml # Fragments of the ./quiqr/model/base.yaml with a dynamic accordion and a partials section\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynFormSearchKey: component_type fields: - arrayTitle: true key: title title: Title type: string - key: component_type multiple: false options: - text: Component 1 value: component1 - text: Component 2 value: component2 title: Component Type type: select key: page_sections title: Page sections type: accordion dynFormSearchKey = \u0026#34;component_type\u0026#34; key = \u0026#34;page_sections\u0026#34; title = \u0026#34;Page sections\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;component_type\u0026#34; multiple = false title = \u0026#34;Component Type\u0026#34; type = \u0026#34;select\u0026#34; [[fields.options]] text = \u0026#34;Component 1\u0026#34; value = \u0026#34;component1\u0026#34; [[fields.options]] text = \u0026#34;Component 2\u0026#34; value = \u0026#34;component2\u0026#34; { \u0026#34;dynFormSearchKey\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Component 1\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Component 2\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component2\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Component Type\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_sections\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page sections\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynamics: - component_type: poppy-banner fields: - key: poppy_variant multiple: false options: - text: Full height value: header-banner-full-height - text: Regular value: header-banner title: Quiqr Variant type: select - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component1 - component_type: poppy-shortlist fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string groupdata: true key: component2 type: section [[dynamics]] component_type = \u0026#34;poppy-banner\u0026#34; key = \u0026#34;component1\u0026#34; [[dynamics.fields]] key = \u0026#34;poppy_variant\u0026#34; multiple = false title = \u0026#34;Quiqr Variant\u0026#34; type = \u0026#34;select\u0026#34; [[dynamics.fields.options]] text = \u0026#34;Full height\u0026#34; value = \u0026#34;header-banner-full-height\u0026#34; [[dynamics.fields.options]] text = \u0026#34;Regular\u0026#34; value = \u0026#34;header-banner\u0026#34; [[dynamics.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics]] component_type = \u0026#34;poppy-shortlist\u0026#34; groupdata = true key = \u0026#34;component2\u0026#34; type = \u0026#34;section\u0026#34; [[dynamics.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[dynamics.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;dynamics\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;poppy_variant\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Full height\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner-full-height\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Regular\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Quiqr Variant\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-shortlist\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;component2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ] } Accordion with dynamic forms defined in a seperate file # Fragments of the ./quiqr/model/base.yaml with a dynamic accordion.\n./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dynFormObjectFile: data/pageComponentsTree dynFormObjectRoot: components dynFormSearchKey: component_type fields: - arrayTitle: true key: title title: Title type: string - key: component_type multiple: false options: - text: Component 1 value: component1 - text: Component 2 value: component2 title: Component Type type: select key: page_sections title: Page sections type: accordion dynFormObjectFile = \u0026#34;data/pageComponentsTree\u0026#34; dynFormObjectRoot = \u0026#34;components\u0026#34; dynFormSearchKey = \u0026#34;component_type\u0026#34; key = \u0026#34;page_sections\u0026#34; title = \u0026#34;Page sections\u0026#34; type = \u0026#34;accordion\u0026#34; [[fields]] arrayTitle = true key = \u0026#34;title\u0026#34; title = \u0026#34;Title\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;component_type\u0026#34; multiple = false title = \u0026#34;Component Type\u0026#34; type = \u0026#34;select\u0026#34; [[fields.options]] text = \u0026#34;Component 1\u0026#34; value = \u0026#34;component1\u0026#34; [[fields.options]] text = \u0026#34;Component 2\u0026#34; value = \u0026#34;component2\u0026#34; { \u0026#34;dynFormObjectFile\u0026#34;: \u0026#34;data/pageComponentsTree\u0026#34;, \u0026#34;dynFormObjectRoot\u0026#34;: \u0026#34;components\u0026#34;, \u0026#34;dynFormSearchKey\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;arrayTitle\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;component_type\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Component 1\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Component 2\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;component2\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Component Type\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;page_sections\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Page sections\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;accordion\u0026#34; } The complete object file in this case data/pageComponentsTree.yaml\ndata/pageComponentsTree. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; components: - component_type: poppy-banner fields: - key: poppy_variant multiple: false options: - text: Full height value: header-banner-full-height - text: Regular value: header-banner title: Quiqr Variant type: select - key: bg_image title: Background image type: string - key: buttontxt title: Button text type: string key: component1 - component_type: poppy-shortlist fields: - key: text1 title: Text 1 type: string - key: text2 title: Text 2 type: string - key: text3 title: Text 3 type: string groupdata: true key: component2 type: section [[components]] component_type = \u0026#34;poppy-banner\u0026#34; key = \u0026#34;component1\u0026#34; [[components.fields]] key = \u0026#34;poppy_variant\u0026#34; multiple = false title = \u0026#34;Quiqr Variant\u0026#34; type = \u0026#34;select\u0026#34; [[components.fields.options]] text = \u0026#34;Full height\u0026#34; value = \u0026#34;header-banner-full-height\u0026#34; [[components.fields.options]] text = \u0026#34;Regular\u0026#34; value = \u0026#34;header-banner\u0026#34; [[components.fields]] key = \u0026#34;bg_image\u0026#34; title = \u0026#34;Background image\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;buttontxt\u0026#34; title = \u0026#34;Button text\u0026#34; type = \u0026#34;string\u0026#34; [[components]] component_type = \u0026#34;poppy-shortlist\u0026#34; groupdata = true key = \u0026#34;component2\u0026#34; type = \u0026#34;section\u0026#34; [[components.fields]] key = \u0026#34;text1\u0026#34; title = \u0026#34;Text 1\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;text2\u0026#34; title = \u0026#34;Text 2\u0026#34; type = \u0026#34;string\u0026#34; [[components.fields]] key = \u0026#34;text3\u0026#34; title = \u0026#34;Text 3\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;components\u0026#34;: [ { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-banner\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;poppy_variant\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Full height\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner-full-height\u0026#34; }, { \u0026#34;text\u0026#34;: \u0026#34;Regular\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;header-banner\u0026#34; } ], \u0026#34;title\u0026#34;: \u0026#34;Quiqr Variant\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;bg_image\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Background image\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;buttontxt\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Button text\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;component1\u0026#34; }, { \u0026#34;component_type\u0026#34;: \u0026#34;poppy-shortlist\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;text1\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 1\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text2\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;text3\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Text 3\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;component2\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } ] } "}),a.add({id:26,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/',title:"Boolean",section:"Data Field Types",content:"Boolean # The boolean field generates a switch. The output value is true or false\n Boolean\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: boolean key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;boolean\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; } Output # sample_field: true "}),a.add({id:27,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/',title:"Bundle image thumbnail",section:"Layout Field Types",content:"Bundle image thumbnail # The bundle-image-thumbnail field renders a thumbnail image. It can only be used together with the bundle-manager field. Read [bundle-manager documentation](https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/) for more information.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: thumb type: bundle-image-thumbnail key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } "}),a.add({id:28,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/',title:"Bundle manager",section:"Container Field Types",content:"Bundle manager # The bundle-manager is a container field for creating a file-manager form for managing the assets of page bundles. The word page bundle refers to Hugo\u0026rsquo;s Page Bundles. A page bundle is a way of organizing a page inside it\u0026rsquo;s own directory together with it\u0026rsquo;s resources.\nIt\u0026rsquo;s not possible to use Bundle managers with pages which are not stored as page bundle.\n Bundle Manager together with a Bundle Image Thumbnail\n Bundle Manager with Bundle Image Thumbnail and extra string fields\n Bundle image thumbnail # The bundle-image-thumbnail field is a special field to be used together with bundle-manager containers. It\u0026rsquo;s creates preview image thumbnails of selected images.\nRead [bundle-image-thumbnail documentation](https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/) for more information.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element path string mandatory The path to the location of the files. When the path starts with / files are stored in the directory relative to the site root directory. Without a leading / files are stored in the directory relative to the where the markdown or data file is stored. maxItems integer optional max amount of files allowed to add forceFileName string optional when forceFileName is set to a filename, the uploaded file is renamed to this filename including it\u0026rsquo;s extension. When forceFileName is set maxItems is automatically set to 1 NOTE, files are not converted, it\u0026rsquo;s wise to only allow the same extension extensions array optional List of allowed filetypes addButtonLocationTop boolean (default: false) optional Show add button on top of the widget in stead of at the bottom fields array optional List of fields as subform Sample 1 # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb type: bundle-image-thumbnail key: images path: images title: Images type: bundle-manager extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;images\u0026#34; path = \u0026#34;images\u0026#34; title = \u0026#34;Images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[fields]] key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; } ### Output ```ls .. content/portfolio/item2 ├── images/ │ ├── backgound-image.jpg │ └── foregound-image.jpg └── index.md static/ themes/ .. Sample 2 # This configuration looks the same but the path starts with a /\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; extensions: - jpg - png - jpeg - pdf - svg fields: - key: thumb type: bundle-image-thumbnail key: site_images path: /static/images title: Site Images type: bundle-manager extensions = [\u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34;] key = \u0026#34;site_images\u0026#34; path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Site Images\u0026#34; type = \u0026#34;bundle-manager\u0026#34; [[fields]] key = \u0026#34;thumb\u0026#34; type = \u0026#34;bundle-image-thumbnail\u0026#34; { \u0026#34;extensions\u0026#34;: [ \u0026#34;jpg\u0026#34;, \u0026#34;png\u0026#34;, \u0026#34;jpeg\u0026#34;, \u0026#34;pdf\u0026#34;, \u0026#34;svg\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;thumb\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-image-thumbnail\u0026#34; } ], \u0026#34;key\u0026#34;: \u0026#34;site_images\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Site Images\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;bundle-manager\u0026#34; } ### Output ```ls .. content/ static/ └── images/ ├── image1.jpg └── image2.jpg themes/ .. Known issues # A bug currently prevents the values of input fields to be saved in the frontmatter.\n"}),a.add({id:29,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/',title:"Chips",section:"Data Field Types",content:"Chips # The chips field generates a field that helps creating tags of keywords from entered strings instantly. The output value is an array with strings.\n Chips\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default array of strings optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: - one - two key: sample_field title: Sample field type: chips default = [\u0026#34;one\u0026#34;, \u0026#34;two\u0026#34;] key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;chips\u0026#34; { \u0026#34;default\u0026#34;: [ \u0026#34;one\u0026#34;, \u0026#34;two\u0026#34; ], \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;chips\u0026#34; } Output # sample_field: - one - three Known issues # When tip property is not working.\n"}),a.add({id:30,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/',title:"Color",section:"Data Field Types",content:"Color # The color field generates a colorpicker for entering color hex codes.\n Color picker popup\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element autoSave boolean optional (default: false) Form data is automatically saved after changing the value tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: color key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;color\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;color\u0026#34; } Output # sample_field: #ccee00 "}),a.add({id:31,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/',title:"Date",section:"Data Field Types",content:"Date # The date field generates a date field with a date picker. The output value is a date string.\n Date field\n Date picker popup\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use. only \u0026lsquo;dd\u0026rsquo; \u0026lsquo;MM\u0026rsquo; and yyyy are supported currently. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dateFormat: dd-MM-yyyy default: \u0026#34;2021-04-12\u0026#34; key: sample_field title: Sample field type: date dateFormat = \u0026#34;dd-MM-yyyy\u0026#34; default = \u0026#34;2021-04-12\u0026#34; key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;dateFormat\u0026#34;: \u0026#34;dd-MM-yyyy\u0026#34;, \u0026#34;default\u0026#34;: \u0026#34;2021-04-12\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } Output # sample_field: \u0026#34;2021-03-21\u0026#34; "}),a.add({id:32,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/',title:"Easy Markdown Editor",section:"Data Field Types",content:"Easy Markdown Editor # The easymde field generates a lightweight markdown editor for entering markdown enabled strings.\n Easy Markdown Editor\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: easymde key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;easymde\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;easymde\u0026#34; } Output # sample_field: |-# Welcome at this course You will learn a lot Good luck! "}),a.add({id:33,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/',title:"Eisenhouwer Matrix",section:"Data Field Types",content:"Eisenhouwer # Quiqr version \u0026gt;= 0.18.10\nThe eisenhouwer field creates a eisenhouwer matrix canvas which allows editors to prioritize tasks by dragging datapoints. The tasks are stored as datapoints which can optinally contain other meta data. Existing metadata will be kept and can be used in the data point label using the dataSetsDataPointLabelTemplate for configuration.\nPlease also checkout the latest kitchensink template for eisenhouwer examples. This is quite a complex datatype field.\n Font Picker\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box xScaleTitle string optional (default: null) X-Axis Title, (cost) yScaleTitle string optional (default: null) Y-Axis Title, (impact) dataSetsPath string optional (default: null) Path in data where datasets are stored dataSetsKeyToLabel boolean optional (default: false) Source data is a dictionary, convert to array for Chartjs dataSetsLabelPath string optional (default: null) Path in data where dataset-label are stored dataSetsDataPointsPath string optional (default: null) Path in data where datapoints are stored dataSetsDataPointsKeyToItem boolean optional (default: false) Source data is a dictionary, convert to array for Chartjs dataSetsDataPointPosXPath string mandatory Path in datapoints where x-position is stored dataSetsDataPointPosYPath string mandatory Path in datapoints where y-position is stored dataSetsDataPointLabelTemplate string optional (default: x=${point.x}, y=${point.y}) Template for creating a datapoint label Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dataSetsDataPointLabelTemplate: ${point.task} dataSetsDataPointPosXPath: .x dataSetsDataPointPosYPath: .y dataSetsDataPointsKeyToItem: false dataSetsDataPointsPath: .data dataSetsKeyToLabel: false dataSetsLabelPath: .label dataSetsPath: .datasets key: garden_tasks type: eisenhouwer xScaleTitle: More Sweat yScaleTitle: Happy Wild Life dataSetsDataPointLabelTemplate = \u0026#34;${point.task}\u0026#34; dataSetsDataPointPosXPath = \u0026#34;.x\u0026#34; dataSetsDataPointPosYPath = \u0026#34;.y\u0026#34; dataSetsDataPointsKeyToItem = false dataSetsDataPointsPath = \u0026#34;.data\u0026#34; dataSetsKeyToLabel = false dataSetsLabelPath = \u0026#34;.label\u0026#34; dataSetsPath = \u0026#34;.datasets\u0026#34; key = \u0026#34;garden_tasks\u0026#34; type = \u0026#34;eisenhouwer\u0026#34; xScaleTitle = \u0026#34;More Sweat\u0026#34; yScaleTitle = \u0026#34;Happy Wild Life\u0026#34; { \u0026#34;dataSetsDataPointLabelTemplate\u0026#34;: \u0026#34;${point.task}\u0026#34;, \u0026#34;dataSetsDataPointPosXPath\u0026#34;: \u0026#34;.x\u0026#34;, \u0026#34;dataSetsDataPointPosYPath\u0026#34;: \u0026#34;.y\u0026#34;, \u0026#34;dataSetsDataPointsKeyToItem\u0026#34;: false, \u0026#34;dataSetsDataPointsPath\u0026#34;: \u0026#34;.data\u0026#34;, \u0026#34;dataSetsKeyToLabel\u0026#34;: false, \u0026#34;dataSetsLabelPath\u0026#34;: \u0026#34;.label\u0026#34;, \u0026#34;dataSetsPath\u0026#34;: \u0026#34;.datasets\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;garden_tasks\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;eisenhouwer\u0026#34;, \u0026#34;xScaleTitle\u0026#34;: \u0026#34;More Sweat\u0026#34;, \u0026#34;yScaleTitle\u0026#34;: \u0026#34;Happy Wild Life\u0026#34; } Output # garden_tasks: datasets: - label: Garden Tasks data: - x: 12.0 \u0026#39;y\u0026#39;: 17.6 task: Paint the barn - x: 59.3 \u0026#39;y\u0026#39;: 75.5 task: Grow strawberries - x: 11.2 \u0026#39;y\u0026#39;: 79.9 task: Dig a pond Sample 2 # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; dataSetsDataPointLabelTemplate: |-${point.RiskCode} ${point.QuestionTitle} dataSetsDataPointPosXPath: .REPORT.importance_number_of_100 dataSetsDataPointPosYPath: .REPORT.cost_number_of_100 dataSetsDataPointsKeyToItem: true dataSetsKeyToLabel: true key: well_architected_improvements labelDelegate: DELEGATE labelDelete: DELETE labelDoNow: DO NOW labelToPlan: TO PLAN type: eisenhouwer xScaleTitle: Cost of Mitigation yScaleTitle: Risk Importance dataSetsDataPointLabelTemplate = \u0026#34;${point.RiskCode}\\n${point.QuestionTitle}\u0026#34; dataSetsDataPointPosXPath = \u0026#34;.REPORT.importance_number_of_100\u0026#34; dataSetsDataPointPosYPath = \u0026#34;.REPORT.cost_number_of_100\u0026#34; dataSetsDataPointsKeyToItem = true dataSetsKeyToLabel = true key = \u0026#34;well_architected_improvements\u0026#34; labelDelegate = \u0026#34;DELEGATE\u0026#34; labelDelete = \u0026#34;DELETE\u0026#34; labelDoNow = \u0026#34;DO NOW\u0026#34; labelToPlan = \u0026#34;TO PLAN\u0026#34; type = \u0026#34;eisenhouwer\u0026#34; xScaleTitle = \u0026#34;Cost of Mitigation\u0026#34; yScaleTitle = \u0026#34;Risk Importance\u0026#34; { \u0026#34;dataSetsDataPointLabelTemplate\u0026#34;: \u0026#34;${point.RiskCode}\\n${point.QuestionTitle}\u0026#34;, \u0026#34;dataSetsDataPointPosXPath\u0026#34;: \u0026#34;.REPORT.importance_number_of_100\u0026#34;, \u0026#34;dataSetsDataPointPosYPath\u0026#34;: \u0026#34;.REPORT.cost_number_of_100\u0026#34;, \u0026#34;dataSetsDataPointsKeyToItem\u0026#34;: true, \u0026#34;dataSetsKeyToLabel\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;well_architected_improvements\u0026#34;, \u0026#34;labelDelegate\u0026#34;: \u0026#34;DELEGATE\u0026#34;, \u0026#34;labelDelete\u0026#34;: \u0026#34;DELETE\u0026#34;, \u0026#34;labelDoNow\u0026#34;: \u0026#34;DO NOW\u0026#34;, \u0026#34;labelToPlan\u0026#34;: \u0026#34;TO PLAN\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;eisenhouwer\u0026#34;, \u0026#34;xScaleTitle\u0026#34;: \u0026#34;Cost of Mitigation\u0026#34;, \u0026#34;yScaleTitle\u0026#34;: \u0026#34;Risk Importance\u0026#34; } Output # well_architected_improvements: costOptimization: cloud-financial-management: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.cloud-financial-management.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: cloud-financial-management QuestionTitle: How do you implement cloud financial management? REPORT: cost_number_of_100: 76.74060382008626 importance_number_of_100: 23.400850580624386 short-med-long: short show: true Risk: MEDIUM RiskCode: COST01 _label: cloud-financial-management x: 23.400850580624386 \u0026#39;y\u0026#39;: 76.74060382008626 evaluate-cost-effort: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.evaluate-cost-effort.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: evaluate-cost-effort QuestionTitle: How do you evaluate the cost of effort? REPORT: cost_number_of_100: 57.779886148007584 importance_number_of_100: 25.392970613283993 short-med-long: long show: true Risk: MEDIUM RiskCode: COST11 _label: evaluate-cost-effort x: 25.392970613283993 \u0026#39;y\u0026#39;: 57.779886148007584 govern-usage: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.govern-usage.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: govern-usage QuestionTitle: How do you govern usage? REPORT: cost_number_of_100: 11.606578115117017 importance_number_of_100: 32.231378439747424 short-med-long: short show: true Risk: HIGH RiskCode: COST02 _label: govern-usage x: 32.231378439747424 \u0026#39;y\u0026#39;: 11.606578115117017 manage-demand-resources: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.manage-demand-resources.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: manage-demand-resources QuestionTitle: How do you manage demand, and supply resources? REPORT: cost_number_of_100: 89.52556993222429 importance_number_of_100: 9.406125135072086 short-med-long: long show: true Risk: HIGH RiskCode: COST09 _label: manage-demand-resources x: 9.406125135072086 \u0026#39;y\u0026#39;: 89.52556993222429 monitor-usage: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.monitor-usage.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: monitor-usage QuestionTitle: How do you monitor your cost and usage? REPORT: cost_number_of_100: 84.97786211258696 importance_number_of_100: 58.14894410204381 short-med-long: short show: true Risk: HIGH RiskCode: COST03 _label: monitor-usage x: 58.14894410204381 \u0026#39;y\u0026#39;: 84.97786211258696 type-size-number-resources: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.type-size-number-resources.improvement-plan.en.html ImprovementPlans: [] PillarId: costOptimization QuestionId: type-size-number-resources QuestionTitle: \u0026gt;-How do you meet cost targets when you select resource type, size and number? REPORT: cost_number_of_100: 20.517560073937158 importance_number_of_100: 5.3496829769409855 short-med-long: long show: true Risk: MEDIUM RiskCode: COST06 _label: type-size-number-resources x: 5.3496829769409855 \u0026#39;y\u0026#39;: 20.517560073937158 operationalExcellence: dev-integ: ImprovementPlanUrl: \u0026gt;- https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.dev-integ.improvement-plan.en.html ImprovementPlans: [] PillarId: operationalExcellence QuestionId: dev-integ QuestionTitle: \u0026gt;-How do you reduce defects, ease remediation, and improve flow into production? REPORT: cost_number_of_100: 69.80899568699938 importance_number_of_100: 9.473732504374272 short-med-long: short show: true Risk: MEDIUM RiskCode: OPS05 _label: dev-integ x: 9.473732504374272 \u0026#39;y\u0026#39;: 69.80899568699938 "}),a.add({id:34,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/',title:"Empty line",section:"Layout Field Types",content:"Empty line # The empty-line field is renders 1 or more empty lines in the form. It generates no output.\n empty line between title and description with amount: 2\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique amount integer optional (default: 1) Amount of empty lines to draw Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; amount: 2 key: sample_field type: empty-line amount = 2 key = \u0026#34;sample_field\u0026#34; type = \u0026#34;empty-line\u0026#34; { \u0026#34;amount\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;empty-line\u0026#34; } "}),a.add({id:35,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/',title:"Font Icon Picker",section:"Data Field Types",content:"Quiqr version \u0026gt;= 0.17.5\nFont Icon Picker # The fonticon-picker field creates a font iconpicker field populated with Font Awesome Icons. The output is a string with the Font Icon Class Name.\n Font Picker\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: fonticon-picker key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;fonticon-picker\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;fonticon-picker\u0026#34; } Output # sample_field: FaBusinessTime Credits # Font Picker is based on React FA Icon Picker.\n"}),a.add({id:36,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/',title:"Font Picker",section:"Data Field Types",content:"Font Picker # The font-picker field creates a font picker field populated by the Google Fonts Api. The output is a string with a Font Family name.\n\n Font Picker\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value limit integer optional (default: 50) Max. amount of fonts to load, the most populair fonts are loaded families array of strings optional (default: null) Array with Font Family names. If set, only these fonts are loaded categories array of strings optional (default: null) Array with Font Catogories. If set, only these fonts from these categories are loaded. \u0026ldquo;sans-serif\u0026rdquo;, \u0026ldquo;serif\u0026rdquo;, \u0026ldquo;display\u0026rdquo;, \u0026ldquo;handwriting\u0026rdquo;, \u0026ldquo;monospace\u0026rdquo; Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: roboto families: - roboto - roboto condensed - lato - open sans key: sample_field title: Sample field type: font-picker default = \u0026#34;roboto\u0026#34; families = [\u0026#34;roboto\u0026#34;, \u0026#34;roboto condensed\u0026#34;, \u0026#34;lato\u0026#34;, \u0026#34;open sans\u0026#34;] key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;font-picker\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;roboto\u0026#34;, \u0026#34;families\u0026#34;: [ \u0026#34;roboto\u0026#34;, \u0026#34;roboto condensed\u0026#34;, \u0026#34;lato\u0026#34;, \u0026#34;open sans\u0026#34; ], \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;font-picker\u0026#34; } Output # sample_field: lato Sample 2 # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; categories: - handwriting default: roboto key: sample_field limit: 40 title: Sample field type: font-picker categories = [\u0026#34;handwriting\u0026#34;] default = \u0026#34;roboto\u0026#34; key = \u0026#34;sample_field\u0026#34; limit = 40 title = \u0026#34;Sample field\u0026#34; type = \u0026#34;font-picker\u0026#34; { \u0026#34;categories\u0026#34;: [ \u0026#34;handwriting\u0026#34; ], \u0026#34;default\u0026#34;: \u0026#34;roboto\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;limit\u0026#34;: 40, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;font-picker\u0026#34; } Output # sample_field: lato Hugo Theme Template Implementation # This is an example implementation for managing 3 fonts with Quiqr in your Hugo Theme. The video shows the result applied to the vex-theme.\nCreate a partial model file with the path SITEROOT/quiqr/model/partials/single_design.yaml Add this configuration:\n--- file: data/design.json title: Design fields: - key: \u0026quot;primary_font\u0026quot; title: \u0026quot;Main Text Font\u0026quot; type: \u0026quot;font-picker\u0026quot; tip: \u0026quot;choose your font\u0026quot; limit: 50 categories: - sans-serif - key: \u0026quot;headings_font\u0026quot; title: \u0026quot;Headings Font\u0026quot; type: \u0026quot;font-picker\u0026quot; tip: \u0026quot;choose your font\u0026quot; limit: 300 Add partial to your singles file with the path SITEROOT/quiqr/model/include/singles.yaml`\n- key: design _mergePartial: single_design Add single to your menu file with the path SITEROOT/quiqr/model/include/menu.yaml`\n- key: Settings menuItems: - key: design title: Settings Create a partial template in your hugo theme called style-fonts-import.html and include this the \u0026lt;head\u0026gt; of your Hugo Theme.\n\u0026lt;style\u0026gt; @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.primary_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.secondary_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); @import url('https://fonts.googleapis.com/css2?family={{ $.Site.Data.design.headings_font }}:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900\u0026amp;display=swap'); Create a partial template in your hugo theme called style-overrides.html and include this the \u0026lt;head\u0026gt; of your Hugo Theme.\n\u0026lt;style\u0026gt; body { font-family: '{{$.Site.Data.design.primary_font }}', sans-serif; } h1, h2, h3, h4, h5, h6 { font-family: '{{ $.Site.Data.design.headings_font }}', serif; } .testimonials .testimonial-block p { font-family: '{{ $.Site.Data.design.secondary_font }}', serif; } \u0026lt;/style\u0026gt; Credits # Font Picker is based on Font Picker React.\n"}),a.add({id:37,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/',title:"Hidden",section:"Data Field Types",content:"Hidden # The hidden field is hidden for the user but outputs a default value.\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique default string optional default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: some value key: sample_field type: hidden default = \u0026#34;some value\u0026#34; key = \u0026#34;sample_field\u0026#34; type = \u0026#34;hidden\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;some value\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;hidden\u0026#34; } Output # sample_field: some value "}),a.add({id:38,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/',title:"Image Select",section:"Data Field Types",content:"Image Select # The image-select field creates a image selector picker field. It looks in a specified path for files to select. The output is a string with the filename.\nOnly one image can be selected.\n Image Select in form\n Image Select dialog\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet autoSave boolean optional (default: false) Form data is automatically saved after changing the value path string mandatory The path to the location of the files. When the path starts with / files are stored in the directory relative to the site root directory. Without a leading / files are stored in the directory relative to the where the markdown or data file is stored. real_fs_path string optional (default: null) The file system path the image. Use this e.g. when images are stored in /static/ or /assets/ buttonTitle string optional (default: \u0026ldquo;Select File\u0026rdquo;) Title of the button in the form. Sample # Configuration without real_fs_path # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; buttonTitle: select logo image key: sample_field path: /static/images title: Sample field type: image-select buttonTitle = \u0026#34;select logo image\u0026#34; key = \u0026#34;sample_field\u0026#34; path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;image-select\u0026#34; { \u0026#34;buttonTitle\u0026#34;: \u0026#34;select logo image\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;image-select\u0026#34; } frontmatter path will look like my-image.png\nConfiguration with real_fs_path (from 0.18.x) # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; buttonTitle: select logo image key: sample_field path: /images real_fs_path: /static/images title: Sample field type: image-select buttonTitle = \u0026#34;select logo image\u0026#34; key = \u0026#34;sample_field\u0026#34; path = \u0026#34;/images\u0026#34; real_fs_path = \u0026#34;/static/images\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;image-select\u0026#34; { \u0026#34;buttonTitle\u0026#34;: \u0026#34;select logo image\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;/images\u0026#34;, \u0026#34;real_fs_path\u0026#34;: \u0026#34;/static/images\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;image-select\u0026#34; } frontmatter path will look like /images/my-image.png\nOutput # sample_field: logo.png "}),a.add({id:39,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/',title:"Info",section:"Layout Field Types",content:"Info # The info field is shows a readonly information box. It generates no output.\n Info field\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique content string mandatory The content of the box in Markdown formatted textent size string (normal, small, large) optional (default: normal) Fontsize of small is 85%, normal 100%, large 110% lineHeight string optional (default: null) css value for the line height property. E.g. 150% theme strings (default, bare, warn, warn-bare, black, black-bare, gray, gray-bare) optional: (default: default) theme used to render to info box Themes # theme preview default bare warn black gray Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; content: |-## I love \\n\\n![](https://quiqr.org/images/logo-nav.svg) * it\u0026#39;s smart * it\u0026#39;s fast * it has Quiqr One\u0026#34; key: sample_field size: small type: info content = \u0026#34;## I love \\\\n\\\\n![](https://quiqr.org/images/logo-nav.svg)\\n\\n* it\u0026#39;s smart\\n* it\u0026#39;s fast\\n* it has Quiqr One\\\u0026#34;\u0026#34; key = \u0026#34;sample_field\u0026#34; size = \u0026#34;small\u0026#34; type = \u0026#34;info\u0026#34; { \u0026#34;content\u0026#34;: \u0026#34;## I love \\\\n\\\\n![](https://quiqr.org/images/logo-nav.svg)\\n\\n* it\u0026#39;s smart\\n* it\u0026#39;s fast\\n* it has Quiqr One\\\u0026#34;\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;size\u0026#34;: \u0026#34;small\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;info\u0026#34; } Output # Info field\n "}),a.add({id:40,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/',title:"Leaf array",section:"Container Field Types",content:"Leaf array # The lead array field is a container field for a single child field. The output is a collection of values of the child field value type.\n Leaf array with dates\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. field dictionary mandatory Dictionary witg child field definition. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; field: key: some_child_field title: Some chield field type: date key: some_parent_field title: Some parent field type: leaf-array key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;leaf-array\u0026#34; [field] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;field\u0026#34;: { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; }, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;leaf-array\u0026#34; } Output # some_parent_field: - \u0026#34;2021-04-02\u0026#34; - \u0026#34;2021-04-21\u0026#34; - \u0026#34;2021-05-07\u0026#34; "}),a.add({id:41,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/',title:"Markdown",section:"Data Field Types",content:"Markdown # The string field generates a field for entering strings. Multiline string values are allowed by enableing this property.\n Single markdown\n Multi line markdown\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet preview boolean optional (default: false) Enable preview field with rendered HTML Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: markdown key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;markdown\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;markdown\u0026#34; } Output # sample_field: |-Some multiline string value Known issues # The preview field is broken.\n"}),a.add({id:42,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/',title:"Nest",section:"Container Field Types",content:"Nest # The nest field is a container field. It can define multiple input fields, which are displayed as a subform. You have to focus the nest-field the show the sub form. The output is a dictionary with values from the sub form fields.\n nest unfocussed\n nest focussed\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. fields array of dictionaries mandatory These are the subform input fields. groupdata boolean optional (default: true) When set true to child field value are stored in a hash below the section key. When set false the values are placed at the same level as the section neighbour fields Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: some_child_field title: Some chield field type: date groupdata: true key: some_parent_field title: Some parent field type: nest groupdata = true key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;nest\u0026#34; [[fields]] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;nest\u0026#34; } Output # some_parent_field: some_child_field: \u0026#34;2021-04-02\u0026#34; "}),a.add({id:43,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/',title:"Number",section:"Data Field Types",content:"Number # The number field generates a field for entering numbers. Both integers and floating numbers are allowed. It\u0026rsquo;s not possible to enter othert characters.\n Number\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: number key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;number\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;number\u0026#34; } Output # sample_field: 13.3 "}),a.add({id:44,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/',title:"Pull",section:"Container Field Types",content:"Section # The pull field is a container field. It can define multiple input fields. The fields defined in a pull are displayed at the same level as other fields next to the pull field. The values are stored as dictionary below the pull key.\n Example use of the pull field. The fields author and Description are show at the same level as the Title field\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. fields array of dictionaries optional These are the subform input fields. group string optional (default: null) key to store the dictionary in. When not set, the key of the pull element itself is used. Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: author title: Author type: string - key: description multiLine: true title: Description type: string group: params key: some_field type: pull group = \u0026#34;params\u0026#34; key = \u0026#34;some_field\u0026#34; type = \u0026#34;pull\u0026#34; [[fields]] key = \u0026#34;author\u0026#34; title = \u0026#34;Author\u0026#34; type = \u0026#34;string\u0026#34; [[fields]] key = \u0026#34;description\u0026#34; multiLine = true title = \u0026#34;Description\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;author\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Author\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;key\u0026#34;: \u0026#34;description\u0026#34;, \u0026#34;multiLine\u0026#34;: true, \u0026#34;title\u0026#34;: \u0026#34;Description\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } ], \u0026#34;group\u0026#34;: \u0026#34;params\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;some_field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;pull\u0026#34; } Output # params: author: \u0026#34;Multiple authors\u0026#34; description: |-this is a nice place. "}),a.add({id:45,href:'/docs/80-release-notes/01-quiqr-desktop/v0.10.x/',title:"Quiqr Desktop v0.10",section:"Quiqr Desktop",content:"Quiqr Desktop v0.10 # This is a big release note. We list all changes since the fork with Hokus.\nNew type: font-picker # New type: image-select # Electron Version # upgraded electron from 5 to 9 Preferences with choosable Data Folder # New bundle-manager attribute # forceFileName attribute: maxItems feature to write to path relative to site dir Build for Mac, Windows and Linux # enable flatpak enable more linux formats "}),a.add({id:46,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/',title:"Readonly",section:"Data Field Types",content:"Readonly # The readonly field is shows a value but cannot be modified by the form user. The value can be a string or a number.\n Readonly\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element default string mandatory The value of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: some value key: sample_field title: Sample field type: readonly default = \u0026#34;some value\u0026#34; key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;readonly\u0026#34; { \u0026#34;default\u0026#34;: \u0026#34;some value\u0026#34;, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;readonly\u0026#34; } Output # sample_field: some value "}),a.add({id:47,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/',title:"Section",section:"Container Field Types",content:"Section # The section field is a container field. It can define multiple input fields, which are displayed as a sub form. The output is a dictionary with values from the sub form fields.\n section\n Properties # Bundle manager Properties # property value type optional description key string mandatory Keys are for internal use and must be unique. title string optional The title of the element. fields array of dictionaries mandatory These are the subform input fields. groupdata boolean optional (default: true) When set true to child field value are stored in a hash below the section key. When set false the values are placed at the same level as the section neighbour fields Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; fields: - key: some_child_field title: Some chield field type: date groupdata: true key: some_parent_field title: Some parent field type: section groupdata = true key = \u0026#34;some_parent_field\u0026#34; title = \u0026#34;Some parent field\u0026#34; type = \u0026#34;section\u0026#34; [[fields]] key = \u0026#34;some_child_field\u0026#34; title = \u0026#34;Some chield field\u0026#34; type = \u0026#34;date\u0026#34; { \u0026#34;fields\u0026#34;: [ { \u0026#34;key\u0026#34;: \u0026#34;some_child_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some chield field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;date\u0026#34; } ], \u0026#34;groupdata\u0026#34;: true, \u0026#34;key\u0026#34;: \u0026#34;some_parent_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Some parent field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;section\u0026#34; } Output # some_parent_field: some_child_field: \u0026#34;2021-04-02\u0026#34; "}),a.add({id:48,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/',title:"Select",section:"Data Field Types",content:"Select # The select field generates a dropdown selectbox for selecting strings or numbers. The output is a number or string. If multiple is set true the out is an array of numbers or strings.\n Select field\n Select multiple field\n Select dropdown with options\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR number OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value option_image_path string optional (default: null) path to images having the same name as the options values e.g. quiqr/model/images option_image_width number optional (default: null) when option_image_path is set image width as well to have a aligned option listing option_image_extension string optional (defaul: null) when option_image_path is set, optionally set extension to e.g. jpg. Then all images should be of type jpg. options array of dictionaries OR array of strings mandatory Array with title/value pairs, or an array with strings when text and value are the same options.[n].text string optional String with option visible text options.[n].value string optional String with option value to save when selected Example 1 # This example shows when value and text differ\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false options: - text: Option 1 value: 1 - text: Option 2 value: 2 - text: Option 3 value: 3 title: Sample field type: select default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select\u0026#34; [[options]] text = \u0026#34;Option 1\u0026#34; value = 1 [[options]] text = \u0026#34;Option 2\u0026#34; value = 2 [[options]] text = \u0026#34;Option 3\u0026#34; value = 3 { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ { \u0026#34;text\u0026#34;: \u0026#34;Option 1\u0026#34;, \u0026#34;value\u0026#34;: 1 }, { \u0026#34;text\u0026#34;: \u0026#34;Option 2\u0026#34;, \u0026#34;value\u0026#34;: 2 }, { \u0026#34;text\u0026#34;: \u0026#34;Option 3\u0026#34;, \u0026#34;value\u0026#34;: 3 } ], \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } Output # sample_field: 2 Example 2 # This example shows when value and text are the same\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false options: - Option 1 - Option 2 - Option 3 title: Sample field type: select default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false options = [\u0026#34;Option 1\u0026#34;, \u0026#34;Option 2\u0026#34;, \u0026#34;Option 3\u0026#34;] title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;options\u0026#34;: [ \u0026#34;Option 1\u0026#34;, \u0026#34;Option 2\u0026#34;, \u0026#34;Option 3\u0026#34; ], \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select\u0026#34; } Output # sample_field: 2 Known issues # Default property is not working.\n"}),a.add({id:49,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/',title:"Select from Query",section:"Data Field Types",content:"Select from Query # Quiqr version \u0026gt;= 0.16.0\nThe select-from-query field generates a dropdown selectbox for selecting strings generated by an query string.\nIMG TODO\nProperties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string OR array of strings optional (default: null) default value when the key is not set yet multiple boolean optional (default: false) Enable multiple selection autoSave boolean optional (default: false) Form data is automatically saved after changing the value query_glob string mandatory Glob string to select one or more files query_string string mandatory string to use on one the of the query types option_image_path string optional (default: null) path to images having the same name as the options values e.g. quiqr/model/images option_image_width number optional (default: null) when option_image_path is set image width as well to have a aligned option listing option_image_extension string optional (defaul: null) when option_image_path is set, optionally set extension to e.g. jpg. Then all images should be of type jpg. Example 1 # This example shows a simple query.\nConfiguration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false query_glob: data/system_data.json query_string: .weekday[] title: Sample field type: select-from-query default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false query_glob = \u0026#34;data/system_data.json\u0026#34; query_string = \u0026#34;.weekday[]\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select-from-query\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;query_glob\u0026#34;: \u0026#34;data/system_data.json\u0026#34;, \u0026#34;query_string\u0026#34;: \u0026#34;.weekday[]\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select-from-query\u0026#34; } Output # options:\n Monday Tuesday \u0026hellip; possible frontmatter result\nsample_field: Monday Example 2 # This example shows a simple query together with image visualization.\n Select field\n Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; default: 2 key: sample_field multiple: false option_image_extension: jpg option_image_path: ./quiqr/model/images option_image_width: 200 query_glob: data/system_data.json query_string: .weekday[] title: Sample field type: select-from-query default = 2 key = \u0026#34;sample_field\u0026#34; multiple = false option_image_extension = \u0026#34;jpg\u0026#34; option_image_path = \u0026#34;./quiqr/model/images\u0026#34; option_image_width = 200 query_glob = \u0026#34;data/system_data.json\u0026#34; query_string = \u0026#34;.weekday[]\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;select-from-query\u0026#34; { \u0026#34;default\u0026#34;: 2, \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiple\u0026#34;: false, \u0026#34;option_image_extension\u0026#34;: \u0026#34;jpg\u0026#34;, \u0026#34;option_image_path\u0026#34;: \u0026#34;./quiqr/model/images\u0026#34;, \u0026#34;option_image_width\u0026#34;: 200, \u0026#34;query_glob\u0026#34;: \u0026#34;data/system_data.json\u0026#34;, \u0026#34;query_string\u0026#34;: \u0026#34;.weekday[]\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;select-from-query\u0026#34; } Output # options:\n Monday Tuesday \u0026hellip; possible frontmatter result\nsample_field: Monday Query Language # The Quiqr Query Language is inspired by JQ, but has some additions specially suited for querying the Hugo content. Currently this page contains all information about QQL.\nQQL selects data or metadata from markdown/json/yaml/toml files.\nIn the select-from-quert field, only results in the form of arrays with strings are valid. Other results types wil produce an error message.\nAt time of writing QQL only exists in this document. QQL is in a very early development phase.\nWhen the query_string starts with # the file meta data will be queried. When the query_string starts with . the file content data will be queried.\nMeta data functions # file_name: returns the full filename-component. e.g. blog-about-quiqr.md file_base_name: returns the filename with out extension. e.g. blog-about-quiqr parent_dir: returns the parent directory of the found filename with out extension. e.g. the-post when the filename is a bundle posts/the-post/index.md Populating select option with filenames from a directory. # query_glob: content/resources/*.md query_string: \u0026#34;#file_name[]\u0026#34; Populating select option with titles from front matter from multiple directories. # query_glob: content/**/*.md query_string: .title[] Known issues # WIP\n"}),a.add({id:50,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/',title:"Slider",section:"Data Field Types",content:"Slider # The slider field generates a slider for entering numbers.\n slider\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element step number mandatory Amount between steps min number mandatory Starting value max number mandatory Ending value autoSave boolean optional (default: false) Form data is automatically saved after changing the value default string optional (default: null) default value when the key is not set yet tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field max: 800 min: 0 step: 10 title: Sample field type: slider key = \u0026#34;sample_field\u0026#34; max = 800 min = 0 step = 10 title = \u0026#34;Sample field\u0026#34; type = \u0026#34;slider\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;max\u0026#34;: 800, \u0026#34;min\u0026#34;: 0, \u0026#34;step\u0026#34;: 10, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;slider\u0026#34; } Output # sample_field: 300 "}),a.add({id:51,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/',title:"String",section:"Data Field Types",content:"String # The string field generates a field for entering strings. Multiline string values are allowed by enableing this property.\n Single line string\n Multi line string\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) default value when the key is not set yet multiLine boolean optional (default: false) Enable multi line value Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field multiLine: true title: Sample field type: string key = \u0026#34;sample_field\u0026#34; multiLine = true title = \u0026#34;Sample field\u0026#34; type = \u0026#34;string\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;multiLine\u0026#34;: true, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } Output # sample_field: |-Some multiline string value "}),a.add({id:52,href:'/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/',title:"Uniq",section:"Data Field Types",content:"Uniq # The Uniq field is generates a unique string if the value is not set. When the value exists it behaves like a readonly string. With the generate new token button a the string can be regenerated.\n Uniq\n Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # ./quiqr/model/base. yaml\u0026nbsp; toml\u0026nbsp; json\u0026nbsp; key: sample_field title: Sample field type: uniq key = \u0026#34;sample_field\u0026#34; title = \u0026#34;Sample field\u0026#34; type = \u0026#34;uniq\u0026#34; { \u0026#34;key\u0026#34;: \u0026#34;sample_field\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Sample field\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;uniq\u0026#34; } Output # sample_field: 888c-fc97-bb50 "}),a.add({id:53,href:'/docs/80-release-notes/01-quiqr-desktop/v0.0-older/',title:"Versions before v0.10",section:"Quiqr Desktop",content:"These notes contain some dutch words.\n2022-03-16 Fork from PoppyGo App # Recursive accordion # Hugo Server fixes # detect if hugo server is running or not improve restart of hugo server Import / Export sites # autoimport by clicking link in browser for Windows \u0026amp; Linux (quiqr://) Quiqr Cloud # become a Quiqr member claim a Quiqr domain new authentication flow for publishing sites External Editor # open single item in editor open collection item in editor open entry after creation collections imrove texts in dialogs when publishing improve preview user interface remove markdown preview welcome screen refresh sites after import move to expert: version switcher auto open preview url add \u0026ldquo;previewUrl\u0026rdquo; property to singles back button in collections breadcrum preview icons in page editor improve sidebar menu v0.6.5 # new feature: version switcher v0.6.4 # fix open last site ad startup close app on last window closed (macos) fix delete site action v0.6.3 # more fixes unstable select site task add spectron e2e framework v0.6.2 # fix unstable select site task fix hugo not starting after returning to quiqr v0.6.1 # fix embgit.exe location on Windows show version in help menu on Windows v0.6.0 # Official Windows support Fix Windows installer Fix hugo server running on Windows v0.5.5 # new confkey for collections: sortkey interface in collection listing to sort values v0.5.4 # hide previewwindow when video\u0026rsquo;s are played full screen position previewwindow correctly when app is fullscreen v0.5.3 # soft close mobile preview window in multiple situations where needed reopen mobile preview when softclosed v0.5.2 # specific help links close mobile preview window in multiple situations where needed v0.5.1 # [site-source]/quiqr/home/index.md is displayed on the site dashboard v0.5.0 # fix progress windows not closing bug fix double click pogofile error when quiqr not running first working version of the poppy:// handler v0.4.5 # fix scss bug v0.4.4 # refactored pogopublish, impl.commit -a disable gitlab-ci remove resources add export v0.4.2 [05.06.20 03.03] # Fix unknown host problem ssh/git\n Upgrade to from electron 3.x to 5.x\n Fix strange browserview HTML behaviour\n Stop server is not defined\n v0.4.1 [04.06.20 20:59] # Menu rewrote, disable items when no site selected Export config with private key as .pogopass-file v0.4.0 [04.06.20 03:22] # mobile browser, import/export theme\u0026rsquo;s, double click pogosite files opens the app and starts importing, double click pogotheme files opens the app and starts importing, select site no popup anymore, no need to restart the app after site import, or site deletion, open site directoty in expert-menu, open site config in expert-menu help-menu opens https://docs.quiqr.org/ versie 0.3.5 - Private Beta 3 # cleanup export file (ignore .git and public) versie 0.3.4 - Private Beta 2 # embgit fixes versie 0.3.2 - Private Beta 1 # quiqr publisher custom menu slots interface cleanups progress windows versie 0.3.0 - Birth Poppy Go # new icon new product name remember window size direct start of server after site switch gitlab publisher now uses embgit (https://github.com/mipmip/embgit) versie 0.2.5 # github publisher now uses embgit (https://github.com/mipmip/embgit) versie 0.2.4 # afbeeldingen mogelijk maken in singles standaard hugo versie bij nieuwe site 0.66.0 versie de sukoh 0.2.3 # geen zip extensie probleem met starten betere afhandeling site naam import export methode om te herstarten delete site files meer feedback na importeren meer feedback na exporten pas site key aan versie de sukoh 0.2.2 # code signature git publisher gebaseerd op key meer feedback na publiceren versie van hokus duidelijk weergeven embed gitkeys git betere bestandsstructuur versie de sukoh 0.2.1 # rename to sokuh start met versioning versie de downward spiral 0.1 # Hokus # start readSettings when theme found copy to css else copy default voorkeuren voor kleuren (ik word gek van paars en blauw) config.json niet gemaximaliseerd starten hide extra menu meer stylen als een native programma downward-spiral pims/lingewoud branch met alle pr-merged tekstmenu voor minder belangrijke zaken hoe ziet het op Linux en Windows eruit hugo console nieuw window configuratie start server publish link om lokaal website te openen windows binary windows binary ftp site testen op windows windows binary uploaden github fix image upload editorconfig maak page bundle select site, direct vanuit het menu "})})() \ No newline at end of file diff --git a/en.search.min.c546185bdb63cc9920b24faeceaecc148f87c8a7b2edf2f5582ab0a6a9fa5e3d.js b/en.search.min.89f46f0839312222f6308a8ec9ecb3ca81e5141655c918af9e2df6a9543bec12.js similarity index 89% rename from en.search.min.c546185bdb63cc9920b24faeceaecc148f87c8a7b2edf2f5582ab0a6a9fa5e3d.js rename to en.search.min.89f46f0839312222f6308a8ec9ecb3ca81e5141655c918af9e2df6a9543bec12.js index 8d19cda..3462e1b 100644 --- a/en.search.min.c546185bdb63cc9920b24faeceaecc148f87c8a7b2edf2f5582ab0a6a9fa5e3d.js +++ b/en.search.min.89f46f0839312222f6308a8ec9ecb3ca81e5141655c918af9e2df6a9543bec12.js @@ -1 +1 @@ -'use strict';(function(){const a=document.querySelector('#book-search-input'),b=document.querySelector('#book-search-results');if(!a)return;a.addEventListener('focus',c),a.addEventListener('keyup',d),document.addEventListener('keypress',f);function f(b){if(a===document.activeElement)return;const c=String.fromCharCode(b.charCode);if(!g(c))return;a.focus(),b.preventDefault()}function g(b){const c=a.getAttribute('data-hotkeys')||'';return c.indexOf(b)>=0}function c(){a.removeEventListener('focus',c),a.required=!0,e('/flexsearch.min.js'),e('/en.search-data.min.faf988480eced370b0fb2635f31652abd4f151ecfac519d16edfe2842d87fc74.js',function(){a.required=!1,d()})}function d(){while(b.firstChild)b.removeChild(b.firstChild);if(!a.value)return;const c=window.bookSearchIndex.search(a.value,10);c.forEach(function(a){const c=h('
  • '),d=c.querySelector('a'),e=c.querySelector('small');d.href=a.href,d.textContent=a.title,e.textContent=a.section,b.appendChild(c)})}function e(b,c){const a=document.createElement('script');a.defer=!0,a.async=!1,a.src=b,a.onload=c,document.head.appendChild(a)}function h(b){const a=document.createElement('div');return a.innerHTML=b,a.firstChild}})() \ No newline at end of file +'use strict';(function(){const a=document.querySelector('#book-search-input'),b=document.querySelector('#book-search-results');if(!a)return;a.addEventListener('focus',c),a.addEventListener('keyup',d),document.addEventListener('keypress',f);function f(b){if(a===document.activeElement)return;const c=String.fromCharCode(b.charCode);if(!g(c))return;a.focus(),b.preventDefault()}function g(b){const c=a.getAttribute('data-hotkeys')||'';return c.indexOf(b)>=0}function c(){a.removeEventListener('focus',c),a.required=!0,e('/flexsearch.min.js'),e('/en.search-data.min.dd47696756cb92f59b5778152b5235a58567b9f9f1cd41f2169bb59219690d7b.js',function(){a.required=!1,d()})}function d(){while(b.firstChild)b.removeChild(b.firstChild);if(!a.value)return;const c=window.bookSearchIndex.search(a.value,10);c.forEach(function(a){const c=h('
  • '),d=c.querySelector('a'),e=c.querySelector('small');d.href=a.href,d.textContent=a.title,e.textContent=a.section,b.appendChild(c)})}function e(b,c){const a=document.createElement('script');a.defer=!0,a.async=!1,a.src=b,a.onload=c,document.head.appendChild(a)}function h(b){const a=document.createElement('div');return a.innerHTML=b,a.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 3fa3717..fcc9af7 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,11 @@ The Quiqr Book | The Quiqr Book +This documentation assists developers and managers in having the Quiqr Admin completely tailored to cater the specific model of a Hugo website.">The Quiqr Book | The Quiqr Book
    The Quiqr Book diff --git a/index.xml b/index.xml index 02d5642..614c0a2 100644 --- a/index.xml +++ b/index.xml @@ -33,7 +33,9 @@ Date field Date picker popup Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box default string optional (default: null) Default value when the key is not set yet dateFormat string optional (default: dd/MM/yyyy Dateformat to use.Easy Markdown Editorhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/Easy Markdown Editor # The easymde field generates a lightweight markdown editor for entering markdown enabled strings. Easy Markdown Editor -Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .Empty linehttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/Empty line # The empty-line field is renders 1 or more empty lines in the form. It generates no output. +Properties # property value type optional description key string mandatory Keys are for internal use and must be unique title string optional The title of the element tip string optional (default: null) Text entered here with markdown formatting is displayed as context help in an overlay box Sample # Configuration # .Eisenhouwer Matrixhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/Eisenhouwer # Quiqr version &gt;= 0.18.10 +The eisenhouwer field creates a eisenhouwer matrix canvas which allows editors to prioritize tasks by dragging datapoints. The tasks are stored as datapoints which can optinally contain other meta data. Existing metadata will be kept and can be used in the data point label using the dataSetsDataPointLabelTemplate for configuration. +Please also checkout the latest kitchensink template for eisenhouwer examples. This is quite a complex datatype field.Empty linehttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/Empty line # The empty-line field is renders 1 or more empty lines in the form. It generates no output. empty line between title and description with amount: 2 Properties # property value type optional description key string mandatory Keys are for internal use and must be unique amount integer optional (default: 1) Amount of empty lines to draw Sample # Configuration # .Font Icon Pickerhttps://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Mon, 01 Jan 0001 00:00:00 +0000https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/Quiqr version &gt;= 0.17.5 Font Icon Picker # The fonticon-picker field creates a font iconpicker field populated with Font Awesome Icons. The output is a string with the Font Icon Class Name. diff --git a/sitemap.xml b/sitemap.xml index f07456a..3471dca 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/40-quiqr-project-development/01-create-a-new-field-type/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/01.installation/2023-07-12T13:16:17+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/02-site-conf/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/15-site-and-cms-development/01-user-roles/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/15-site-and-cms-development/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/02.import-site/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/04-examples/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/40-quiqr-project-development/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/80-release-notes/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/2023-01-24T16:08:24+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/2023-02-23T20:57:02+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/99-about-this-book/2022-04-15T19:42:39+02:00https://book.quiqr.org/docs/10-getting-started/10.quick-start-video/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/2024-04-11T18:36:03+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/2023-06-05T22:59:48+02:00https://book.quiqr.org/categories/https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/2024-04-09T12:40:00+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/v0.10.x/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/2023-06-05T22:59:48+02:00https://book.quiqr.org/tags/https://book.quiqr.org/2022-06-30T23:37:29+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/v0.0-older/2024-02-15T16:16:14+01:00 \ No newline at end of file +https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/01-anatomy-of-quiqr-site/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/01-build/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/40-quiqr-project-development/01-create-a-new-field-type/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/02-includes/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/01.installation/2023-07-12T13:16:17+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/03-partials/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/02-site-conf/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/15-site-and-cms-development/01-user-roles/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/15-site-and-cms-development/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/04-examples/02-example-model-configuration/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/10-getting-started/02.import-site/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/02-serve/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/03-hugover/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/04-examples/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/04-menu/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/40-quiqr-project-development/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/80-release-notes/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/05-singles/2023-01-24T16:08:24+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/06-collections/2023-02-23T20:57:02+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/02-model-file-structure/01-root-properties/07-dynamics/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/99-about-this-book/2022-04-15T19:42:39+02:00https://book.quiqr.org/docs/10-getting-started/10.quick-start-video/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/accordion/2024-04-11T18:36:03+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/boolean/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/bundle-image-thumbnail/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/bundle-manager/2023-06-05T22:59:48+02:00https://book.quiqr.org/categories/https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/chips/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/color/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/date/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/2024-12-04T22:53:22+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/easymde/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/eisenhouwer/2024-12-04T22:53:22+01:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/empty-line/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/fonticon-picker/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/font-picker/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/hidden/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/image-select/2024-04-09T12:40:00+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/layout-field-types/info/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/leaf-array/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/markdown/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/nest/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/number/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/pull/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/v0.10.x/2022-06-30T23:38:09+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/readonly/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/container-field-types/section/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/select-from-query/2024-04-16T12:13:58+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/slider/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/string/2023-06-05T22:59:48+02:00https://book.quiqr.org/tags/https://book.quiqr.org/2022-06-30T23:37:29+02:00https://book.quiqr.org/docs/20-quiqr-developer-reference/03-content-model/03-form-fields/data-field-types/uniq/2023-06-05T22:59:48+02:00https://book.quiqr.org/docs/80-release-notes/01-quiqr-desktop/v0.0-older/2024-02-15T16:16:14+01:00 \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 1a03733..cd3069f 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,9 +1,9 @@ -Tags | The Quiqr Book +Tags | The Quiqr Book
    Tags
    +Eisenhouwer Matrix +

    Eisenhouwer +#

    Quiqr version >= 0.18.10

    The eisenhouwer field creates a eisenhouwer matrix canvas which allows +editors to prioritize tasks by dragging datapoints. The tasks are stored as datapoints which can +optinally contain other meta data. Existing metadata will be kept and can be +used in the data point label using the dataSetsDataPointLabelTemplate for +configuration.

    Please also checkout the latest kitchensink template for eisenhouwer examples. This is +quite a complex datatype field.

    Font Picker

    Font Picker

    Properties +#

    propertyvalue typeoptionaldescription
    keystringmandatoryKeys are for internal use and must be unique
    titlestringoptionalThe title of the element
    tipstringoptional (default: null)Text entered here with markdown formatting is displayed as context help in an overlay box
    xScaleTitlestringoptional (default: null)X-Axis Title, (cost)
    yScaleTitlestringoptional (default: null)Y-Axis Title, (impact)
    dataSetsPathstringoptional (default: null)Path in data where datasets are stored
    dataSetsKeyToLabelbooleanoptional (default: false)Source data is a dictionary, convert to array for Chartjs
    dataSetsLabelPathstringoptional (default: null)Path in data where dataset-label are stored
    dataSetsDataPointsPathstringoptional (default: null)Path in data where datapoints are stored
    dataSetsDataPointsKeyToItembooleanoptional (default: false)Source data is a dictionary, convert to array for Chartjs
    dataSetsDataPointPosXPathstringmandatoryPath in datapoints where x-position is stored
    dataSetsDataPointPosYPathstringmandatoryPath in datapoints where y-position is stored
    dataSetsDataPointLabelTemplatestringoptional (default: x=${point.x}, y=${point.y})Template for creating a datapoint label

    Sample +#

    Configuration +#

    ./quiqr/model/base.
      +  + 
    dataSetsDataPointLabelTemplate: ${point.task}
    +dataSetsDataPointPosXPath: .x
    +dataSetsDataPointPosYPath: .y
    +dataSetsDataPointsKeyToItem: false
    +dataSetsDataPointsPath: .data
    +dataSetsKeyToLabel: false
    +dataSetsLabelPath: .label
    +dataSetsPath: .datasets
    +key: garden_tasks
    +type: eisenhouwer
    +xScaleTitle: More Sweat
    +yScaleTitle: Happy Wild Life
    +
    dataSetsDataPointLabelTemplate = "${point.task}"
    +dataSetsDataPointPosXPath = ".x"
    +dataSetsDataPointPosYPath = ".y"
    +dataSetsDataPointsKeyToItem = false
    +dataSetsDataPointsPath = ".data"
    +dataSetsKeyToLabel = false
    +dataSetsLabelPath = ".label"
    +dataSetsPath = ".datasets"
    +key = "garden_tasks"
    +type = "eisenhouwer"
    +xScaleTitle = "More Sweat"
    +yScaleTitle = "Happy Wild Life"
    +
    {
    +   "dataSetsDataPointLabelTemplate": "${point.task}",
    +   "dataSetsDataPointPosXPath": ".x",
    +   "dataSetsDataPointPosYPath": ".y",
    +   "dataSetsDataPointsKeyToItem": false,
    +   "dataSetsDataPointsPath": ".data",
    +   "dataSetsKeyToLabel": false,
    +   "dataSetsLabelPath": ".label",
    +   "dataSetsPath": ".datasets",
    +   "key": "garden_tasks",
    +   "type": "eisenhouwer",
    +   "xScaleTitle": "More Sweat",
    +   "yScaleTitle": "Happy Wild Life"
    +}
    +

    Output +#

    garden_tasks:
    +  datasets:
    +    - label: Garden Tasks
    +      data:
    +        - x: 12.0
    +          'y': 17.6
    +          task: Paint the barn
    +        - x: 59.3
    +          'y': 75.5
    +          task: Grow strawberries
    +        - x: 11.2
    +          'y': 79.9
    +          task: Dig a pond
    +

    Sample 2 +#

    Configuration +#

    ./quiqr/model/base.
      +  + 
    dataSetsDataPointLabelTemplate: |-
    +  ${point.RiskCode}
    +  ${point.QuestionTitle}  
    +dataSetsDataPointPosXPath: .REPORT.importance_number_of_100
    +dataSetsDataPointPosYPath: .REPORT.cost_number_of_100
    +dataSetsDataPointsKeyToItem: true
    +dataSetsKeyToLabel: true
    +key: well_architected_improvements
    +labelDelegate: DELEGATE
    +labelDelete: DELETE
    +labelDoNow: DO NOW
    +labelToPlan: TO PLAN
    +type: eisenhouwer
    +xScaleTitle: Cost of Mitigation
    +yScaleTitle: Risk Importance
    +
    dataSetsDataPointLabelTemplate = "${point.RiskCode}\n${point.QuestionTitle}"
    +dataSetsDataPointPosXPath = ".REPORT.importance_number_of_100"
    +dataSetsDataPointPosYPath = ".REPORT.cost_number_of_100"
    +dataSetsDataPointsKeyToItem = true
    +dataSetsKeyToLabel = true
    +key = "well_architected_improvements"
    +labelDelegate = "DELEGATE"
    +labelDelete = "DELETE"
    +labelDoNow = "DO NOW"
    +labelToPlan = "TO PLAN"
    +type = "eisenhouwer"
    +xScaleTitle = "Cost of Mitigation"
    +yScaleTitle = "Risk Importance"
    +
    {
    +   "dataSetsDataPointLabelTemplate": "${point.RiskCode}\n${point.QuestionTitle}",
    +   "dataSetsDataPointPosXPath": ".REPORT.importance_number_of_100",
    +   "dataSetsDataPointPosYPath": ".REPORT.cost_number_of_100",
    +   "dataSetsDataPointsKeyToItem": true,
    +   "dataSetsKeyToLabel": true,
    +   "key": "well_architected_improvements",
    +   "labelDelegate": "DELEGATE",
    +   "labelDelete": "DELETE",
    +   "labelDoNow": "DO NOW",
    +   "labelToPlan": "TO PLAN",
    +   "type": "eisenhouwer",
    +   "xScaleTitle": "Cost of Mitigation",
    +   "yScaleTitle": "Risk Importance"
    +}
    +

    Output +#

    well_architected_improvements:
    +  costOptimization:
    +    cloud-financial-management:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.cloud-financial-management.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: cloud-financial-management
    +      QuestionTitle: How do you implement cloud financial management?
    +      REPORT:
    +        cost_number_of_100: 76.74060382008626
    +        importance_number_of_100: 23.400850580624386
    +        short-med-long: short
    +        show: true
    +      Risk: MEDIUM
    +      RiskCode: COST01
    +      _label: cloud-financial-management
    +      x: 23.400850580624386
    +      'y': 76.74060382008626
    +    evaluate-cost-effort:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.evaluate-cost-effort.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: evaluate-cost-effort
    +      QuestionTitle: How do you evaluate the cost of effort?
    +      REPORT:
    +        cost_number_of_100: 57.779886148007584
    +        importance_number_of_100: 25.392970613283993
    +        short-med-long: long
    +        show: true
    +      Risk: MEDIUM
    +      RiskCode: COST11
    +      _label: evaluate-cost-effort
    +      x: 25.392970613283993
    +      'y': 57.779886148007584
    +    govern-usage:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.govern-usage.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: govern-usage
    +      QuestionTitle: How do you govern usage?
    +      REPORT:
    +        cost_number_of_100: 11.606578115117017
    +        importance_number_of_100: 32.231378439747424
    +        short-med-long: short
    +        show: true
    +      Risk: HIGH
    +      RiskCode: COST02
    +      _label: govern-usage
    +      x: 32.231378439747424
    +      'y': 11.606578115117017
    +    manage-demand-resources:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.manage-demand-resources.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: manage-demand-resources
    +      QuestionTitle: How do you manage demand, and supply resources?
    +      REPORT:
    +        cost_number_of_100: 89.52556993222429
    +        importance_number_of_100: 9.406125135072086
    +        short-med-long: long
    +        show: true
    +      Risk: HIGH
    +      RiskCode: COST09
    +      _label: manage-demand-resources
    +      x: 9.406125135072086
    +      'y': 89.52556993222429
    +    monitor-usage:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.monitor-usage.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: monitor-usage
    +      QuestionTitle: How do you monitor your cost and usage?
    +      REPORT:
    +        cost_number_of_100: 84.97786211258696
    +        importance_number_of_100: 58.14894410204381
    +        short-med-long: short
    +        show: true
    +      Risk: HIGH
    +      RiskCode: COST03
    +      _label: monitor-usage
    +      x: 58.14894410204381
    +      'y': 84.97786211258696
    +    type-size-number-resources:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.type-size-number-resources.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: costOptimization
    +      QuestionId: type-size-number-resources
    +      QuestionTitle: >-
    +        How do you meet cost targets when you select resource type, size and
    +        number?        
    +      REPORT:
    +        cost_number_of_100: 20.517560073937158
    +        importance_number_of_100: 5.3496829769409855
    +        short-med-long: long
    +        show: true
    +      Risk: MEDIUM
    +      RiskCode: COST06
    +      _label: type-size-number-resources
    +      x: 5.3496829769409855
    +      'y': 20.517560073937158
    +  operationalExcellence:
    +    dev-integ:
    +      ImprovementPlanUrl: >-
    +                https://wa.aws.amazon.com/wellarchitected/2024-06-27T08-00-00/TypeII/en/wellarchitected/wellarchitected.dev-integ.improvement-plan.en.html
    +      ImprovementPlans: []
    +      PillarId: operationalExcellence
    +      QuestionId: dev-integ
    +      QuestionTitle: >-
    +        How do you reduce defects, ease remediation, and improve flow into
    +        production?        
    +      REPORT:
    +        cost_number_of_100: 69.80899568699938
    +        importance_number_of_100: 9.473732504374272
    +        short-med-long: short
    +        show: true
    +      Risk: MEDIUM
    +      RiskCode: OPS05
    +      _label: dev-integ
    +      x: 9.473732504374272
    +      'y': 69.80899568699938
    +