25 lines
986 B
HTML
25 lines
986 B
HTML
{{/* Partial: create_sigil.html */}}
|
|
|
|
{{- $input := . -}} <!-- The input string will be passed into the partial -->
|
|
{{- $vowels := "aeiouAEIOU" -}} <!-- List of vowels to remove -->
|
|
{{- $seen := dict -}} <!-- Dictionary to track characters we've already encountered -->
|
|
{{- $output := "" -}} <!-- Variable to store the resulting sigil -->
|
|
{{- $chars := split (replaceRE "[^a-zA-Z]" "" $input) "" -}} <!-- Remove non-alphabetic characters and split the input string into a slice of characters -->
|
|
|
|
{{- /* Step 1: Remove vowels */ -}}
|
|
{{- range $i, $char := $chars -}}
|
|
{{- if not (in $vowels $char) -}}
|
|
{{- /* Step 2: Remove repeating letters */ -}}
|
|
{{- if not (index $seen $char) -}}
|
|
{{- $seen = merge $seen (dict $char true) -}}
|
|
{{- $output = printf "%s%s" $output $char -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- $output = upper $output -}}
|
|
{{ $output = split $output "" }}
|
|
{{ $output = apply $output "printf" "%#x" "." }}
|
|
{{ $output = apply $output "int" "." }}
|
|
|
|
{{- $output -}}<br> |