diff --git a/docs/config-schema/README.md b/docs/config-schema/README.md new file mode 100644 index 00000000..6e16ab8d --- /dev/null +++ b/docs/config-schema/README.md @@ -0,0 +1,35 @@ +# README + +## Top-level Schemas + +* [Dashy Config Schema](./dashy-config.md) – `https://example.com/schemas/abstract` + +## Other Schemas + +### Objects + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-pageinfo.md) – `https://example.com/schemas/abstract#/properties/pageInfo` + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-pageinfo-properties-navlinks-items.md) – `https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items` + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-appconfig.md "Application configuration") – `https://example.com/schemas/abstract#/properties/appConfig` + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-sections-items.md) – `https://example.com/schemas/abstract#/properties/sections/items` + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-sections-items-properties-displaydata.md "Optional meta data for customizing a section") – `https://example.com/schemas/abstract#/properties/sections/items/properties/displayData` + +* [Untitled object in Dashy Config Schema](./dashy-config-properties-sections-items-properties-items-items.md) – `https://example.com/schemas/abstract#/properties/sections/items/properties/items/items` + +### Arrays + +* [Untitled array in Dashy Config Schema](./dashy-config-properties-pageinfo-properties-navlinks.md "Quick access links, displayed in header") – `https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks` + +* [Untitled array in Dashy Config Schema](./dashy-config-properties-appconfig-properties-cssthemes.md "Theme names to be added to the dropdown") – `https://example.com/schemas/abstract#/properties/appConfig/properties/cssThemes` + +* [Untitled array in Dashy Config Schema](./dashy-config-properties-sections.md "Array of sections, containing items") – `https://example.com/schemas/abstract#/properties/sections` + +* [Untitled array in Dashy Config Schema](./dashy-config-properties-sections-items-properties-items.md "Array of items to display with a section") – `https://example.com/schemas/abstract#/properties/sections/items/properties/items` + +## Version Note + +The schemas linked above follow the JSON Schema Spec version: `http://json-schema.org/draft-06/schema#` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-backgroundimg.md b/docs/config-schema/dashy-config-properties-appconfig-properties-backgroundimg.md new file mode 100644 index 00000000..3a377562 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-backgroundimg.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/backgroundImg +``` + +A URL to an image asset to be displayed as background + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## backgroundImg Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes-items.md b/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes-items.md new file mode 100644 index 00000000..15e80729 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes-items.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/cssThemes/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes.md b/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes.md new file mode 100644 index 00000000..f09a4390 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-cssthemes.md @@ -0,0 +1,15 @@ +# Untitled array in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/cssThemes +``` + +Theme names to be added to the dropdown + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## cssThemes Type + +`string[]` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-customcss.md b/docs/config-schema/dashy-config-properties-appconfig-properties-customcss.md new file mode 100644 index 00000000..a8833b10 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-customcss.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/customCss +``` + +Any custom CSS overides, must be minified + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## customCss Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-enablefontawesome.md b/docs/config-schema/dashy-config-properties-appconfig-properties-enablefontawesome.md new file mode 100644 index 00000000..706468b4 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-enablefontawesome.md @@ -0,0 +1,23 @@ +# Untitled boolean in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/enableFontAwesome +``` + +Should load font-awesome assets + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## enableFontAwesome Type + +`boolean` + +## enableFontAwesome Default Value + +The default value is: + +```json +true +``` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet-items.md b/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet-items.md new file mode 100644 index 00000000..43937852 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet-items.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/externalStyleSheet/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet.md b/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet.md new file mode 100644 index 00000000..583aaf06 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-externalstylesheet.md @@ -0,0 +1,15 @@ +# Untitled undefined type in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/externalStyleSheet +``` + +URL or URLs of external stylesheets to add to dropdown/ load + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## externalStyleSheet Type + +any of the folllowing: `string` or `array` ([Details](dashy-config-properties-appconfig-properties-externalstylesheet.md)) diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-fontawesomekey.md b/docs/config-schema/dashy-config-properties-appconfig-properties-fontawesomekey.md new file mode 100644 index 00000000..dfb982a0 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-fontawesomekey.md @@ -0,0 +1,25 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/fontAwesomeKey +``` + +API key for font-awesome + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## fontAwesomeKey Type + +`string` + +## fontAwesomeKey Constraints + +**pattern**: the string must match the following regular expression: + +```regexp +^[a-z0-9]{10}$ +``` + +[try pattern](https://regexr.com/?expression=%5E%5Ba-z0-9%5D%7B10%7D%24 "try regular expression with regexr.com") diff --git a/docs/config-schema/dashy-config-properties-appconfig-properties-theme.md b/docs/config-schema/dashy-config-properties-appconfig-properties-theme.md new file mode 100644 index 00000000..bc090a99 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig-properties-theme.md @@ -0,0 +1,23 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig/properties/theme +``` + +A theme to be applied by default on first load + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## theme Type + +`string` + +## theme Default Value + +The default value is: + +```json +"Callisto" +``` diff --git a/docs/config-schema/dashy-config-properties-appconfig.md b/docs/config-schema/dashy-config-properties-appconfig.md new file mode 100644 index 00000000..af63de7c --- /dev/null +++ b/docs/config-schema/dashy-config-properties-appconfig.md @@ -0,0 +1,179 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/appConfig +``` + +Application configuration + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## appConfig Type + +`object` ([Details](dashy-config-properties-appconfig.md)) + +# appConfig Properties + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------------------- | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [backgroundImg](#backgroundimg) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-backgroundimg.md "https://example.com/schemas/abstract#/properties/appConfig/properties/backgroundImg") | +| [theme](#theme) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-theme.md "https://example.com/schemas/abstract#/properties/appConfig/properties/theme") | +| [enableFontAwesome](#enablefontawesome) | `boolean` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-enablefontawesome.md "https://example.com/schemas/abstract#/properties/appConfig/properties/enableFontAwesome") | +| [fontAwesomeKey](#fontawesomekey) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-fontawesomekey.md "https://example.com/schemas/abstract#/properties/appConfig/properties/fontAwesomeKey") | +| [cssThemes](#cssthemes) | `array` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-cssthemes.md "https://example.com/schemas/abstract#/properties/appConfig/properties/cssThemes") | +| [externalStyleSheet](#externalstylesheet) | Multiple | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-externalstylesheet.md "https://example.com/schemas/abstract#/properties/appConfig/properties/externalStyleSheet") | +| [customCss](#customcss) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig-properties-customcss.md "https://example.com/schemas/abstract#/properties/appConfig/properties/customCss") | + +## backgroundImg + +A URL to an image asset to be displayed as background + +`backgroundImg` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-backgroundimg.md "https://example.com/schemas/abstract#/properties/appConfig/properties/backgroundImg") + +### backgroundImg Type + +`string` + +## theme + +A theme to be applied by default on first load + +`theme` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-theme.md "https://example.com/schemas/abstract#/properties/appConfig/properties/theme") + +### theme Type + +`string` + +### theme Default Value + +The default value is: + +```json +"Callisto" +``` + +## enableFontAwesome + +Should load font-awesome assets + +`enableFontAwesome` + +* is optional + +* Type: `boolean` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-enablefontawesome.md "https://example.com/schemas/abstract#/properties/appConfig/properties/enableFontAwesome") + +### enableFontAwesome Type + +`boolean` + +### enableFontAwesome Default Value + +The default value is: + +```json +true +``` + +## fontAwesomeKey + +API key for font-awesome + +`fontAwesomeKey` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-fontawesomekey.md "https://example.com/schemas/abstract#/properties/appConfig/properties/fontAwesomeKey") + +### fontAwesomeKey Type + +`string` + +### fontAwesomeKey Constraints + +**pattern**: the string must match the following regular expression: + +```regexp +^[a-z0-9]{10}$ +``` + +[try pattern](https://regexr.com/?expression=%5E%5Ba-z0-9%5D%7B10%7D%24 "try regular expression with regexr.com") + +## cssThemes + +Theme names to be added to the dropdown + +`cssThemes` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-cssthemes.md "https://example.com/schemas/abstract#/properties/appConfig/properties/cssThemes") + +### cssThemes Type + +`string[]` + +## externalStyleSheet + +URL or URLs of external stylesheets to add to dropdown/ load + +`externalStyleSheet` + +* is optional + +* Type: any of the folllowing: `string` or `array` ([Details](dashy-config-properties-appconfig-properties-externalstylesheet.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-externalstylesheet.md "https://example.com/schemas/abstract#/properties/appConfig/properties/externalStyleSheet") + +### externalStyleSheet Type + +any of the folllowing: `string` or `array` ([Details](dashy-config-properties-appconfig-properties-externalstylesheet.md)) + +## customCss + +Any custom CSS overides, must be minified + +`customCss` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig-properties-customcss.md "https://example.com/schemas/abstract#/properties/appConfig/properties/customCss") + +### customCss Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-description.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-description.md new file mode 100644 index 00000000..b2636bdc --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-description.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/description +``` + +Sub-title, displayed in header + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## description Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-footertext.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-footertext.md new file mode 100644 index 00000000..9d75c2e8 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-footertext.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/footerText +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## footerText Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-path.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-path.md new file mode 100644 index 00000000..79fc5bf7 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-path.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/path +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## path Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-title.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-title.md new file mode 100644 index 00000000..6c891714 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items-properties-title.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/title +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## title Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items.md new file mode 100644 index 00000000..48a7abb4 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks-items.md @@ -0,0 +1,58 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`object` ([Details](dashy-config-properties-pageinfo-properties-navlinks-items.md)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [title](#title) | `string` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks-items-properties-title.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/title") | +| [path](#path) | `string` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks-items-properties-path.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/path") | + +## title + + + +`title` + +* is required + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks-items-properties-title.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/title") + +### title Type + +`string` + +## path + + + +`path` + +* is required + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks-items-properties-path.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks/items/properties/path") + +### path Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks.md new file mode 100644 index 00000000..2e4a9768 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-navlinks.md @@ -0,0 +1,19 @@ +# Untitled array in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks +``` + +Quick access links, displayed in header + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## navLinks Type + +`object[]` ([Details](dashy-config-properties-pageinfo-properties-navlinks-items.md)) + +## navLinks Constraints + +**maximum number of items**: the maximum number of items for this array is: `6` diff --git a/docs/config-schema/dashy-config-properties-pageinfo-properties-title.md b/docs/config-schema/dashy-config-properties-pageinfo-properties-title.md new file mode 100644 index 00000000..25f1ad49 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo-properties-title.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo/properties/title +``` + +Title and heading for the app + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## title Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-pageinfo.md b/docs/config-schema/dashy-config-properties-pageinfo.md new file mode 100644 index 00000000..d9494696 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-pageinfo.md @@ -0,0 +1,100 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/pageInfo +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## pageInfo Type + +`object` ([Details](dashy-config-properties-pageinfo.md)) + +# pageInfo Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [title](#title) | `string` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-title.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/title") | +| [description](#description) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-description.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/description") | +| [navLinks](#navlinks) | `array` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks") | +| [footerText](#footertext) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo-properties-footertext.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/footerText") | + +## title + +Title and heading for the app + +`title` + +* is required + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-title.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/title") + +### title Type + +`string` + +## description + +Sub-title, displayed in header + +`description` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-description.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/description") + +### description Type + +`string` + +## navLinks + +Quick access links, displayed in header + +`navLinks` + +* is optional + +* Type: `object[]` ([Details](dashy-config-properties-pageinfo-properties-navlinks-items.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-navlinks.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/navLinks") + +### navLinks Type + +`object[]` ([Details](dashy-config-properties-pageinfo-properties-navlinks-items.md)) + +### navLinks Constraints + +**maximum number of items**: the maximum number of items for this array is: `6` + +## footerText + + + +`footerText` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo-properties-footertext.md "https://example.com/schemas/abstract#/properties/pageInfo/properties/footerText") + +### footerText Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-collapsed.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-collapsed.md new file mode 100644 index 00000000..1bed4095 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-collapsed.md @@ -0,0 +1,15 @@ +# Untitled boolean in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/collapsed +``` + +If true, section needs to be clicked to open + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## collapsed Type + +`boolean` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-color.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-color.md new file mode 100644 index 00000000..32035b0b --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-color.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/color +``` + +Hex code, or HTML color for section fill + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## color Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-cols.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-cols.md new file mode 100644 index 00000000..ea688ea1 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-cols.md @@ -0,0 +1,29 @@ +# Untitled number in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/cols +``` + +The amount of space that the section spans horizontally + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## cols Type + +`number` + +## cols Constraints + +**maximum**: the value of this number must smaller than or equal to: `5` + +**minimum**: the value of this number must greater than or equal to: `1` + +## cols Default Value + +The default value is: + +```json +1 +``` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-customstyles.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-customstyles.md new file mode 100644 index 00000000..7e5ece63 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-customstyles.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/customStyles +``` + +CSS overides for section container + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## customStyles Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcountx.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcountx.md new file mode 100644 index 00000000..9cb308ce --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcountx.md @@ -0,0 +1,21 @@ +# Untitled number in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountX +``` + +Number of items per column + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## itemCountX Type + +`number` + +## itemCountX Constraints + +**maximum**: the value of this number must smaller than or equal to: `12` + +**minimum**: the value of this number must greater than or equal to: `1` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcounty.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcounty.md new file mode 100644 index 00000000..995ba7c1 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemcounty.md @@ -0,0 +1,21 @@ +# Untitled number in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountY +``` + +Number of items per row + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## itemCountY Type + +`number` + +## itemCountY Constraints + +**maximum**: the value of this number must smaller than or equal to: `12` + +**minimum**: the value of this number must greater than or equal to: `1` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemsize.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemsize.md new file mode 100644 index 00000000..a76d28dc --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-itemsize.md @@ -0,0 +1,33 @@ +# Untitled undefined type in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemSize +``` + +Size of items within the section + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## itemSize Type + +unknown + +## itemSize Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :--------- | :---------- | +| `"small"` | | +| `"medium"` | | +| `"large"` | | + +## itemSize Default Value + +The default value is: + +```json +"medium" +``` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-layout.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-layout.md new file mode 100644 index 00000000..edd259a1 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-layout.md @@ -0,0 +1,32 @@ +# Untitled undefined type in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/layout +``` + +If set to grid, items have uniform width, and itemCount can be set + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## layout Type + +unknown + +## layout Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------- | :---------- | +| `"grid"` | | +| `"auto"` | | + +## layout Default Value + +The default value is: + +```json +"auto" +``` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-rows.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-rows.md new file mode 100644 index 00000000..a4ae3938 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata-properties-rows.md @@ -0,0 +1,29 @@ +# Untitled number in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/rows +``` + +The amount of space that the section spans vertically + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## rows Type + +`number` + +## rows Constraints + +**maximum**: the value of this number must smaller than or equal to: `5` + +**minimum**: the value of this number must greater than or equal to: `1` + +## rows Default Value + +The default value is: + +```json +1 +``` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata.md b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata.md new file mode 100644 index 00000000..9a671c19 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-displaydata.md @@ -0,0 +1,266 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/displayData +``` + +Optional meta data for customizing a section + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## displayData Type + +`object` ([Details](dashy-config-properties-sections-items-properties-displaydata.md)) + +# displayData Properties + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------- | :------------ | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [collapsed](#collapsed) | `boolean` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-collapsed.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/collapsed") | +| [color](#color) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-color.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/color") | +| [customStyles](#customstyles) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-customstyles.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/customStyles") | +| [itemSize](#itemsize) | Not specified | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemsize.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemSize") | +| [rows](#rows) | `number` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-rows.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/rows") | +| [cols](#cols) | `number` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-cols.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/cols") | +| [layout](#layout) | Not specified | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-layout.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/layout") | +| [itemCountX](#itemcountx) | `number` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemcountx.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountX") | +| [itemCountY](#itemcounty) | `number` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemcounty.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountY") | + +## collapsed + +If true, section needs to be clicked to open + +`collapsed` + +* is optional + +* Type: `boolean` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-collapsed.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/collapsed") + +### collapsed Type + +`boolean` + +## color + +Hex code, or HTML color for section fill + +`color` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-color.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/color") + +### color Type + +`string` + +## customStyles + +CSS overides for section container + +`customStyles` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-customstyles.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/customStyles") + +### customStyles Type + +`string` + +## itemSize + +Size of items within the section + +`itemSize` + +* is optional + +* Type: unknown + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemsize.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemSize") + +### itemSize Type + +unknown + +### itemSize Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :--------- | :---------- | +| `"small"` | | +| `"medium"` | | +| `"large"` | | + +### itemSize Default Value + +The default value is: + +```json +"medium" +``` + +## rows + +The amount of space that the section spans vertically + +`rows` + +* is optional + +* Type: `number` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-rows.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/rows") + +### rows Type + +`number` + +### rows Constraints + +**maximum**: the value of this number must smaller than or equal to: `5` + +**minimum**: the value of this number must greater than or equal to: `1` + +### rows Default Value + +The default value is: + +```json +1 +``` + +## cols + +The amount of space that the section spans horizontally + +`cols` + +* is optional + +* Type: `number` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-cols.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/cols") + +### cols Type + +`number` + +### cols Constraints + +**maximum**: the value of this number must smaller than or equal to: `5` + +**minimum**: the value of this number must greater than or equal to: `1` + +### cols Default Value + +The default value is: + +```json +1 +``` + +## layout + +If set to grid, items have uniform width, and itemCount can be set + +`layout` + +* is optional + +* Type: unknown + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-layout.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/layout") + +### layout Type + +unknown + +### layout Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------- | :---------- | +| `"grid"` | | +| `"auto"` | | + +### layout Default Value + +The default value is: + +```json +"auto" +``` + +## itemCountX + +Number of items per column + +`itemCountX` + +* is optional + +* Type: `number` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemcountx.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountX") + +### itemCountX Type + +`number` + +### itemCountX Constraints + +**maximum**: the value of this number must smaller than or equal to: `12` + +**minimum**: the value of this number must greater than or equal to: `1` + +## itemCountY + +Number of items per row + +`itemCountY` + +* is optional + +* Type: `number` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata-properties-itemcounty.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData/properties/itemCountY") + +### itemCountY Type + +`number` + +### itemCountY Constraints + +**maximum**: the value of this number must smaller than or equal to: `12` + +**minimum**: the value of this number must greater than or equal to: `1` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-icon.md b/docs/config-schema/dashy-config-properties-sections-items-properties-icon.md new file mode 100644 index 00000000..d148087e --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-icon.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/icon +``` + +Icon will be displayed next to title + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## icon Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-color.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-color.md new file mode 100644 index 00000000..fb6ef980 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-color.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/color +``` + +A custom fill color of the item + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## color Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-description.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-description.md new file mode 100644 index 00000000..38bbcc65 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-description.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/description +``` + +Short description, shown on hover or in a tooltip + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## description Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-icon.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-icon.md new file mode 100644 index 00000000..47297239 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-icon.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/icon +``` + +An icon, either as a font-awesome identifier, local or remote URL, or auto-fetched favicon + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## icon Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-provider.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-provider.md new file mode 100644 index 00000000..f6f1ea1c --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-provider.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/provider +``` + +Provider name, e.g. Microsoft + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## provider Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-target.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-target.md new file mode 100644 index 00000000..9374264e --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-target.md @@ -0,0 +1,33 @@ +# Untitled undefined type in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/target +``` + +Opening method, when item is clicked + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## target Type + +unknown + +## target Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------- | :---------- | +| `"newtab"` | | +| `"sametab"` | | +| `"iframe"` | | + +## target Default Value + +The default value is: + +```json +"newtab" +``` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-title.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-title.md new file mode 100644 index 00000000..b9553290 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-title.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/title +``` + +Text shown on the item + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## title Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-url.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-url.md new file mode 100644 index 00000000..b3c69915 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items-properties-url.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/url +``` + +The destination to navigate to when item is clicked + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## url Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items-items.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items.md new file mode 100644 index 00000000..b51f451d --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items-items.md @@ -0,0 +1,171 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`object` ([Details](dashy-config-properties-sections-items-properties-items-items.md)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------- | :------------ | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [title](#title) | `string` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-title.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/title") | +| [description](#description) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-description.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/description") | +| [icon](#icon) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-icon.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/icon") | +| [url](#url) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-url.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/url") | +| [target](#target) | Not specified | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-target.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/target") | +| [color](#color) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-color.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/color") | +| [provider](#provider) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-provider.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/provider") | + +## title + +Text shown on the item + +`title` + +* is required + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-title.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/title") + +### title Type + +`string` + +## description + +Short description, shown on hover or in a tooltip + +`description` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-description.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/description") + +### description Type + +`string` + +## icon + +An icon, either as a font-awesome identifier, local or remote URL, or auto-fetched favicon + +`icon` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-icon.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/icon") + +### icon Type + +`string` + +## url + +The destination to navigate to when item is clicked + +`url` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-url.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/url") + +### url Type + +`string` + +## target + +Opening method, when item is clicked + +`target` + +* is optional + +* Type: unknown + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-target.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/target") + +### target Type + +unknown + +### target Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------- | :---------- | +| `"newtab"` | | +| `"sametab"` | | +| `"iframe"` | | + +### target Default Value + +The default value is: + +```json +"newtab" +``` + +## color + +A custom fill color of the item + +`color` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-color.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/color") + +### color Type + +`string` + +## provider + +Provider name, e.g. Microsoft + +`provider` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items-items-properties-provider.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items/items/properties/provider") + +### provider Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-items.md b/docs/config-schema/dashy-config-properties-sections-items-properties-items.md new file mode 100644 index 00000000..d74bbcde --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-items.md @@ -0,0 +1,15 @@ +# Untitled array in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/items +``` + +Array of items to display with a section + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`object[]` ([Details](dashy-config-properties-sections-items-properties-items-items.md)) diff --git a/docs/config-schema/dashy-config-properties-sections-items-properties-name.md b/docs/config-schema/dashy-config-properties-sections-items-properties-name.md new file mode 100644 index 00000000..735db51a --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items-properties-name.md @@ -0,0 +1,15 @@ +# Untitled string in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items/properties/name +``` + +Title/ heading for a section + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## name Type + +`string` diff --git a/docs/config-schema/dashy-config-properties-sections-items.md b/docs/config-schema/dashy-config-properties-sections-items.md new file mode 100644 index 00000000..81f56829 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections-items.md @@ -0,0 +1,96 @@ +# Untitled object in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## items Type + +`object` ([Details](dashy-config-properties-sections-items.md)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [name](#name) | `string` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-name.md "https://example.com/schemas/abstract#/properties/sections/items/properties/name") | +| [icon](#icon) | `string` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-icon.md "https://example.com/schemas/abstract#/properties/sections/items/properties/icon") | +| [displayData](#displaydata) | `object` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData") | +| [items](#items) | `array` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-sections-items-properties-items.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items") | + +## name + +Title/ heading for a section + +`name` + +* is required + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-name.md "https://example.com/schemas/abstract#/properties/sections/items/properties/name") + +### name Type + +`string` + +## icon + +Icon will be displayed next to title + +`icon` + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-icon.md "https://example.com/schemas/abstract#/properties/sections/items/properties/icon") + +### icon Type + +`string` + +## displayData + +Optional meta data for customizing a section + +`displayData` + +* is optional + +* Type: `object` ([Details](dashy-config-properties-sections-items-properties-displaydata.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-displaydata.md "https://example.com/schemas/abstract#/properties/sections/items/properties/displayData") + +### displayData Type + +`object` ([Details](dashy-config-properties-sections-items-properties-displaydata.md)) + +## items + +Array of items to display with a section + +`items` + +* is required + +* Type: `object[]` ([Details](dashy-config-properties-sections-items-properties-items-items.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections-items-properties-items.md "https://example.com/schemas/abstract#/properties/sections/items/properties/items") + +### items Type + +`object[]` ([Details](dashy-config-properties-sections-items-properties-items-items.md)) diff --git a/docs/config-schema/dashy-config-properties-sections.md b/docs/config-schema/dashy-config-properties-sections.md new file mode 100644 index 00000000..54262fd9 --- /dev/null +++ b/docs/config-schema/dashy-config-properties-sections.md @@ -0,0 +1,15 @@ +# Untitled array in Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract#/properties/sections +``` + +Array of sections, containing items + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [dashy-config.schema.json*](../../out/dashy-config.schema.json "open original schema") | + +## sections Type + +`object[]` ([Details](dashy-config-properties-sections-items.md)) diff --git a/docs/config-schema/dashy-config.md b/docs/config-schema/dashy-config.md new file mode 100644 index 00000000..ea600c88 --- /dev/null +++ b/docs/config-schema/dashy-config.md @@ -0,0 +1,77 @@ +# Dashy Config Schema Schema + +```txt +https://example.com/schemas/abstract +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------ | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [dashy-config.schema.json](../../out/dashy-config.schema.json "open original schema") | + +## Dashy Config Schema Type + +`object` ([Dashy Config Schema](dashy-config.md)) + +# Dashy Config Schema Properties + +| Property | Type | Required | Nullable | Defined by | +| :---------------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------- | +| [pageInfo](#pageinfo) | `object` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-pageinfo.md "https://example.com/schemas/abstract#/properties/pageInfo") | +| [appConfig](#appconfig) | `object` | Optional | cannot be null | [Dashy Config Schema](dashy-config-properties-appconfig.md "https://example.com/schemas/abstract#/properties/appConfig") | +| [sections](#sections) | `array` | Required | cannot be null | [Dashy Config Schema](dashy-config-properties-sections.md "https://example.com/schemas/abstract#/properties/sections") | + +## pageInfo + + + +`pageInfo` + +* is optional + +* Type: `object` ([Details](dashy-config-properties-pageinfo.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-pageinfo.md "https://example.com/schemas/abstract#/properties/pageInfo") + +### pageInfo Type + +`object` ([Details](dashy-config-properties-pageinfo.md)) + +## appConfig + +Application configuration + +`appConfig` + +* is optional + +* Type: `object` ([Details](dashy-config-properties-appconfig.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-appconfig.md "https://example.com/schemas/abstract#/properties/appConfig") + +### appConfig Type + +`object` ([Details](dashy-config-properties-appconfig.md)) + +## sections + +Array of sections, containing items + +`sections` + +* is required + +* Type: `object[]` ([Details](dashy-config-properties-sections-items.md)) + +* cannot be null + +* defined in: [Dashy Config Schema](dashy-config-properties-sections.md "https://example.com/schemas/abstract#/properties/sections") + +### sections Type + +`object[]` ([Details](dashy-config-properties-sections-items.md)) diff --git a/docs/configuring.md b/docs/configuring.md new file mode 100644 index 00000000..fbfa0b6b --- /dev/null +++ b/docs/configuring.md @@ -0,0 +1,126 @@ +## Configuring + +All app configuration is specified in [`/public/conf.yml`](https://github.com/Lissy93/dashy/blob/master/public/conf.yml) which is in [YAML Format](https://yaml.org/) format. + +If you're new to YAML, it's pretty straight-forward. The format is exactly the same as that of JSON, but instead of using curley braces, structure is denoted using whitespace. This [quick guide](https://linuxhandbook.com/yaml-basics/) should get you up to speed in a few minutes, for more advanced topics take a look at this [Wikipedia article](https://en.wikipedia.org/wiki/YAML) and for some practicle examples, the [Azure pipelines schema](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema) may be useful. + +You may find it helpful to look at some sample config files to get you started, a collection of which can be found [here](https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10). + +There's a couple of things to remember, before getting started: +- After modifying your config, you will need to run `yarn build` to recompile the application +- You can check that your config file fits the schema, by running `yarn validate-config` +- Any changes made locally through the UI need to be exported into this file, in order for them to persist across devices + +All fields are optional, unless otherwise stated. + + +#### Top-Level Fields + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`pageInfo`** | `object` | Required | Basic meta data like title, description, nav bar links, footer text. See [`pageInfo`](#pageinfo) +**`appConfig`** | `object` | _Optional_ | Settings related to how the app functions, including API keys and global styles. See [`appConfig`](#appconfig-optional) +**`sections`** | `array` | Required | An array of sections, each containing an array of items, which will be displayed as links. See [`section`](#section) + +#### `PageInfo` + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`title`** | `string` | Required | Your dashboard title, displayed in the header and browser tab +**`description`** | `string` | _Optional_ | Description of your dashboard, also displayed as a subtitle +**`navLinks`** | `array` | _Optional_ | Optional list of a maximum of 6 links, which will be displayed in the navigation bar. See [`navLinks`](#pageinfonavlinks-optional) +**`footerText`** | `string` | _Optional_ | Text to display in the footer (note that this will override the default footer content) + +#### `pageInfo.navLinks` _(optional)_ + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`title`** | `string` | Required | The text to display on the link button +**`path`** | `string` | Required | The URL to navigate to when clicked. Can be relative (e.g. `/about`) or absolute (e.g. `https://example.com` or `http://192.168.1.1`) + +#### `appConfig` _(optional)_ + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`backgroundImg`** | `string` | _Optional_ | Path to an optional full-screen app background image. This can be either remote (http) or local (/). Note that this will slow down initial load +**`enableFontAwesome`** | `boolean` | _Optional_ | Where `true` is enabled, if left blank font-awesome will be enabled only if required by 1 or more icons +**`fontAwesomeKey`** | `string` | _Optional_ | If you have a font-awesome key, then you can use it here and make use of premium icons. It is a 10-digit alpha-numeric string from you're FA kit URL (e.g. `13014ae648`) +**`theme`** | `string` | _Optional_ | The default theme for first load (you can change this later from the UI) +**`cssThemes`** | `string[]` | _Optional_ | An array of custom theme names which can be used in the theme switcher dropdown +**`externalStyleSheet`** | `string` or `string[]` | _Optional_ | Either a URL to an external stylesheet or an array or URLs, which can be applied as themes within the UI +**`customCss`** | `string` | _Optional_ | Raw CSS that will be applied to the page. This can also be set from the UI. Please minify it first. + +#### `section` + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`name`** | `string` | Required | The title for the section +**`icon`** | `string` | _Optional_ | An single icon to be displayed next to the title. See [`section.icon`](#sectionicon-and-sectionitemicon) +**`items`** | `array` | Required | An array of items to be displayed within the section. See [`item`](#sectionitem) +**`displayData`** | `object` | _Optional_ | Meta-data to optionally overide display settings for a given section. See [`displayData`](#sectiondisplaydata-optional) + +#### `section.item` + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`title`** | `string` | Required | The text to display/ title of a given item. Max length `18` +**`description`** | `string` | _Optional_ | Additional info about an item, which is shown in the tooltip on hover, or visible on large tiles +**`url`** | `string` | Required | The URL / location of web address for when the item is clicked +**`icon`** | `string` | _Optional_ | The icon for a given item. Can be a font-awesome icon, favicon, remote URL or local URL. See [`item.icon`](#sectionicon-and-sectionitemicon) +**`target`** | `string` | _Optional_ | The opening method for when the item is clicked, either `newtab`, `sametab` or `iframe`. Where `newtab` will open the link in a new tab, `sametab` will open it in the current tab, and `iframe` will open a pop-up modal with the content displayed within that iframe. Note that for the iframe to load, you must have set the CORS headers to either allow `*` ot allow the domain that you are hosting Dashy on, for some websites and self-hosted services, this is already set. +**`color`** | `string` | _Optional_ | An optional color for the text and font-awesome icon to be displayed in. Note that this will override the current theme and so may not display well +**`backgroundColor`** | `string` | _Optional_ | An optional background fill color for the that given item. Again, this will override the current theme and so might not display well against the background + +#### `section.displayData` _(optional)_ + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`collapsed`** | `boolean` | _Optional_ | If true, the section will be collapsed initially, and will need to be clicked to open. Useful for less regularly used, or very long sections. Defaults to `false` +**`color`** | `string` | _Optional_ | A custom accent color for the section, as a hex code or HTML color (e.g. `#fff`) +**`customStyles`** | `string` | _Optional_ | Custom CSS properties that should be applied to that section, e.g. `border: 2px dashed #ff0000;` +**`itemSize`** | `string` | _Optional_ | Specify the size for items within this group, either `small`, `medium` or `large`. Note that this will overide any settings specified through the UI +**`rows`** | `number` | _Optional_ | Height of the section, specified as the number of rows it should span vertically, e.g. `2`. Defaults to `1`. Max is `5`. +**`cols`** | `number` | _Optional_ | Width of the section, specified as the number of columns the section should span horizontally, e.g. `2`. Defaults to `1`. Max is `5`. +**`layout`** | `string` | _Optional_ | Specify which CSS layout will be used to responsivley place items. Can be either `auto` (which uses flex layout), or `grid`. If `grid` is selected, then `itemCountX` and `itemCountY` may also be set. Defaults to `auto` +**`itemCountX`** | `number` | _Optional_ | The number of items to display per row / horizontally. If not set, it will be calculated automatically based on available space. Can only be set if `layout` is set to `grid`. Must be a whole number between `1` and `12` +**`itemCountY`** | `number` | _Optional_ | The number of items to display per column / vertically. If not set, it will be calculated automatically based on available space. If `itemCountX` is set, then `itemCountY` can be calculated automatically. Can only be set if `layout` is set to `grid`. Must be a whole number between `1` and `12` + +#### `section.icon` and `section.item.icon` + +**Field** | **Type** | **Required**| **Description** +--- | --- | --- | --- +**`icon`** | `string` | _Optional_ | The icon for a given item or section. Can be a font-awesome icon, favicon, remote URL or local URL. If set to `favicon`, the icon will be automatically fetched from the items website URL. To use font-awesome, specify the category, followed by the icon name, e.g. `fas fa-rocket`, `fab fa-monero` or `fal fa-duck` - note that to use pro icons, you mut specify `appConfig.fontAwesomeKey`. You can also use hosted any by specifying it's URL, e.g. `https://i.ibb.co/710B3Yc/space-invader-x256.png`. To use a local image, first store it in `./public/item-icons/` (or `-v /app/public/item-icons/` in Docker) , and reference it by name and extension - e.g. set `image.png` to use `./public/item-icon/image.png`, you can also use sub-folders if you have a lot of icons, to keep them organised. + + +#### Example + +```yaml +--- +pageInfo: + title: Home Lab +sections: # An array of sections +- name: Section 1 - Getting Started + items: # An array of items + - title: GitHub + description: Source code and documentation on GitHub + icon: fab fa-github + url: https://github.com/Lissy93/dashy + - title: Issues + description: View currently open issues, or raise a new one + icon: fas fa-bug + url: https://github.com/Lissy93/dashy/issues + - title: Demo + description: A live demo + icon: far fa-rocket + url: https://dashy-demo-1.netlify.app +- name: Section 2 - Local Services + items: + - title: Firewall + icon: favicon + url: http://192.168.1.1/ + - title: Game Server + icon: https://i.ibb.co/710B3Yc/space-invader-x256.png + url: http://192.168.130.1/ +``` + +For more example config files, see: [this gist](https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10) diff --git a/docs/developing.md b/docs/developing.md new file mode 100644 index 00000000..4c33274a --- /dev/null +++ b/docs/developing.md @@ -0,0 +1,181 @@ + +## Developing + +This article outlines how to get Dashy running in a development environment, and outlines the basics of the architecture. + +- [Setting up the Development Environment]() +- [Resources for Beginners]() +- [Style Guide]() +- [Frontend Components]() +- [Project Structure]() + +### Setting up the Dev Environment + +#### Prerequisites +You will need either the latest or LTS version of **[Node.js](https://nodejs.org/)** to build and serve the application and **[Git](https://git-scm.com/downloads)** to easily fetch the code, and push any changes. If you plan on running or deploying the container, you'll also need **[Docker](https://docs.docker.com/get-docker/)**. To avoid any unexpected issues, ensure you've got at least **[NPM](https://www.npmjs.com/get-npm)** V 7.5 or **[Yarn](https://classic.yarnpkg.com/en/docs/install/#windows-stable)** 1.22 (you may find [NVM](https://github.com/nvm-sh/nvm) helpful for switching/ managing versions). + +#### Running the Project + +1. Get Code: `git clone git@github.com:Lissy93/dashy.git` +2. Navigate into the directory: `cd dashy` +3. Install dependencies: `yarn` +4. Start dev server: `yarn dev` + +Dashy should now be being served on http://localhost:8080/. Hot reload is enabled, so making changes to any of the files will trigger them to be rebuilt and the page refreshed. + +#### Project Commands + +- `yarn dev` - Starts the development server with hot reloading +- `yarn build` - Builds the project for production, and outputs it into `./dist` +- `yarn start` - Starts a web server, and serves up the production site from `./dist` +- `yarn validate-config` - Parses and validates your `conf.yml` against Dashy's schema +- `yarn lint` - Lints code to ensure it follows a consistent, neat style +- `yarn test` - Runs tests, and outputs results + +There is also: +- `yarn build-and-start` will run `yarn build` and `yarn start` +- `yarn build-watch` will output contents to `./dist` and recompile when anything in `./src` is modified, you can then use either `yarn start` or your own server, to have a production environment that watches for changes. + +Note: +- If you are using NPM, replace `yarn` with `npm run` +- If you are using Docker, precede each command with `docker exec -it [container-id]`. Container ID can be found by running `docker ps` + +### Resources for Beginners +New to Web Development? Glad you're here! Dashy is a pretty simple app, so it should make a good candidate for your first PR. Presuming that you already have a basic knowledge of JavaScript, the following articles should point you in the right direction for getting up to speed with the technologies used in this project: +- [Introduction to Vue.js](https://v3.vuejs.org/guide/introduction.html) +- [Vue.js Walkthrough](https://www.taniarascia.com/getting-started-with-vue/) +- [Definitive guide to SCSS](https://blog.logrocket.com/the-definitive-guide-to-scss/) +- [Complete beginners guide to Docker](https://docker-curriculum.com/) +- [Docker Classroom - Interactive Tutorials](https://training.play-with-docker.com/) +- [Quick start TypeScript guide](https://www.freecodecamp.org/news/learn-typescript-in-5-minutes-13eda868daeb/) +- [Complete TypeScript tutorial series](https://www.typescripttutorial.net/) +- [Using TypeScript with Vue.js](https://blog.logrocket.com/vue-typescript-tutorial-examples/) +- [Git cheat sheet](http://git-cheatsheet.com/) +- [Basics of using NPM](https://www.freecodecamp.org/news/what-is-npm-a-node-package-manager-tutorial-for-beginners/) + +As well as Node, Git and Docker- you'll also need an IDE (e.g. [VS Code](https://code.visualstudio.com/) or [Vim](https://www.vim.org/)) and a terminal (Windows users may find [WSL](https://docs.microsoft.com/en-us/windows/wsl/) more convenient). + +### Style Guide + +Linting is done using [ESLint](https://eslint.org/), and using the [Vue.js Styleguide](https://github.com/vuejs/eslint-config-standard), which is very similar to the [AirBnB Stylguide](https://github.com/airbnb/javascript). You can run `yarn lint` to report and fix issues. While the dev server is running, issues will be reported to the console automatically. Any lint errors will trigger the build to fail. Note that all lint checks must pass before any PR can be merged. + +The most significant things to note are: +- Indentation should be done with two spaces +- Strings should use single quotes +- All statements must end in a semi-colon +- The final element in all objects must be preceded with a comma +- Maximum line length is 100 +- There must be exactly one blank line between sections, before function names, and at the end of the file +- With conditionals, put else on the same line as your if block’s closing brace +- All multiline blocks must use braces +- Avoid console statements in the frontend + +For the full styleguide, see: [github.com/airbnb/javascript](https://github.com/airbnb/javascript) + + +### Frontend Components + +All frontend code is located in the `./src` directory, which is split into 5 sub-folders: +- Components - All frontend web components are located here. Each component should have a distinct, well defined and simple task, and ideally should not be too long. The components directory is organised into a series of sub-directories, representing a specific area of the application + - PageStrcture - Components relating to overall page structure (nav, footer, etc) + - FormElements - Reusable form elements (button, input field, etc) + - LinkItems - Components relating to Dashy's sections and items (item group, item, item icon, etc) + - Configuration - Components relating to Dashy's configuration forms (cloud backup, JSON editor, etc) +- Views - Each view directly corresponds to a route (defined in the router), and in effectively a page. They should have minimal logic, and just contain a few components +- Utils - These are helper functions, or logic that is used within the app does not include an UI elements +- Styles - Any SCSS that is used globally throughout that app, and is not specific to a single component goes here. This includes variables, color themes, typography settings, CSS reset and media queries +- Assets - Static assets that need to be bundled into the application, but do not require any manipulation go here. This includes interface icons and fonts + +The structure of the components directory is similar to that of the frontend application layout + +
