From 96529d37fadef4d5ccd774d8d5f0ab8ab93c885c Mon Sep 17 00:00:00 2001 From: PrettyCoffee <66521452+PrettyCoffee@users.noreply.github.com> Date: Sun, 25 Aug 2024 16:24:31 +0200 Subject: [PATCH] docs: Add example for data structures (#595) --- docs/src/configuration.md | 2 + docs/src/examples.md | 4 + .../data-structures-preview.png | Bin 0 -> 9150 bytes examples/data-structures/eww.scss | 29 +++++++ examples/data-structures/eww.yuck | 73 ++++++++++++++++++ 5 files changed, 108 insertions(+) create mode 100644 examples/data-structures/data-structures-preview.png create mode 100644 examples/data-structures/eww.scss create mode 100644 examples/data-structures/eww.yuck diff --git a/docs/src/configuration.md b/docs/src/configuration.md index 67acc59..ed1460b 100644 --- a/docs/src/configuration.md +++ b/docs/src/configuration.md @@ -381,6 +381,8 @@ If you want to display a list of values, you can use the `for`-Element to fill a This can be useful in many situations, for example when generating a workspace list from a JSON representation of your workspaces. In many cases, this can be used instead of `literal`, and should most likely be preferred in those cases. +To see how to declare and use more advanced data structures, check out the [data structures example](/examples/data-structures/eww.yuck). + ## Splitting up your configuration As time passes, your configuration might grow larger and larger. Luckily, you can easily split up your configuration into multiple files! diff --git a/docs/src/examples.md b/docs/src/examples.md index 8f50497..54da0ec 100644 --- a/docs/src/examples.md +++ b/docs/src/examples.md @@ -4,3 +4,7 @@ These configurations of eww are available in the `examples/` directory of the [r An eww bar configuration: ![Example bar](https://github.com/elkowar/eww/raw/master/examples/eww-bar/eww-bar.png) + +A demo on how to declare and use data structures: + +![Data structure example](/examples/data-structures/data-structures-preview.png) diff --git a/examples/data-structures/data-structures-preview.png b/examples/data-structures/data-structures-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..f4dc51951f0c3036f1e91d2e5d445bf9fed68991 GIT binary patch literal 9150 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