feat: add option to sort items in properties shortcode (#527)

BREAKING CHANGE: To enable sorting of elements in the `properties` shortcode, it was necessary to change the structure of the properties file. Due to this change, the `properties` object now requires a list of maps instead of a map. A [sample file](https://raw.githubusercontent.com/thegeeklab/hugo-geekdoc/main/exampleSite/data/properties/demo.yaml) can be found in the repository.
This commit is contained in:
Robert Kaussow 2022-11-02 13:01:20 +01:00 committed by GitHub
parent 73c5f6a6b2
commit 128a55e974
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 13 deletions

View file

@ -2,11 +2,21 @@
title: Properties
---
The property list shortcode creates a custom HTML description list that can be used to display properties or variables and general dependent information. The shortcode requires a data file in `data/properties/`, e.g. `data/properties/demo.yaml`, where the filename must be passed to the `name` attribute of the property list shortcode.
The property list shortcode creates a custom HTML description list that can be used to display properties or variables and general dependent information. The shortcode requires a data file in `data/properties/`, e.g. `data/properties/demo.yaml`.
## Attributes
| Name | Description | default |
| ---------------- | ------------------------------------------------------ | --------- |
| name | name of the file from the `data/properties/` directory | undefined |
| sort (optional) | field name to use for sorting | undefined |
| order (optional) | sort order, only applied if `sort` is set | `asc` |
## Usage
<!-- prettier-ignore-start -->
```tpl
{{</* propertylist name=demo */>}}
{{</* propertylist name=demo (sort=name) (order=[asc|desc]) */>}}
```
<!-- prettier-ignore-end -->
@ -20,4 +30,8 @@ The supported attributes can be taken from the following example:
## Example
{{< propertylist name=demo >}}
<!-- prettier-ignore-start -->
<!-- spellchecker-disable -->
{{< propertylist name=demo sort=name order=asc >}}
<!-- spellchecker-enable -->
<!-- prettier-ignore-end -->

View file

@ -1,11 +1,11 @@
---
properties:
prop1:
- name: prop1
type: string
description: Dummy description of the prop1 string property.
required: true
prop2:
- name: prop2
type: int
defaultValue: 10
description:
@ -16,7 +16,7 @@ properties:
- tag1
- tag2
prop3:
- name: prop3
type: bool
defaultValue: false
description: |
@ -27,3 +27,8 @@ properties:
More description how to use this property.
required: false
- name: a-prop
type: string
description: Property to demonstrate sorting.
required: true