46 lines
1.7 KiB
HTML
46 lines
1.7 KiB
HTML
{{- /*
|
|
Returns the URL for a given licence, either from the site data or from a defined URL.
|
|
|
|
@params licences_data Site data of licences, indexed by SPDX IDs.
|
|
@params licence Licence identifier.
|
|
@params licence_link Manually-defined licence URL. Optional.
|
|
*/
|
|
-}}
|
|
|
|
<!-- Validation -->
|
|
|
|
{{- if ( not ( isset . "licences_data" ) ) -}}
|
|
{{- errorf "No licence data passed to partial" -}}
|
|
{{- end -}}
|
|
|
|
{{- if ( not ( isset . "licence" ) ) -}}
|
|
{{- errorf "No licence requested in partial" -}}
|
|
{{- end -}}
|
|
|
|
<!-- Variable assignment -->
|
|
|
|
{{- $licences_data := .licences_data -}}
|
|
{{- $licence := .licence -}}
|
|
{{- $licence_link := .licence_link -}}
|
|
|
|
{{- $final_licence_link := "" -}}
|
|
|
|
<!-- Rendering -->
|
|
|
|
{{- if ( index $licences_data $licence ) -}}
|
|
{{- if eq ( index $licences_data $licence ) $licence_link -}}
|
|
{{- warnf "Redundant license link '%s' defined, it already exists in the site data" ( index $licences_data $licence ) -}}
|
|
{{- $final_licence_link = ( index $licences_data $licence ) -}}
|
|
{{- else -}}
|
|
{{- if ( and ( $licence_link ) ( not ( eq ( index $licences_data $licence ) $licence_link ) ) ) -}}
|
|
{{- warnf "Licence '%s' has a different link ('%s') defined in the site data, using '%s' instead" $licence ( index $licences_data $licence ) $licence_link -}}
|
|
{{- end -}}
|
|
{{- $final_licence_link = $licence_link -}}
|
|
{{- end -}}
|
|
|
|
{{- else if $licence_link -}}
|
|
{{- warnidf "licence-link-not-in-site-data" "License link '%s' for licence '%s' should be in the site data, unless it's rarely used" $licence_link $licence -}}
|
|
{{- $final_licence_link = $licence_link -}}
|
|
{{- end -}}
|
|
|
|
{{- return $final_licence_link -}}
|