use webp images that are auto-generated

This commit is contained in:
neil molina 2023-06-26 14:24:41 +08:00
parent 6144ca1078
commit 3e70e8c22c
No known key found for this signature in database
GPG key ID: 52D69BF1F02F4267
4 changed files with 27 additions and 3 deletions

24
.github/get-packages-data.js vendored Normal file
View file

@ -0,0 +1,24 @@
const fs = require("fs");
const packagesURL = "https://app.tea.xyz/v1/packages";
async function main() {
const response = await fetch(packagesURL);
const packagesRaw = await response.json();
const packages = packagesRaw.map((pkg) => ({
slug: pkg.slug,
homepage: pkg.homepage || pkg.github_url,
name: pkg.name,
full_name: pkg.full_name,
maintainer: pkg.maintainer,
created: pkg.created_at,
desc: pkg.description.replace(/\\/g, "\\\\"),
short_description: (pkg.short_description || pkg.description).replace(/\\/g, "\\\\"),
thumb_image_url: pkg.image_added_at ? `https://gui.tea.xyz/prod/${pkg.full_name}/512x512.webp` : "",
keywords: pkg.keywords,
dl_count: pkg.installs || 0,
installs: pkg.installs || 0,
}));
await fs.writeFileSync("./src/data/packages.json", JSON.stringify(packages, null, 2));
}
main();

View file

@ -27,7 +27,7 @@ jobs:
- name: add packages data
run: |
rm ./src/data/packages.json
curl https://gui.tea.xyz/packages.json -H "Accept: application/json" >> ./src/data/packages.json
node .github/get-packages-data.js
- name: Create Package Detail Pages from packages.json
uses: getneil/jq-action@v1

View file

@ -38,7 +38,7 @@ jobs:
- name: add packages data
run: |
rm ./src/data/packages.json
curl https://gui.tea.xyz/packages.json -H "Accept: application/json" >> ./src/data/packages.json
node .github/get-packages-data.js
- name: Create Package Detail Pages from packages.json
uses: getneil/jq-action@v1

View file

@ -1,4 +1,4 @@
<div class="card card-thumbnail" style="width: 100%" data-name="{{- .name -}}" data-popularity="{{- .dl_count -}}" data-last_modified="{{- .last_modified -}}" data-description="{{- .desc -}}" data-maintainer="{{- .maintainer -}}">
<div class="card card-thumbnail" style="width: 100%" data-name="{{- .name -}}" data-popularity="{{- .dl_count -}}" data-last_modified="{{- .last_modified -}}" data-description="{{- .short_description -}}" data-maintainer="{{- .maintainer -}}">
<a href="/+{{- lower .full_name -}}/">
<div class="p-3">
<figure class="card-img-top" >