0
0
mirror of https://github.com/go-gitea/gitea.git synced 2024-11-28 23:36:29 +01:00
gitea/web_src/fomantic/semantic.json
wxiaoguang 82224c54e0
Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653)
Fixes: #8972
Fixes: #24263

And I think it also (partially) fix #24263 (no need to convert) ,
because users could upload any supported image format if it isn't larger
than AVATAR_MAX_ORIGIN_SIZE


The main idea: 

* if the uploaded file size is not larger than AVATAR_MAX_ORIGIN_SIZE,
use the origin
* if the resized size is larger than the origin, use the origin

Screenshots:

JPG:

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/70e98bb0-ecb9-4c4e-a89f-4a37d4e37f8e)

</details>

APNG:

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/9055135b-5e2d-4152-bd72-596fcb7c6671)


![image](https://github.com/go-gitea/gitea/assets/2114189/50364caf-f7f6-4241-a289-e485fe4cd582)

</details>

WebP (animated)

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/f642eb85-498a-49a5-86bf-0a7b04089ae0)

</details>

The only exception: if a WebP image is larger than MaxOriginSize and it
is animated, then current `webp` package can't decode it, so only in
this case it isn't supported. IMO no need to support such case: why a
user would upload a 1MB animated webp as avatar? crazy .....

---------

Co-authored-by: silverwind <me@silverwind.io>
2023-05-13 20:59:11 +02:00

53 lines
928 B
JSON

{
"version": "2.8.7",
"base": "node_modules/fomantic-ui",
"paths": {
"source": {
"config": "src/theme.config",
"definitions": "src/definitions/",
"site": "src/site/",
"themes": "src/themes/"
},
"output": {
"packaged": "../../build/",
"uncompressed": "../../build/components/",
"compressed": "../../build/components/",
"themes": "../../build/themes/"
},
"clean": "../../build/"
},
"permission": false,
"autoInstall": false,
"rtl": false,
"admin": false,
"components": [
"api",
"button",
"checkbox",
"comment",
"container",
"dimmer",
"divider",
"dropdown",
"form",
"grid",
"header",
"input",
"item",
"label",
"list",
"loader",
"menu",
"message",
"modal",
"reset",
"search",
"segment",
"site",
"tab",
"table",
"text",
"transition"
]
}