gitea png to logo (#13974)
* gitea png to logo.svg * gitea safari svg to logo * minify svgs * Update english docs * Update missing section on customizing logo
This commit is contained in:
parent
e25e7b9598
commit
4cd94e3689
20 changed files with 52 additions and 25 deletions
|
@ -7,6 +7,8 @@ const {readFile, writeFile} = require('fs').promises;
|
|||
const {resolve} = require('path');
|
||||
const Svgo = require('svgo');
|
||||
|
||||
const logoFile = resolve(__dirname, '../assets/logo.svg');
|
||||
|
||||
function exit(err) {
|
||||
if (err) console.error(err);
|
||||
process.exit(err ? 1 : 0);
|
||||
|
@ -39,6 +41,12 @@ async function generateSvgFavicon(svg, outputFile) {
|
|||
await writeFile(outputFile, data);
|
||||
}
|
||||
|
||||
async function generateSvg(svg, outputFile) {
|
||||
const svgo = new Svgo();
|
||||
const {data} = await svgo.optimize(svg);
|
||||
await writeFile(outputFile, data);
|
||||
}
|
||||
|
||||
async function generate(svg, outputFile, {size, bg}) {
|
||||
const {objects, options} = await loadSvg(svg);
|
||||
const canvas = new fabric.Canvas();
|
||||
|
@ -69,15 +77,26 @@ async function generate(svg, outputFile, {size, bg}) {
|
|||
}
|
||||
|
||||
async function main() {
|
||||
const svg = await readFile(resolve(__dirname, '../assets/logo.svg'), 'utf8');
|
||||
await generateSvgFavicon(svg, resolve(__dirname, '../public/img/favicon.svg'));
|
||||
await generate(svg, resolve(__dirname, '../public/img/gitea-lg.png'), {size: 880});
|
||||
await generate(svg, resolve(__dirname, '../public/img/gitea-512.png'), {size: 512});
|
||||
await generate(svg, resolve(__dirname, '../public/img/gitea-192.png'), {size: 192});
|
||||
await generate(svg, resolve(__dirname, '../public/img/gitea-sm.png'), {size: 120});
|
||||
await generate(svg, resolve(__dirname, '../public/img/avatar_default.png'), {size: 200});
|
||||
await generate(svg, resolve(__dirname, '../public/img/favicon.png'), {size: 180});
|
||||
await generate(svg, resolve(__dirname, '../public/img/apple-touch-icon.png'), {size: 180, bg: true});
|
||||
const gitea = process.argv.slice(2).includes('gitea');
|
||||
|
||||
const svg = await readFile(logoFile, 'utf8');
|
||||
await Promise.all([
|
||||
generateSvgFavicon(svg, resolve(__dirname, '../public/img/favicon.svg')),
|
||||
generateSvg(svg, resolve(__dirname, '../public/img/logo.svg')),
|
||||
generate(svg, resolve(__dirname, '../public/img/logo-lg.png'), {size: 880}),
|
||||
generate(svg, resolve(__dirname, '../public/img/logo-512.png'), {size: 512}),
|
||||
generate(svg, resolve(__dirname, '../public/img/logo-192.png'), {size: 192}),
|
||||
generate(svg, resolve(__dirname, '../public/img/logo-sm.png'), {size: 120}),
|
||||
generate(svg, resolve(__dirname, '../public/img/avatar_default.png'), {size: 200}),
|
||||
generate(svg, resolve(__dirname, '../public/img/favicon.png'), {size: 180}),
|
||||
generate(svg, resolve(__dirname, '../public/img/apple-touch-icon.png'), {size: 180, bg: true}),
|
||||
]);
|
||||
if (gitea) {
|
||||
await Promise.all([
|
||||
generateSvg(svg, resolve(__dirname, '../public/img/gitea.svg')),
|
||||
generate(svg, resolve(__dirname, '../public/img/gitea-192.png'), {size: 192}),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
main().then(exit).catch(exit);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue