diff --git a/src/renderer/manage/pages/assets/icons/avif.webp b/src/renderer/manage/pages/assets/icons/avif.webp new file mode 100644 index 0000000..357472f Binary files /dev/null and b/src/renderer/manage/pages/assets/icons/avif.webp differ diff --git a/src/renderer/manage/utils/icon.ts b/src/renderer/manage/utils/icon.ts index cd47e91..880fc62 100644 --- a/src/renderer/manage/utils/icon.ts +++ b/src/renderer/manage/utils/icon.ts @@ -21,6 +21,7 @@ export const availableIconList = [ 'au', 'avc', 'avi', + 'avif', 'avs', 'bak', 'bas', diff --git a/src/universal/utils/common.ts b/src/universal/utils/common.ts index 7559dbc..fe96ebf 100644 --- a/src/universal/utils/common.ts +++ b/src/universal/utils/common.ts @@ -66,14 +66,15 @@ export function encodeFilePath(filePath: string) { export const getExtension = (fileName: string) => path.extname(fileName).slice(1) export const isImage = (fileName: string) => - ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'ico', 'svg'].includes(getExtension(fileName)) + ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'ico', 'svg', 'avif'].includes(getExtension(fileName)) -export const formatEndpoint = (endpoint: string, sslEnabled: boolean): string => - !/^https?:\/\//.test(endpoint) - ? `${sslEnabled ? 'https' : 'http'}://${endpoint}` - : sslEnabled - ? endpoint.replace('http://', 'https://') - : endpoint.replace('https://', 'http://') +export const formatEndpoint = (endpoint: string, sslEnabled: boolean): string => { + const hasProtocol = /^https?:\/\//.test(endpoint) + if (!hasProtocol) { + return `${sslEnabled ? 'https' : 'http'}://${endpoint}` + } + return sslEnabled ? endpoint.replace(/^http:\/\//, 'https://') : endpoint.replace(/^https:\/\//, 'http://') +} export const trimPath = (path: string) => path.replace(/^\/+|\/+$/g, '').replace(/\/+/g, '/') diff --git a/supported_format.md b/supported_format.md index 0672d10..a95e301 100644 --- a/supported_format.md +++ b/supported_format.md @@ -1,53 +1,54 @@ -# 支持预览的文件格式列表 - -### 图片 - -| 格式 | 描述 | 格式 | 描述 | -| :-----------------------------------------------------: | :----------: | :-------------------------------------------------------------: | :----------------: | -| [.bmp](https://en.wikipedia.org/wiki/BMP_file_format) | 位图文件格式 | [.jpeg/.jpg](https://en.wikipedia.org/wiki/JPEG) | 联合照片专家组格式 | -| [.gif](https://en.wikipedia.org/wiki/GIF) | 图形交换格式 | [.png](https://en.wikipedia.org/wiki/Portable_Network_Graphics) | 可移植网络图形格式 | -| [.ico](https://en.wikipedia.org/wiki/ICO_(file_format)) | 图标文件格式 | [.webp](https://developers.google.com/speed/webp/) | WebP格式 | - -### 文本 - -| 格式 | 描述 | 格式 | 描述 | -| :------------: | :-----------------: | :---------------: | :----------------: | -| .bat | 批处理文件 | .java | Java源代码文件 | -| .c | C语言源代码文件 | .js | JavaScript文件 | -| .cmd | Windows命令脚本文件 | .json | JSON文件 | -| .conf | 配置文件 | .log | 日志文件 | -| .config | 配置文件 | .php | PHP源代码文件 | -| .cpp | C++源代码文件 | .prop/.properties | 属性文件 | -| .css | 层叠样式表文件 | .py | Python源代码文件 | -| .csv | 逗号分隔值文件 | .rc | Windows资源文件 | -| .dart | Dart源代码文件 | .sh | Shell脚本文件 | -| .gitattributes | Git属性文件 | .tsv | 制表符分隔值文件 | -| .gitconfig | Git配置文件 | .txt | 纯文本文件 | -| .gitignore | Git忽略文件 | .xml | XML文件 | -| .gitkeep | Git保留文件 | .yaml/.yml | YAML文件 | -| .gitmodules | Git子模块文件 | .yarnrc | Yarn配置文件 | -| .go | Go源代码文件 | LICENSE | 许可证文件 | -| .h | 头文件 | .condarc | Conda配置文件 | -| .hpp | C++头文件 | .md | Markdown文件 | -| .htm/.html | HTML文件 | .jsx/.tsx/.vue | JSX文件等 | -| .applescript | AppleScript脚本文件 | .eslintignore | ESLint忽略文件 | -| .lock | 锁文件 | .ps1 | PowerShell脚本文件 | - -### 视频 - -| 格式 | 描述 | 格式 | 描述 | -| :---: | :-------------------: | :---: | :-----------------------------: | -| .aac | AAC音频文件 | .mpeg | MPEG视频文件 | -| .amv | AMV视频文件 | .mpg | MPEG视频文件 | -| .avi | AVI视频文件 | .mts | AVCHD视频文件 | -| .flac | FLAC音频文件 | .ogg | Ogg Vorbis音频文件 | -| .flv | Flash视频文件 | .ogv | Ogg Theora视频文件 | -| .m2ts | M2TS视频文件 | .vob | DVD视频文件 | -| .m4a | MPEG-4音频文件 | .wav | WAV音频文件 | -| .m4v | MPEG-4视频文件 | .webm | WebM视频文件 | -| .mp3 | MP3音频文件 | .mp4 | MPEG-4视频文件 | -| .mov | QuickTime视频文件 | .3g2 | 3GPP2视频文件 | -| .mp4 | MPEG-4视频文件 | .3gp | 3GPP视频文件 | -| .mxf | MXF视频文件 | .asf | Advanced Systems Format视频文件 | -| .rm | RealMedia视频文件 | .rmvb | RealMedia可变比特率视频文件 | -| .wmv | Windows Media视频文件 | .mkv | Matroska视频文件 | +# 支持预览的文件格式列表 + +### 图片 + +| 格式 | 描述 | 格式 | 描述 | +| :---: | :----------: | :--------: | :----------------: | +| .bmp | 位图文件格式 | .jpeg/.jpg | 联合照片专家组格式 | +| .gif | 图形交换格式 | .png | 可移植网络图形格式 | +| .ico | 图标文件格式 | .webp | WebP格式 | +| .svg | 可缩放矢量图 | .avif | AVIF格式 | + +### 文本 + +| 格式 | 描述 | 格式 | 描述 | +| :------------: | :-----------------: | :---------------: | :----------------: | +| .bat | 批处理文件 | .java | Java源代码文件 | +| .c | C语言源代码文件 | .js | JavaScript文件 | +| .cmd | Windows命令脚本文件 | .json | JSON文件 | +| .conf | 配置文件 | .log | 日志文件 | +| .config | 配置文件 | .php | PHP源代码文件 | +| .cpp | C++源代码文件 | .prop/.properties | 属性文件 | +| .css | 层叠样式表文件 | .py | Python源代码文件 | +| .csv | 逗号分隔值文件 | .rc | Windows资源文件 | +| .dart | Dart源代码文件 | .sh | Shell脚本文件 | +| .gitattributes | Git属性文件 | .tsv | 制表符分隔值文件 | +| .gitconfig | Git配置文件 | .txt | 纯文本文件 | +| .gitignore | Git忽略文件 | .xml | XML文件 | +| .gitkeep | Git保留文件 | .yaml/.yml | YAML文件 | +| .gitmodules | Git子模块文件 | .yarnrc | Yarn配置文件 | +| .go | Go源代码文件 | LICENSE | 许可证文件 | +| .h | 头文件 | .condarc | Conda配置文件 | +| .hpp | C++头文件 | .md | Markdown文件 | +| .htm/.html | HTML文件 | .jsx/.tsx/.vue | JSX文件等 | +| .applescript | AppleScript脚本文件 | .eslintignore | ESLint忽略文件 | +| .lock | 锁文件 | .ps1 | PowerShell脚本文件 | + +### 视频 + +| 格式 | 描述 | 格式 | 描述 | +| :---: | :-------------------: | :---: | :-----------------------------: | +| .aac | AAC音频文件 | .mpeg | MPEG视频文件 | +| .amv | AMV视频文件 | .mpg | MPEG视频文件 | +| .avi | AVI视频文件 | .mts | AVCHD视频文件 | +| .flac | FLAC音频文件 | .ogg | Ogg Vorbis音频文件 | +| .flv | Flash视频文件 | .ogv | Ogg Theora视频文件 | +| .m2ts | M2TS视频文件 | .vob | DVD视频文件 | +| .m4a | MPEG-4音频文件 | .wav | WAV音频文件 | +| .m4v | MPEG-4视频文件 | .webm | WebM视频文件 | +| .mp3 | MP3音频文件 | .mp4 | MPEG-4视频文件 | +| .mov | QuickTime视频文件 | .3g2 | 3GPP2视频文件 | +| .mp4 | MPEG-4视频文件 | .3gp | 3GPP视频文件 | +| .mxf | MXF视频文件 | .asf | Advanced Systems Format视频文件 | +| .rm | RealMedia视频文件 | .rmvb | RealMedia可变比特率视频文件 | +| .wmv | Windows Media视频文件 | .mkv | Matroska视频文件 |