You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-24 20:19:10 +02:00
Compare commits
7 Commits
android-v3
...
remove-pdf
Author | SHA1 | Date | |
---|---|---|---|
|
3dc78cad61 | ||
|
f7d14c7afb | ||
|
4ff78b9b57 | ||
|
c442abd65f | ||
|
0e2e867140 | ||
|
476906849b | ||
|
8fd54d41cb |
@@ -641,8 +641,8 @@ function CodeMirror(props: NoteBodyEditorProps, ref: any) {
|
|||||||
resourceInfos: props.resourceInfos,
|
resourceInfos: props.resourceInfos,
|
||||||
contentMaxWidth: props.contentMaxWidth,
|
contentMaxWidth: props.contentMaxWidth,
|
||||||
mapsToLine: true,
|
mapsToLine: true,
|
||||||
// Always using useCustomPdfViewer for now, we can add a new setting for it in future if we need to.
|
// turning off custom pdf viewer; ref: https://github.com/laurent22/joplin/issues/8028
|
||||||
useCustomPdfViewer: props.useCustomPdfViewer,
|
useCustomPdfViewer: false,
|
||||||
noteId: props.noteId,
|
noteId: props.noteId,
|
||||||
vendorDir: bridge().vendorDir(),
|
vendorDir: bridge().vendorDir(),
|
||||||
}));
|
}));
|
||||||
|
@@ -7,6 +7,8 @@ import { ContextMenuItemType, ContextMenuOptions } from './NoteEditor/utils/cont
|
|||||||
import CommandService from '@joplin/lib/services/CommandService';
|
import CommandService from '@joplin/lib/services/CommandService';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { themeStyle } from '@joplin/lib/theme';
|
import { themeStyle } from '@joplin/lib/theme';
|
||||||
|
const Entities = require('html-entities').AllHtmlEntities;
|
||||||
|
const htmlentities = new Entities().encode;
|
||||||
|
|
||||||
const Window = styled.div`
|
const Window = styled.div`
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -19,12 +21,6 @@ const Window = styled.div`
|
|||||||
color: ${(props: any) => props.theme.color};
|
color: ${(props: any) => props.theme.color};
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const IFrame = styled.iframe`
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
border: none;
|
|
||||||
`;
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
themeId: number;
|
themeId: number;
|
||||||
dispatch: Function;
|
dispatch: Function;
|
||||||
@@ -93,13 +89,12 @@ export default function PdfViewer(props: Props) {
|
|||||||
|
|
||||||
const theme = themeStyle(props.themeId);
|
const theme = themeStyle(props.themeId);
|
||||||
|
|
||||||
|
const escapedResourcePath = htmlentities(Resource.fullPath(props.resource));
|
||||||
|
const escapedMime = htmlentities('application/pdf');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Window theme={theme}>
|
<Window theme={theme}>
|
||||||
<IFrame src="./vendor/lib/@joplin/pdf-viewer/index.html" x-url={Resource.fullPath(props.resource)}
|
<object data={escapedResourcePath} className="media-player media-pdf" type={escapedMime}></object>;
|
||||||
x-appearance={theme.appearance} ref={iframeRef}
|
|
||||||
x-title={props.resource.title}
|
|
||||||
x-anchorpage={props.pageNo}
|
|
||||||
x-type="full"></IFrame>
|
|
||||||
</Window>
|
</Window>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -138,7 +138,6 @@
|
|||||||
"@fortawesome/fontawesome-free": "5.15.4",
|
"@fortawesome/fontawesome-free": "5.15.4",
|
||||||
"@joeattardi/emoji-button": "4.6.4",
|
"@joeattardi/emoji-button": "4.6.4",
|
||||||
"@joplin/lib": "~2.11",
|
"@joplin/lib": "~2.11",
|
||||||
"@joplin/pdf-viewer": "~2.11",
|
|
||||||
"@joplin/renderer": "~2.11",
|
"@joplin/renderer": "~2.11",
|
||||||
"async-mutex": "0.4.0",
|
"async-mutex": "0.4.0",
|
||||||
"codemirror": "5.65.9",
|
"codemirror": "5.65.9",
|
||||||
@@ -150,6 +149,7 @@
|
|||||||
"formatcoords": "1.1.3",
|
"formatcoords": "1.1.3",
|
||||||
"fs-extra": "11.1.1",
|
"fs-extra": "11.1.1",
|
||||||
"highlight.js": "11.7.0",
|
"highlight.js": "11.7.0",
|
||||||
|
"html-entities": "1.4.0",
|
||||||
"immer": "7.0.15",
|
"immer": "7.0.15",
|
||||||
"keytar": "7.9.0",
|
"keytar": "7.9.0",
|
||||||
"mark.js": "8.11.1",
|
"mark.js": "8.11.1",
|
||||||
|
@@ -72,10 +72,6 @@ async function main() {
|
|||||||
src: langSourceDir,
|
src: langSourceDir,
|
||||||
dest: `${buildLibDir}/tinymce/langs`,
|
dest: `${buildLibDir}/tinymce/langs`,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
src: resolve(__dirname, '../../pdf-viewer/dist'),
|
|
||||||
dest: `${buildLibDir}/@joplin/pdf-viewer`,
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const files = [
|
const files = [
|
||||||
@@ -93,10 +89,6 @@ async function main() {
|
|||||||
src: resolve(__dirname, '../../lib/services/plugins/sandboxProxy.js'),
|
src: resolve(__dirname, '../../lib/services/plugins/sandboxProxy.js'),
|
||||||
dest: `${buildLibDir}/@joplin/lib/services/plugins/sandboxProxy.js`,
|
dest: `${buildLibDir}/@joplin/lib/services/plugins/sandboxProxy.js`,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
src: resolve(__dirname, '../../pdf-viewer/index.html'),
|
|
||||||
dest: `${buildLibDir}/@joplin/pdf-viewer/index.html`,
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// First we delete all the destination directories, then we copy the files.
|
// First we delete all the destination directories, then we copy the files.
|
||||||
|
@@ -1395,7 +1395,7 @@ class Setting extends BaseModel {
|
|||||||
useCustomPdfViewer: {
|
useCustomPdfViewer: {
|
||||||
value: false,
|
value: false,
|
||||||
type: SettingItemType.Bool,
|
type: SettingItemType.Bool,
|
||||||
public: true,
|
public: false,
|
||||||
advanced: true,
|
advanced: true,
|
||||||
appTypes: [AppType.Desktop],
|
appTypes: [AppType.Desktop],
|
||||||
label: () => 'Use custom PDF viewer (Beta)',
|
label: () => 'Use custom PDF viewer (Beta)',
|
||||||
|
@@ -19,7 +19,7 @@ function resourceUrl(resourceFullPath: string): string {
|
|||||||
return `file://${toForwardSlashes(resourceFullPath)}`;
|
return `file://${toForwardSlashes(resourceFullPath)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function(link: Link, options: Options, linkIndexes: LinkIndexes) {
|
export default function(link: Link, options: Options, _linkIndexes: LinkIndexes) {
|
||||||
const resource = link.resource;
|
const resource = link.resource;
|
||||||
|
|
||||||
if (!link.resourceReady || !resource || !resource.mime) return '';
|
if (!link.resourceReady || !resource || !resource.mime) return '';
|
||||||
@@ -47,32 +47,6 @@ export default function(link: Link, options: Options, linkIndexes: LinkIndexes)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (options.pdfViewerEnabled && resource.mime === 'application/pdf') {
|
if (options.pdfViewerEnabled && resource.mime === 'application/pdf') {
|
||||||
|
|
||||||
if (options.useCustomPdfViewer) {
|
|
||||||
const resourceId = resource.id;
|
|
||||||
let anchorPageNo = null;
|
|
||||||
|
|
||||||
let id = `${options.noteId}.${resourceId}`;
|
|
||||||
if (linkIndexes && linkIndexes[resourceId]) {
|
|
||||||
linkIndexes[resourceId]++;
|
|
||||||
} else {
|
|
||||||
linkIndexes[resourceId] = 1;
|
|
||||||
}
|
|
||||||
id += `.${linkIndexes[resourceId]}`;
|
|
||||||
|
|
||||||
if (link.href.indexOf('#') > 0) {
|
|
||||||
anchorPageNo = Number(link.href.split('#').pop());
|
|
||||||
if (anchorPageNo < 1) anchorPageNo = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const src = `${options.vendorDir}/lib/@joplin/pdf-viewer/index.html`;
|
|
||||||
|
|
||||||
return `<iframe src="${src}" x-url="${escapedResourcePath}"
|
|
||||||
x-appearance="${options.theme.appearance}" ${anchorPageNo ? `x-anchorPage="${anchorPageNo}"` : ''} id="${id}"
|
|
||||||
x-type="mini" x-resourceid="${resourceId}"
|
|
||||||
class="media-player media-pdf"></iframe>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return `<object data="${escapedResourcePath}" class="media-player media-pdf" type="${escapedMime}"></object>`;
|
return `<object data="${escapedResourcePath}" class="media-player media-pdf" type="${escapedMime}"></object>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
85
yarn.lock
85
yarn.lock
@@ -4839,7 +4839,6 @@ __metadata:
|
|||||||
"@fortawesome/fontawesome-free": 5.15.4
|
"@fortawesome/fontawesome-free": 5.15.4
|
||||||
"@joeattardi/emoji-button": 4.6.4
|
"@joeattardi/emoji-button": 4.6.4
|
||||||
"@joplin/lib": ~2.11
|
"@joplin/lib": ~2.11
|
||||||
"@joplin/pdf-viewer": ~2.11
|
|
||||||
"@joplin/renderer": ~2.11
|
"@joplin/renderer": ~2.11
|
||||||
"@joplin/tools": ~2.11
|
"@joplin/tools": ~2.11
|
||||||
"@testing-library/react-hooks": 8.0.1
|
"@testing-library/react-hooks": 8.0.1
|
||||||
@@ -4864,6 +4863,7 @@ __metadata:
|
|||||||
glob: 8.1.0
|
glob: 8.1.0
|
||||||
gulp: 4.0.2
|
gulp: 4.0.2
|
||||||
highlight.js: 11.7.0
|
highlight.js: 11.7.0
|
||||||
|
html-entities: 1.4.0
|
||||||
immer: 7.0.15
|
immer: 7.0.15
|
||||||
jest: 29.4.3
|
jest: 29.4.3
|
||||||
jest-environment-jsdom: 29.4.3
|
jest-environment-jsdom: 29.4.3
|
||||||
@@ -5144,7 +5144,7 @@ __metadata:
|
|||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
"@joplin/pdf-viewer@workspace:packages/pdf-viewer, @joplin/pdf-viewer@~2.11":
|
"@joplin/pdf-viewer@workspace:packages/pdf-viewer":
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "@joplin/pdf-viewer@workspace:packages/pdf-viewer"
|
resolution: "@joplin/pdf-viewer@workspace:packages/pdf-viewer"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -11234,6 +11234,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"canvas@npm:^2.11.0":
|
||||||
|
version: 2.11.2
|
||||||
|
resolution: "canvas@npm:2.11.2"
|
||||||
|
dependencies:
|
||||||
|
"@mapbox/node-pre-gyp": ^1.0.0
|
||||||
|
nan: ^2.17.0
|
||||||
|
node-gyp: latest
|
||||||
|
simple-get: ^3.0.3
|
||||||
|
checksum: 61e554aef80022841dc836964534082ec21435928498032562089dfb7736215f039c7d99ee546b0cf10780232d9bf310950f8b4d489dc394e0fb6f6adfc97994
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"capital-case@npm:^1.0.4":
|
"capital-case@npm:^1.0.4":
|
||||||
version: 1.0.4
|
version: 1.0.4
|
||||||
resolution: "capital-case@npm:1.0.4"
|
resolution: "capital-case@npm:1.0.4"
|
||||||
@@ -13824,6 +13836,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"decompress-response@npm:^4.2.0":
|
||||||
|
version: 4.2.1
|
||||||
|
resolution: "decompress-response@npm:4.2.1"
|
||||||
|
dependencies:
|
||||||
|
mimic-response: ^2.0.0
|
||||||
|
checksum: 4e783ca4dfe9417354d61349750fe05236f565a4415a6ca20983a311be2371debaedd9104c0b0e7b36e5f167aeaae04f84f1a0b3f8be4162f1d7d15598b8fdba
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"decompress-response@npm:^6.0.0":
|
"decompress-response@npm:^6.0.0":
|
||||||
version: 6.0.0
|
version: 6.0.0
|
||||||
resolution: "decompress-response@npm:6.0.0"
|
resolution: "decompress-response@npm:6.0.0"
|
||||||
@@ -14601,7 +14622,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"dommatrix@npm:^1.0.1, dommatrix@npm:^1.0.3":
|
"dommatrix@npm:^1.0.3":
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
resolution: "dommatrix@npm:1.0.3"
|
resolution: "dommatrix@npm:1.0.3"
|
||||||
checksum: 8ac727c1a14cf8de30a5b49a3bd6b2622a661b391fe1ac54e855eaa14a857ed86d63492150b5f70f912acc24fa3acc31d750259c47e9b5801de237624b0a319f
|
checksum: 8ac727c1a14cf8de30a5b49a3bd6b2622a661b391fe1ac54e855eaa14a857ed86d63492150b5f70f912acc24fa3acc31d750259c47e9b5801de237624b0a319f
|
||||||
@@ -23527,6 +23548,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"mimic-response@npm:^2.0.0":
|
||||||
|
version: 2.1.0
|
||||||
|
resolution: "mimic-response@npm:2.1.0"
|
||||||
|
checksum: 014fad6ab936657e5f2f48bd87af62a8e928ebe84472aaf9e14fec4fcb31257a5edff77324d8ac13ddc6685ba5135cf16e381efac324e5f174fb4ddbf902bf07
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"mimic-response@npm:^3.1.0":
|
"mimic-response@npm:^3.1.0":
|
||||||
version: 3.1.0
|
version: 3.1.0
|
||||||
resolution: "mimic-response@npm:3.1.0"
|
resolution: "mimic-response@npm:3.1.0"
|
||||||
@@ -24034,7 +24062,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"nan@npm:2.17.0":
|
"nan@npm:2.17.0, nan@npm:^2.17.0":
|
||||||
version: 2.17.0
|
version: 2.17.0
|
||||||
resolution: "nan@npm:2.17.0"
|
resolution: "nan@npm:2.17.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -24068,7 +24096,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"nanoid@npm:3.3.6":
|
"nanoid@npm:3.3.6, nanoid@npm:^3.3.6":
|
||||||
version: 3.3.6
|
version: 3.3.6
|
||||||
resolution: "nanoid@npm:3.3.6"
|
resolution: "nanoid@npm:3.3.6"
|
||||||
bin:
|
bin:
|
||||||
@@ -26017,6 +26045,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"path2d-polyfill@npm:^2.0.1":
|
||||||
|
version: 2.0.1
|
||||||
|
resolution: "path2d-polyfill@npm:2.0.1"
|
||||||
|
checksum: e38a4f920be3550e8334b899cc56f4fca0a976ca69404ee10d656a45d422996b7e27e294e2cf0aac2e410ce59d6977cde9f95586e62a24e6c904716695e059f8
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"pbkdf2@npm:^3.0.3":
|
"pbkdf2@npm:^3.0.3":
|
||||||
version: 3.1.2
|
version: 3.1.2
|
||||||
resolution: "pbkdf2@npm:3.1.2"
|
resolution: "pbkdf2@npm:3.1.2"
|
||||||
@@ -26038,17 +26073,16 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pdfjs-dist@npm:*":
|
"pdfjs-dist@npm:*":
|
||||||
version: 2.14.305
|
version: 3.5.141
|
||||||
resolution: "pdfjs-dist@npm:2.14.305"
|
resolution: "pdfjs-dist@npm:3.5.141"
|
||||||
dependencies:
|
dependencies:
|
||||||
dommatrix: ^1.0.1
|
canvas: ^2.11.0
|
||||||
|
path2d-polyfill: ^2.0.1
|
||||||
web-streams-polyfill: ^3.2.1
|
web-streams-polyfill: ^3.2.1
|
||||||
peerDependencies:
|
dependenciesMeta:
|
||||||
worker-loader: ^3.0.8
|
canvas:
|
||||||
peerDependenciesMeta:
|
|
||||||
worker-loader:
|
|
||||||
optional: true
|
optional: true
|
||||||
checksum: b75443f81e500856e3a7b61303d1f621f81e82b19fc6216f74d33a70d1ef392bb8b2ca4cfa39f11e7c0a877e6d6d74b474768988dcf3299d5d8a1d996d48f856
|
checksum: b58e801b92a0d7b58b3799c0cf48f35deb45e140ef488744251a3e3dd148acef7aef4edfb8c7622b342c7068e8b7c01b754546ed0e60897e48665fa45af9d845
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -26397,12 +26431,12 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4":
|
"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4":
|
||||||
version: 6.0.10
|
version: 6.0.11
|
||||||
resolution: "postcss-selector-parser@npm:6.0.10"
|
resolution: "postcss-selector-parser@npm:6.0.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
cssesc: ^3.0.0
|
cssesc: ^3.0.0
|
||||||
util-deprecate: ^1.0.2
|
util-deprecate: ^1.0.2
|
||||||
checksum: 46afaa60e3d1998bd7adf6caa374baf857cc58d3ff944e29459c9a9e4680a7fe41597bd5b755fc81d7c388357e9bf67c0251d047c640a09f148e13606b8a8608
|
checksum: 0b01aa9c2d2c8dbeb51e9b204796b678284be9823abc8d6d40a8b16d4149514e922c264a8ed4deb4d6dbced564b9be390f5942c058582d8656351516d6c49cde
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -26460,13 +26494,13 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss@npm:^8.4.19":
|
"postcss@npm:^8.4.19":
|
||||||
version: 8.4.20
|
version: 8.4.23
|
||||||
resolution: "postcss@npm:8.4.20"
|
resolution: "postcss@npm:8.4.23"
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: ^3.3.4
|
nanoid: ^3.3.6
|
||||||
picocolors: ^1.0.0
|
picocolors: ^1.0.0
|
||||||
source-map-js: ^1.0.2
|
source-map-js: ^1.0.2
|
||||||
checksum: 1a5609ea1c1b204f9c2974a0019ae9eef2d99bf645c2c9aac675166c4cb1005be7b5e2ba196160bc771f5d9ac896ed883f236f888c891e835e59d28fff6651aa
|
checksum: 8bb9d1b2ea6e694f8987d4f18c94617971b2b8d141602725fedcc2222fdc413b776a6e1b969a25d627d7b2681ca5aabb56f59e727ef94072e1b6ac8412105a2f
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -29582,6 +29616,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"simple-get@npm:^3.0.3":
|
||||||
|
version: 3.1.1
|
||||||
|
resolution: "simple-get@npm:3.1.1"
|
||||||
|
dependencies:
|
||||||
|
decompress-response: ^4.2.0
|
||||||
|
once: ^1.3.1
|
||||||
|
simple-concat: ^1.0.0
|
||||||
|
checksum: 80195e70bf171486e75c31e28e5485468195cc42f85940f8b45c4a68472160144d223eb4d07bc82ef80cb974b7c401db021a540deb2d34ac4b3b8883da2d6401
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"simple-get@npm:^4.0.0":
|
"simple-get@npm:^4.0.0":
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
resolution: "simple-get@npm:4.0.0"
|
resolution: "simple-get@npm:4.0.0"
|
||||||
|
Reference in New Issue
Block a user