mirror of
				https://github.com/imfing/hextra.git
				synced 2025-10-31 08:34:52 -04:00 
			
		
		
		
	 f4d75a4e5b
			
		
	
	f4d75a4e5b
	
	
	
		
			
			* feat(callout): revamp of the callouts * fix: doc * chore: refactor gh alert * feat: same colors on callouts and gh alerts * docs: more relevant examples * docs: i18n * docs: update existing callouts
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {{- /*
 | |
| A shortcode to create a callout.
 | |
| 
 | |
| @param {string} type The type of the callout (default, info, warning, error, important).
 | |
| @param {string} content The content of the callout.
 | |
| @param {string} emoji The emoji of the callout.
 | |
| @param {string} icon The icon of the callout (related to type or can be a custom icon).
 | |
| 
 | |
| @example {{< callout type="info" >}}Content{{< /callout >}}
 | |
| */ -}}
 | |
| 
 | |
| {{- $type := .Get "type" | default "default" -}}
 | |
| {{- $emoji := .Get "emoji" -}}
 | |
| {{- $icon := .Get "icon" -}}
 | |
| 
 | |
| {{- $styles := newScratch -}}
 | |
| {{- $styles.Set "default" (dict
 | |
|   "icon" "light-bulb"
 | |
|   "style" "hx:border-green-200 hx:bg-green-100 hx:text-green-900 hx:dark:border-green-200/30 hx:dark:bg-green-900/30 hx:dark:text-green-200"
 | |
|   )
 | |
| -}}
 | |
| {{- $styles.Set "info" (dict
 | |
|   "icon" "information-circle"
 | |
|   "style" "hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"
 | |
|   )
 | |
| -}}
 | |
| {{- $styles.Set "warning" (dict
 | |
|   "icon" "exclamation"
 | |
|   "style" "hx:border-amber-200 hx:bg-amber-100 hx:text-amber-900 hx:dark:border-amber-200/30 hx:dark:bg-amber-900/30 hx:dark:text-amber-200"
 | |
|   )
 | |
| -}}
 | |
| {{- $styles.Set "error" (dict
 | |
|   "icon" "ban"
 | |
|   "style" "hx:border-red-200 hx:bg-red-100 hx:text-red-900 hx:dark:border-red-200/30 hx:dark:bg-red-900/30 hx:dark:text-red-200"
 | |
|   )
 | |
| -}}
 | |
| {{- $styles.Set "important" (dict
 | |
|   "icon" "exclamation-circle"
 | |
|   "style" "hx:border-purple-200 hx:bg-purple-100 hx:text-purple-900 hx:dark:border-purple-200/30 hx:dark:bg-purple-900/30 hx:dark:text-purple-200"
 | |
|   )
 | |
| -}}
 | |
| 
 | |
| {{- $style := or ($styles.Get $type) ($styles.Get "default") -}}
 | |
| 
 | |
| {{- if and (not $emoji) (not $icon) -}}
 | |
|   {{- $icon = $style.icon -}}
 | |
| {{- end -}}
 | |
| 
 | |
| {{- $content := .InnerDeindent | markdownify -}}
 | |
| 
 | |
| {{- partial "shortcodes/callout.html" (dict
 | |
|   "content" $content
 | |
|   "emoji" $emoji
 | |
|   "icon" $icon
 | |
|   "class" $style.style
 | |
|   )
 | |
| -}}
 |