Register WebVTT format to be previewable as text (#25289)

This commit is contained in:
Claudio Costa 2023-11-08 16:21:26 -06:00 committed by GitHub
parent be34a5d2df
commit e96fb9c32c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 1 deletions

View File

@ -1444,7 +1444,7 @@ export const Constants = {
MENTIONS_REGEX: /(?:\B|\b_+)@([a-z0-9.\-_]+)/gi,
DEFAULT_CHARACTER_LIMIT: 4000,
IMAGE_TYPE_GIF: 'gif',
TEXT_TYPES: ['txt', 'rtf'],
TEXT_TYPES: ['txt', 'rtf', 'vtt'],
IMAGE_TYPES: ['jpg', 'gif', 'bmp', 'png', 'jpeg', 'tiff', 'tif', 'psd'],
AUDIO_TYPES: ['mp3', 'wav', 'wma', 'm4a', 'flac', 'aac', 'ogg', 'm4r'],
VIDEO_TYPES: ['mp4', 'avi', 'webm', 'mkv', 'wmv', 'mpg', 'mov', 'flv'],
@ -1902,6 +1902,7 @@ export const Constants = {
vbscript: {name: 'VBScript', extensions: ['vbs'], aliases: ['vbs']},
verilog: {name: 'Verilog', extensions: ['v', 'veo', 'sv', 'svh']},
vhdl: {name: 'VHDL', extensions: ['vhd', 'vhdl'], aliases: ['vhd']},
vtt: {name: 'WebVTT', extensions: ['vtt'], aliases: ['vtt', 'webvtt']},
xml: {name: 'HTML, XML', extensions: ['xml', 'html', 'xhtml', 'rss', 'atom', 'xsl', 'plist']},
yaml: {name: 'YAML', extensions: ['yaml'], aliases: ['yml']},
},

View File

@ -3,6 +3,7 @@
import hlJS from 'highlight.js/lib/core';
import javascript from 'highlight.js/lib/languages/javascript';
import plaintext from 'highlight.js/lib/languages/plaintext';
import swift from 'highlight.js/lib/languages/swift';
import {highlight} from './syntax_highlighting';
@ -25,4 +26,12 @@ describe('utils/syntax_highlighting.tsx', () => {
expect(hlJS.registerLanguage).toHaveBeenCalledWith('javascript', javascript);
});
it('should register WebVTT format as plaintext', async () => {
expect.assertions(1);
await highlight('vtt', '');
expect(hlJS.registerLanguage).toHaveBeenCalledWith('vtt', plaintext);
});
});

View File

@ -145,6 +145,7 @@ async function registerLanguage(languageName: string) {
vbscript: () => import('highlight.js/lib/languages/vbscript'),
verilog: () => import('highlight.js/lib/languages/verilog'),
vhdl: () => import('highlight.js/lib/languages/vhdl'),
vtt: () => import('highlight.js/lib/languages/plaintext'),
xml: () => import('highlight.js/lib/languages/xml'),
yaml: () => import('highlight.js/lib/languages/yaml'),
};