1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-11-26 22:41:17 +02:00

Desktop, Mobile: Move several features from Extra Markdown Editor Settings into the main app (#12747)

This commit is contained in:
Henry Heino
2025-08-10 01:17:12 -07:00
committed by GitHub
parent 46ab00bfe4
commit ea1d2e4878
39 changed files with 1446 additions and 6 deletions

View File

@@ -7,6 +7,9 @@ import { OnMessageEvent, WebViewControl } from '../../components/ExtendedWebView
import { EditorEvent } from '@joplin/editor/events';
import Logger from '@joplin/utils/Logger';
import RNToWebViewMessenger from '../../utils/ipc/RNToWebViewMessenger';
import Resource from '@joplin/lib/models/Resource';
import { parseResourceUrl } from '@joplin/lib/urlUtils';
const { isImageMimeType } = require('@joplin/lib/resourceUtils');
const logger = Logger.create('markdownEditor');
@@ -109,6 +112,23 @@ const useWebViewSetup = ({
async onPasteFile(type, data) {
onAttachRef.current(type, data);
},
async onResolveImageSrc(src) {
const url = parseResourceUrl(src);
if (!url.itemId) return null;
const item = await Resource.load(url.itemId);
if (shim.mobilePlatform() === 'web') {
// Maximum 6 MiB on web
const maximumSize = 6 * 1024 * 1024;
if (isImageMimeType(item.mime) && item.size < maximumSize) {
const data = await shim.fsDriver().readFile(Resource.fullPath(item), 'base64');
return `data:${item.mime};base64,${data}`;
}
return null;
} else {
return Resource.fullPath(item);
}
},
};
const messenger = new RNToWebViewMessenger<MainProcessApi, EditorProcessApi>(
'markdownEditor', webviewRef, localApi,