This commit is contained in:
tree 2023-04-27 03:52:46 +02:00
rodič 7362ee2d9b
revize 5d00c40e32
34 změnil soubory, kde provedl 46 přidání a 25 odebrání

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 731 KiB

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 30 KiB

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 276 KiB

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 134 KiB

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 116 KiB

Binární soubor nebyl zobrazen.

Před

Šířka:  |  Výška:  |  Velikost: 0 B

Za

Šířka:  |  Výška:  |  Velikost: 117 KiB

Zobrazit soubor

@ -1,6 +1,6 @@
name = "blockWise"
description = "Newsletter a vzdelávanie o krypte, web3, metaverse, AR"
logo = "logo.png"
logo = "logo.webp"
languages = ["slovak"]
[links]

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 3.7 KiB

Binární soubor nebyl zobrazen.

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 3.7 KiB

Zobrazit soubor

@ -1,6 +1,6 @@
name = "Crypto Nomads Club"
description = "A community for crypto nomads"
logo = "logo.png"
logo = "logo.webp"
languages = ["english"]
[links]

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 6.4 KiB

Binární soubor nebyl zobrazen.

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 6.4 KiB

Zobrazit soubor

@ -1,6 +1,6 @@
name = "Holky v kryptu"
description = "Dívčí kryptokomunita"
logo = "logo.svg"
logo = "logo.webp"
languages = ["czech"]
[links]

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 13 KiB

binární
data/23/media-partners/hvk/logo.webp Normal file

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 13 KiB

Zobrazit soubor

@ -1,6 +1,6 @@
name = "KryptomagazinCZ"
description = "Zpravodajský portál o kryptoměnách"
logo = "logo.jpg"
logo = "logo.webp"
languages = ["czech"]
[links]

Binární soubor nebyl zobrazen.

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 5.0 KiB

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 5.0 KiB

Zobrazit soubor

@ -1,5 +1,5 @@
name = "KryptoSpace"
logo = "logo.jpg"
logo = "logo.webp"
description = "Podcast Petra Lukáče je váš průvodce světem kryptoměn"
languages = ["czech"]

Binární soubor nebyl zobrazen.

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 7.3 KiB

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 7.3 KiB

Zobrazit soubor

@ -1,7 +1,7 @@
name = "NFT Space"
description = "Novinky a vzdělávací články z NFT, Web3 a Metaverse"
languages = ["czech"]
logo = "logo.jpg"
logo = "logo.webp"
[links]
web = "https://www.nftspace.cz/"

Binární soubor nebyl zobrazen.

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 2.8 KiB

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 2.8 KiB

Zobrazit soubor

@ -1,7 +1,7 @@
name = "Paralelní Polis"
description = "art - science - technology"
languages = ["english"]
logo = "logo.png"
logo = "logo.webp"
[links]
web = "https://www.paralelnipolis.cz/"

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 16 KiB

Binární soubor nebyl zobrazen.

binární
data/23/media-partners/pp/logo.webp Normal file

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 16 KiB

Zobrazit soubor

@ -284,17 +284,31 @@ class DeConf_Collection {
const src = [this.dir, fn].join("/");
const extname = posix.extname(src);
const dest = [this.dir, fn.replace(/\.([^\.]+)$/, ".op.webp")].join("/");
//console.log({src, dest})
if (await exists(dest)) {
return null;
if (!await exists(dest)) {
if (extname === ".webp") {
await _fileCopy(src, dest);
console.log(`${dest} copied`);
return true;
}
await _imageOptimalizedWrite(src, dest);
console.log(`${dest} writed`);
}
if (extname === ".webp") {
await _fileCopy(src, dest);
console.log(`${dest} copied`);
return true;
const info = await _imageWebPInfo(dest)
if (!info) {
return null
}
const ratio = info.width/info.height
const sizes = [150, 300, 500];
for (const sz of sizes) {
const cheight = Math.round(sz / ratio)
//console.log(info.width, info.height, ratio, sz, cheight)
continue
const szDest = [this.dir, fn.replace(/\.([^\.]+)$/, `-${sz}px.op.webp`)].join("/")
if (!await exists(szDest)) {
await _imageOptimalizedWrite(dest, szDest, [sz, sz]);
console.log(`${szDest} writed`);
}
}
await _imageOptimalizedWrite(src, dest);
console.log(`${dest} writed`);
}
async sync() {
@ -333,11 +347,6 @@ class DeConf_Collection {
//await _imageOptimalizedWrite(tmpfile, fn);
console.log(`${fn} writed`);
/*const sizes = [150, 300, 500];
for (const sz of sizes) {
console;
}*/
sp.photo = ["photos", "speakers", ffn].join("/");
}
}
@ -402,19 +411,31 @@ class DeConf_Collection {
}
}
async function _imageWebPInfo(src) {
const p = Deno.run({ cmd: ["webpinfo", src], stdout: "piped", stderr: "piped" })
await p.status();
const info = new TextDecoder().decode(await p.output())
if (!info.trim()) {
console.log(src)
return null
}
return {
size: Number(info.match(/File size:\s+(\d+)/)[1]),
width: Number(info.match(/Width: (\d+)/)[1]),
height: Number(info.match(/Height: (\d+)/)[1])
}
}
async function _imageOptimalizedWrite(src, dest, resize = null) {
const cmd = [
"cwebp",
...[resize ? resize : null],
...(resize ? ["-resize", resize[0], resize[1]] : []),
"-q",
"80",
src,
"-o",
dest,
];
if (resize) {
cmd.push(`-resize ${resize}`);
}
const p = Deno.run({ cmd, stdout: "piped", stderr: "piped" });
await p.status();
console.log(new TextDecoder().decode(await p.stderrOutput()));