+4![gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)









Yeuoly
GitHub
Stream
lyzno1
zhsama
Harry
lyzno1
yessenia
hjlarry
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
WTW0313
Copilot
b76e17b25d
Signed-off-by: lyzno1 <[email protected]> Co-authored-by: Stream <[email protected]> Co-authored-by: lyzno1 <[email protected]> Co-authored-by: zhsama <[email protected]> Co-authored-by: Harry <[email protected]> Co-authored-by: lyzno1 <[email protected]> Co-authored-by: yessenia <[email protected]> Co-authored-by: hjlarry <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: WTW0313 <[email protected]> Co-authored-by: Copilot <[email protected]>
15 lines
617 B
TypeScript
15 lines
617 B
TypeScript
import { ALLOW_UNSAFE_DATA_SCHEME, MARKETPLACE_API_PREFIX } from '@/config'
|
|
|
|
export const isValidUrl = (url: string): boolean => {
|
|
const validPrefixes = ['http:', 'https:', '//', 'mailto:']
|
|
if (ALLOW_UNSAFE_DATA_SCHEME) validPrefixes.push('data:')
|
|
return validPrefixes.some(prefix => url.startsWith(prefix))
|
|
}
|
|
|
|
export const getMarkdownImageURL = (url: string, pathname?: string) => {
|
|
const regex = /(^\.\/_assets|^_assets)/
|
|
if (regex.test(url))
|
|
return `${MARKETPLACE_API_PREFIX}${MARKETPLACE_API_PREFIX.endsWith('/') ? '' : '/'}plugins/${pathname ?? ''}${url.replace(regex, '/_assets')}`
|
|
return url
|
|
}
|