{{- /*
Usage: gh "foo", where foo can be:
* "pr 1" -> #1
* "issue 2" -> #2
* "@XhmikosR" -> @XhmikosR
* "a3b09530fb31cfe6bd14d49965c19e8f89c1b023" -> a3b0953
* "a3b0953" -> a3b0953
Quotes are not always needed, but Hugo can choke on some characters like @, in which case wrap the parameter with quotes. Also, they are needed for PR and Issue
*/ -}}
{{ range .Params -}}
{{- if hasPrefix . "@" -}}
{{ . }}
{{- else if hasPrefix (. | lower) "pr" -}}
#{{ trim (substr . 2) " " }}
{{- else if hasPrefix (. | lower) "issue" -}}
#{{ trim (substr . (len "issue")) " " }}
{{- else if or (eq (len .) 7) (eq (len .) 40) -}}
{{ trim (substr . 0 7) " " }}
{{- else -}}
{{ errorf `Wrong parameter passed in %q shortcode: %s` $.Name $.Position }}
{{- end -}}
{{- end -}}