Web 媒体资源
在 Web 应用中,除去基本的 html、css、js 等基本的代码文本文件,浏览器原生集成了一些额外的媒体资源格式,包括图片文件、声音文件、视频文件等在内。
- 文本文件
- 文档文件
- 图片文件
- 音乐文件
- 视频文件
- 模型文件
- 压缩文件
Web 端媒体编辑
受限于 Web 端的性能不足的因素,使用 Web 编辑媒体文件主要集中在文本、文档、图片这三个。在这三种文件中,基本可以被 md 和 svg 包揽。此二者具有极高的 web 兼容性、通用性、可编辑性,基于纯文本。
- 文本文件。纯文本文件无需定稿
- markdown 文件。在 Web 端的一等公民,具有强大的兼容性和可定制性,能够支持简单的排版和样式,能够基于各种编辑器使用扩展语法,例如:github 的 emoji 扩展、html 标签混用、数学公式扩展等。还有一些 SSG 框架中的特殊扩展语法,例如 vitepress 静态站点生成、slidev 演示文稿生成。相较于 word 文档,它牺牲了一定的功能,换来了其轻量性。
- 代码文件。纯文本,但是需要提供文字的语法高亮显示和智能提示。
- 文档文件。在 Web 端上一般称为富文本编辑器,可以分为传统派和块风格。需要定稿成 pdf 文件。
- 传统富文本编辑器 (WYSIWYG),支持尽可能趋近于 word 文档的 web 端富文本编辑。
- 块风格文本编辑器(Block-style),对 word 做减法,支持有限的 word 能力,提供更加简洁的功能集和强大的兼容性。
- 数据表格编辑器(web 端数据处理)
- 图片文件。定稿成 svg 或者 png。
- 矢量图形 svg。使用数学公式和几何形状(如点、线、曲线和多边形)来描述图像。这意味着图像是通过一系列指令生成的,而不是固定的像素网格。由于 svg 在 web 端的强大兼容性,web 端的图形经常使用 svg 作为载体。相较于栅格图像,它牺牲了复杂图像的描述能力,换来了其轻量性和纯文本描述的能力。
- 栅格图像 png、jpg、gif。由像素网格组成,每个像素都有特定的颜色和位置。图像在放大的时候会由于像素的密度不够而导致图像模糊,并且在特定的像素下,展示图像会出现锯齿的情况。
推荐框架或库:
- 文本文件:
- markdown:marked、markdown-it
- 代码文件:Codemirror、Monaco Editor
- 文档文件
- WYSIWYG:quill、tinymce,前者开源免费,后者免费版阉割
- block-style:Editor.js
- 数据表格:Handsontable
- 演示文件:slidev、revealjs
- 图片文件
- 矢量图像:draw.io
- 栅格图像:tui-editor