pidgin/nest

Add pgp public key and refer to it in our security disclosure method

The idea behind this is to make sure people that choose to use email to let us
known about a potential security issue in Pidgin encrypt the content of the
emails using a set of pgp keys of trusted Pidgin developers. For now we only
have the pgp key of grim but more keys can easily be added later on.

At the same time, since Hugo does not currently have a built-in shortcode for
linking directly to static resources, I had to add a new shortcode for doing so

Testing Done:
Ran `dev-server.sh` and made sure content looked as intended and links worked.

Bugs closed: NEST-46

Reviewed at https://reviews.imfreedom.org/r/860/
{{/*** Templates ***/}}
{{ define "trusted" }}
<span aria-label="{{ T "Trusted" }}" class="tooltipped tooltipped-s">
<i class="fas fa-check-circle " style="color:#784a85"></i>
</span>
{{ end }}
{{ define "community" }}
<span aria-label="{{ T "Community" }}" class="tooltipped tooltipped-s">
<i class="fas fa-users" style="color:green"></i>
</span>
{{ end }}
{{/*** Content ***/}}
<p>
This page contains a list of plugins from trusted authors and the community. If you believe a plugin should be on this list, please <a href="{{ ref . "contact" }}">get in touch</a> with us or <a href="{{ .Site.Params.contributeGuideURL }}">open a pull request</a> with the update.
</p>
<ul>
<li>{{ template "trusted" }} {{ T "Trusted-Info" }}</li>
<li>{{ template "community" }} {{ T "Community-Info" }}</li>
</ul>
{{/* No point in showing search filters if there's no JS */}}
<noscript>
<style>
#plugin-filters, #search-link-wrap {
display: none;
}
</style>
</noscript>
<div id="plugin-filters" class="hidden">
<div id="publisher-selector">
<label style="display: inline-block;">
<input type="radio" id="all" name="publisher" style="margin-right: 0; margin-left: 0.75rem;" value="all" checked>
All
</label>
<label style="display: inline-block;">
<input type="radio" id="pidgin" name="publisher" style="margin-right: 0; margin-left: 0.75rem;" value="pidgin">
{{ template "trusted" }}
{{ T "Trusted" }}
</label>
<label style="display: inline-block;">
<input type="radio" id="community" name="publisher" style="margin-right: 0; margin-left: 0.75rem;"
value="community">
{{ template "community" }}
{{ T "Community" }}
</label>
</div>
<input type="text" id="plugin-filter-search" placeholder="{{ T "Search-placeholder" }}" />
<div id="plugin-selector">
{{ $types := slice }}
{{ range .Site.Data.plugins }}
{{ $types = $types | append ( index . "type" ) }}
{{ end }}
{{ range uniq $types }}
<label class="pidgin-plugin-filter-checkbox">
<input type="checkbox" data-type="{{ . }}">
{{ . }}
</label>
{{ end }}
</div>
</div>
<table id="plugin-table">
<thead>
<th></th>
<th>{{ T "Name" }}</th>
<th></th>
<th>{{ T "Type" }}</th>
<th>{{ T "Info" }}</th>
<th>{{ T "Maintainer" }}</th>
</thead>
<tbody>
{{ range .Site.Data.plugins }}
<tr data-type="{{ .type }}" {{ if .isTrusted }}isTrusted="true"{{ end }}>
<td class="plugin-icon">
{{ if .logo }}<img src="{{ .logo }}" alt="{{ .heading | safeHTMLAttr }} logo" />{{ else }}&nbsp;{{ end }}
</td>
<td class="plugin-heading">
{{ if .repo }}
<a href="{{ .repo }}">{{ .heading }}</a>
{{ else }}
{{ .heading }}
{{ end }}
</td>
<td class="plugin-publisher">
{{ if eq true .isTrusted }}
{{ template "trusted" }}
{{ else }}
{{ template "community" }}
{{ end }}
</td>
<td class="plugin-type">
{{ .type }}
</td>
<td class="plugin-info">
{{ with .info }}{{ . | markdownify }}{{ end }}
</td>
<td class="plugin-repo">
{{ .maintainer }}
</td>
</tr>
{{ end }}
</tbody>
</table>
<p id="search-link-wrap" class="hidden">
Share this search:<br />
<a id="search-link"></a>
</p>
<script src="/js/plugin-table.js"></script>
<style>
.hidden {
display: none;
}
#plugin-filters {
text-align: right;
}
#plugin-filter-search {
text-align: right;
max-width: 250px;
display: inline-block;
}
#plugin-selector label {
text-align: right;
display: inline-block;
}
#plugin-selector input {
margin: 8px;
display: inline-block;
}
#search-link-wrap {
font-size: small;
text-align: center;
}
</style>