From 2271ff4611a5694ce489267ebb06de42914463f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Weber?= Date: Wed, 25 May 2022 23:30:30 +0200 Subject: [PATCH] attachments: support for brand colors #252 --- .../content/shortcodes/attachments.en.md | 76 ++++++++----------- layouts/shortcodes/attachments.html | 11 ++- 2 files changed, 37 insertions(+), 50 deletions(-) diff --git a/exampleSite/content/shortcodes/attachments.en.md b/exampleSite/content/shortcodes/attachments.en.md index 82e544add7..4f3bea6ac9 100644 --- a/exampleSite/content/shortcodes/attachments.en.md +++ b/exampleSite/content/shortcodes/attachments.en.md @@ -1,15 +1,21 @@ +++ -description = "The Attachments shortcode displays a list of files attached to a page" +description = "List of files attached to a page" title = "Attachments" +++ -The Attachments shortcode displays a list of files attached to a page. +The `attachments` shortcode displays a list of files attached to a page with adjustable color, title and icon. {{% attachments /%}} ## Usage The shortcurt lists files found in a **specific folder**. + +````go +{{%/* attachments /*/%}} +```` + + Currently, it support two implementations for pages 1. If your page is a Markdown file, attachements must be placed in a **folder** named like your page and ending with **.files**. @@ -31,65 +37,43 @@ Currently, it support two implementations for pages Be aware that if you use a multilingual website, you will need to have as many folders as languages. -That's all! -### Parameters +### Parameter -| Parameter | Default | Description | -|:--|:--|:--| -| title | "Attachments" | List's title | -| icon | "paperclip" | Sets the icon near the title; if you want no icon at all, you have to set this parameter to `" "` (a non empty string filled with spaces) | -| sort | "asc" | Sorting the output in `asc`ending or `desc`ending order | -| style | "" | Choose between `orange`, `grey`, `blue` and `green` for nice style | -| pattern | ".*" | A regular expressions, used to filter the attachments by file name.

The **pattern** parameter value must be [regular expressions](https://en.wikipedia.org/wiki/Regular_expression). +| Name | Optional | Default | Notes | +|:------------|:----------|:--------------|:------------| +| **style** | yes | `transparent` | The color scheme used to highlight the box content.

- by severity: `info`, `note`, `tip`, `warning`
- by brand color: `primary`, `secondary`
- by color: `blue`, `green`, `grey`, `orange`, `red`
- by special color: `default`, `transparent` | +| **title** | yes | see notes | Arbitray text for the box title. Depending on the **style** there may be a default title. Any given value will overwrite the default.

- for severity styles: the matching title for the severity
- for all other colors: `Attachments`

If you want no title, you have to set this parameter to `" "` (a non empty string filled with spaces) | +| **icon** | yes | see notes | [Font Awesome icon name]({{%relref "cont/icons#finding-an-icon" %}}) set to the left of the title. Depending on the **style** there may be a default icon. Any given value will overwrite the default.

- for severity styles: a nice matching icon for the severity
- for all other colors: `paperclip`

If you want no icon, you have to set this parameter to `" "` (a non empty string filled with spaces) | +| **sort** | yes | `asc` | Sorting the output in `asc`ending or `desc`ending order. | +| **pattern** | yes | `.*` | A [regular expressions](https://en.wikipedia.org/wiki/Regular_expression), used to filter the attachments by file name. For example:

- to match a file suffix of 'jpg', use `.*jpg` (not `*.jpg`)
- to match file names ending in `jpg` or `png`, use `.*(jpg\|png)` | -For example: +## Examples -* To match a file suffix of 'jpg', use **.*jpg** (not *.jpg). -* To match file names ending in 'jpg' or 'png', use **.*(jpg|png)** +### Custom title, list of attachments ending in pdf or mp4 -### Examples +{{% attachments title="Related files" pattern=".*(pdf|mp4)" /%}} -#### List of attachments ending in pdf or mp4 +{{% expand "Show markup" %}} ````go -{{%/*attachments title="Related files" pattern=".*(pdf|mp4)"/*/%}} +{{%/* attachments title="Related files" pattern=".*(pdf|mp4)" /*/%}} ```` -renders as +{{% /expand %}} -{{%attachments title="Related files" pattern=".*(pdf|mp4)"/%}} +### Colored styled box, descending sort order -#### Colored styled box +{{% attachments style="orange" sort="desc" /%}} + +{{% expand "Show markup" %}} ````go -{{%/*attachments style="orange" /*/%}} +{{%/* attachments style="orange" sort="desc" /*/%}} ```` -renders as +{{% /expand %}} -{{% attachments style="orange" /%}} +### Style and icons -````go -{{%/*attachments style="grey" /*/%}} -```` - -renders as - -{{% attachments style="grey" /%}} - -````go -{{%/*attachments style="blue" /*/%}} -```` - -renders as - -{{% attachments style="blue" /%}} - -````go -{{%/*attachments style="green" /*/%}} -```` - -renders as - -{{% attachments style="green" /%}} +For further examples for **style**, **title** and **icon**, see the [`notice` shortcode]({{% relref "shortcodes/notice" %}}) documentation. The parameter are working the same way for both shortcodes, besides having different defaults. diff --git a/layouts/shortcodes/attachments.html b/layouts/shortcodes/attachments.html index 3aea87f682..7bba7c4aeb 100644 --- a/layouts/shortcodes/attachments.html +++ b/layouts/shortcodes/attachments.html @@ -1,20 +1,23 @@ {{- $_hugo_config := `{ "version": 1 }` }} {{- $style := .Get "style" | default "transparent" }} {{- $title := .Get "title" | default ("Attachments-label" | T) }} -{{- $sort := .Get "sort" | default "asc" }} {{- $icon := .Get "icon" | default "" }} {{- if and (not $icon) (eq (len $icon) 0) }} {{- $icon = "paperclip" }} + {{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }} + {{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }} + {{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }} + {{- if eq $style "tip" }}{{ $icon = default "lightbulb " }}{{ end }} {{- end }} {{- $icon = trim $icon " " }} +{{- $sort := .Get "sort" | default "asc" }}
{{ if $icon }} {{ end }}{{ $title }}
{{- .Inner }} -
+ \ No newline at end of file