mirror of
https://gitee.com/butubb8/blowfish.git
synced 2025-12-05 14:17:50 +08:00
75 lines
3.2 KiB
HTML
75 lines
3.2 KiB
HTML
{{ $id := delimit (slice "codeberg" (partial "functions/uid.html" .)) "-" }}
|
|
{{- $codebergURL := print "https://codeberg.org/api/v1/repos/" (.Get "repo") -}}
|
|
{{- $repoColors := .Site.Data.repoColors -}}
|
|
{{- $codebergData := dict -}}
|
|
{{- with try (resources.GetRemote $codebergURL) -}}
|
|
{{- with .Err -}}
|
|
{{- warnf "codeberg shortcode: failed to fetch remote resource from %q: %s" $codebergURL $.Position -}}
|
|
{{- else with .Value -}}
|
|
{{- $codebergData = . | transform.Unmarshal -}}
|
|
{{- else -}}
|
|
{{- warnf "codeberg shortcode: unable to get remote resource from %q: %s" $codebergURL $.Position -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- with $codebergData -}}
|
|
<div class="codeberg-card-wrapper">
|
|
<a id="{{ $id }}" target="_blank" href="{{ .html_url }}" class="cursor-pointer">
|
|
<div
|
|
class="w-full md:w-auto pt-3 p-5 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl">
|
|
<div class="flex items-center">
|
|
<span class="text-2xl text-neutral-800 dark:text-neutral mr-[10px]">
|
|
{{ partial "icon.html" "codeberg" }}
|
|
</span>
|
|
<div
|
|
id="{{ $id }}-full_name"
|
|
class="m-0 font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral">
|
|
{{ .full_name | markdownify }}
|
|
</div>
|
|
</div>
|
|
|
|
<p id="{{ $id }}-description" class="m-0 mt-2 text-md text-neutral-800 dark:text-neutral">
|
|
{{ .description | markdownify }}
|
|
</p>
|
|
|
|
<div class="m-0 mt-2 flex items-center">
|
|
{{ $language := cond .language .language "default" }}
|
|
{{ $currentLangs := $.Page.Store.Get "repoCardLanguages" | default slice }}
|
|
{{ $.Page.Store.Set "repoCardLanguages" ($currentLangs | append $language) }}
|
|
<span
|
|
class="mr-1 inline-block h-3 w-3 rounded-full language-dot"
|
|
data-language="{{ $language }}"></span>
|
|
<div class="m-0 mr-5 text-md text-neutral-800 dark:text-neutral">
|
|
{{ if .language }}{{ .language }}{{ else }}null{{ end }}
|
|
</div>
|
|
|
|
<span class="text-md mr-1 text-neutral-800 dark:text-neutral">
|
|
{{ partial "icon.html" "star" }}
|
|
</span>
|
|
<div id="{{ $id }}-stars_count" class="m-0 mr-5 text-md text-neutral-800 dark:text-neutral">
|
|
{{ .stars_count }}
|
|
</div>
|
|
|
|
<span class="text-md mr-1 text-neutral-800 dark:text-neutral">
|
|
{{ partial "icon.html" "fork" }}
|
|
</span>
|
|
<div id="{{ $id }}-forks_count" class="m-0 mr-5 text-md text-neutral-800 dark:text-neutral">
|
|
{{ .forks_count }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{ $fetchRepo := resources.Get "js/fetch-repo.js" }}
|
|
{{ $fetchRepo = $fetchRepo | resources.Minify | resources.Fingerprint ($.Site.Params.fingerprintAlgorithm | default "sha512") }}
|
|
<script
|
|
async
|
|
type="text/javascript"
|
|
src="{{ $fetchRepo.RelPermalink }}"
|
|
integrity="{{ $fetchRepo.Data.Integrity }}"
|
|
data-repo-url="{{ $codebergURL }}"
|
|
data-repo-id="{{ $id }}"></script>
|
|
</a>
|
|
</div>
|
|
{{- else -}}
|
|
{{ warnf "codeberg shortcode: unable to fetch %q: %s" $codebergURL .Position }}
|
|
{{- end -}}
|