You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-13 00:10:37 +02:00
This commit is contained in:
@ -0,0 +1,9 @@
|
||||
<p>
|
||||
SVG image:
|
||||
|
||||
<img src="data:image/svg+xml;utf8,
|
||||
<svg width="1700" height="1536" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m0,0%20l100,1000%20l200,0%20z"/>
|
||||
</svg>"/>
|
||||
</p>
|
||||
<p>PNG image: <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAR0lEQVQIW4XLMQoAIQwF0flpBEHwtOlUsPW6gZTushfYqd8IuHtvxhhI4pyD1lq3905EYGa01tB9m3N+IjNxd/S711oppfAAOjQiFPMurHkAAAAASUVORK5CYII="></p>
|
3
packages/app-cli/tests/html_to_md/image_utf8_data_url.md
Normal file
3
packages/app-cli/tests/html_to_md/image_utf8_data_url.md
Normal file
@ -0,0 +1,3 @@
|
||||
SVG image: 
|
||||
|
||||
PNG image: 
|
@ -0,0 +1,2 @@
|
||||
<p>SVG image: <img src="data:image/svg+xml;utf8,%3Csvg%20width=%221700%22%20height=%221536%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%20%3Cpath%20d=%22m0,0%20l100,1000%20l200,0%20z%22/%3E%20%3C/svg%3E" alt=""></p>
|
||||
<p>PNG image: <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAR0lEQVQIW4XLMQoAIQwF0flpBEHwtOlUsPW6gZTushfYqd8IuHtvxhhI4pyD1lq3905EYGa01tB9m3N+IjNxd/S711oppfAAOjQiFPMurHkAAAAASUVORK5CYII=" alt=""></p>
|
3
packages/app-cli/tests/md_to_html/image_with_data_url.md
Normal file
3
packages/app-cli/tests/md_to_html/image_with_data_url.md
Normal file
@ -0,0 +1,3 @@
|
||||
SVG image: 
|
||||
|
||||
PNG image: 
|
@ -608,6 +608,14 @@ const TinyMCE = (props: NoteBodyEditorProps, ref: any) => {
|
||||
localization_function: _,
|
||||
contextmenu: false,
|
||||
browser_spellcheck: true,
|
||||
|
||||
// Work around an issue where images with a base64 SVG data URL would be broken.
|
||||
//
|
||||
// See https://github.com/tinymce/tinymce/issues/3864
|
||||
//
|
||||
// This was fixed in TinyMCE 6.1, so remove it when we upgrade.
|
||||
images_dataimg_filter: (img: HTMLImageElement) => !img.src.startsWith('data:'),
|
||||
|
||||
formats: {
|
||||
joplinHighlight: { inline: 'mark', remove: 'all' },
|
||||
joplinStrikethrough: { inline: 's', remove: 'all' },
|
||||
|
@ -7,7 +7,7 @@ export default function(url: string) {
|
||||
// url should be normalized at this point, and existing entities are decoded
|
||||
const str = url.trim().toLowerCase();
|
||||
|
||||
if (str.indexOf('data:image/svg+xml,') === 0) {
|
||||
if (str.startsWith('data:image/svg+xml,') || str.startsWith('data:image/svg+xml;utf8,')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -293,6 +293,9 @@ function filterLinkHref (href) {
|
||||
// Replace the spaces with %20 because otherwise they can cause problems for some
|
||||
// renderer and space is not a valid URL character anyway.
|
||||
href = href.replace(/ /g, '%20');
|
||||
// Newlines and tabs also break renderers
|
||||
href = href.replace(/\n/g, '%0A');
|
||||
href = href.replace(/\t/g, '%09');
|
||||
// Brackets also should be escaped
|
||||
href = href.replace(/\(/g, '%28');
|
||||
href = href.replace(/\)/g, '%29');
|
||||
|
Reference in New Issue
Block a user