@jupyterlab/rendermime-extension 4.0.0-alpha.2 → 4.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -8,8 +8,8 @@
8
8
  */
9
9
  import { ISanitizer } from '@jupyterlab/apputils';
10
10
  import { IDocumentManager } from '@jupyterlab/docmanager';
11
- import { ILatexTypesetter, IRenderMimeRegistry, RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime';
12
- import { ITranslator } from '@jupyterlab/translation';
11
+ import { ILatexTypesetter, IMarkdownParser, IRenderMimeRegistry, RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime';
12
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
13
13
  var CommandIDs;
14
14
  (function (CommandIDs) {
15
15
  CommandIDs.handleLink = 'rendermime:handle-local-link';
@@ -19,8 +19,13 @@ var CommandIDs;
19
19
  */
20
20
  const plugin = {
21
21
  id: '@jupyterlab/rendermime-extension:plugin',
22
- requires: [ITranslator],
23
- optional: [IDocumentManager, ILatexTypesetter, ISanitizer],
22
+ optional: [
23
+ IDocumentManager,
24
+ ILatexTypesetter,
25
+ ISanitizer,
26
+ IMarkdownParser,
27
+ ITranslator
28
+ ],
24
29
  provides: IRenderMimeRegistry,
25
30
  activate: activate,
26
31
  autoStart: true
@@ -32,8 +37,8 @@ export default plugin;
32
37
  /**
33
38
  * Activate the rendermine plugin.
34
39
  */
35
- function activate(app, translator, docManager, latexTypesetter, sanitizer) {
36
- const trans = translator.load('jupyterlab');
40
+ function activate(app, docManager, latexTypesetter, sanitizer, markdownParser, translator) {
41
+ const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
37
42
  if (docManager) {
38
43
  app.commands.addCommand(CommandIDs.handleLink, {
39
44
  label: trans.__('Handle Local Link'),
@@ -77,7 +82,8 @@ function activate(app, translator, docManager, latexTypesetter, sanitizer) {
77
82
  }
78
83
  },
79
84
  latexTypesetter: latexTypesetter !== null && latexTypesetter !== void 0 ? latexTypesetter : undefined,
80
- translator: translator,
85
+ markdownParser: markdownParser !== null && markdownParser !== void 0 ? markdownParser : undefined,
86
+ translator: translator !== null && translator !== void 0 ? translator : undefined,
81
87
  sanitizer: sanitizer !== null && sanitizer !== void 0 ? sanitizer : undefined
82
88
  });
83
89
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/rendermime-extension",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.20",
4
4
  "description": "A rendermime extension for JupyterLab",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -24,7 +24,8 @@
24
24
  "files": [
25
25
  "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
26
26
  "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
27
- "style/index.js"
27
+ "style/index.js",
28
+ "src/**/*.{ts,tsx}"
28
29
  ],
29
30
  "scripts": {
30
31
  "build": "tsc -b",
@@ -33,16 +34,16 @@
33
34
  "watch": "tsc -b --watch"
34
35
  },
35
36
  "dependencies": {
36
- "@jupyterlab/application": "^4.0.0-alpha.2",
37
- "@jupyterlab/apputils": "^4.0.0-alpha.2",
38
- "@jupyterlab/docmanager": "^4.0.0-alpha.2",
39
- "@jupyterlab/rendermime": "^4.0.0-alpha.2",
40
- "@jupyterlab/translation": "^4.0.0-alpha.2"
37
+ "@jupyterlab/application": "^4.0.0-alpha.20",
38
+ "@jupyterlab/apputils": "^4.0.0-alpha.20",
39
+ "@jupyterlab/docmanager": "^4.0.0-alpha.20",
40
+ "@jupyterlab/rendermime": "^4.0.0-alpha.20",
41
+ "@jupyterlab/translation": "^4.0.0-alpha.20"
41
42
  },
42
43
  "devDependencies": {
43
44
  "rimraf": "~3.0.0",
44
- "typedoc": "~0.21.2",
45
- "typescript": "~4.5.2"
45
+ "typedoc": "~0.23.25",
46
+ "typescript": "~5.0.0-beta"
46
47
  },
47
48
  "publishConfig": {
48
49
  "access": "public"
package/src/index.ts ADDED
@@ -0,0 +1,112 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
5
+ /**
6
+ * @packageDocumentation
7
+ * @module rendermime-extension
8
+ */
9
+
10
+ import {
11
+ JupyterFrontEnd,
12
+ JupyterFrontEndPlugin
13
+ } from '@jupyterlab/application';
14
+ import { ISanitizer } from '@jupyterlab/apputils';
15
+ import { IDocumentManager } from '@jupyterlab/docmanager';
16
+ import {
17
+ ILatexTypesetter,
18
+ IMarkdownParser,
19
+ IRenderMimeRegistry,
20
+ RenderMimeRegistry,
21
+ standardRendererFactories
22
+ } from '@jupyterlab/rendermime';
23
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
24
+
25
+ namespace CommandIDs {
26
+ export const handleLink = 'rendermime:handle-local-link';
27
+ }
28
+
29
+ /**
30
+ * A plugin providing a rendermime registry.
31
+ */
32
+ const plugin: JupyterFrontEndPlugin<IRenderMimeRegistry> = {
33
+ id: '@jupyterlab/rendermime-extension:plugin',
34
+ optional: [
35
+ IDocumentManager,
36
+ ILatexTypesetter,
37
+ ISanitizer,
38
+ IMarkdownParser,
39
+ ITranslator
40
+ ],
41
+ provides: IRenderMimeRegistry,
42
+ activate: activate,
43
+ autoStart: true
44
+ };
45
+
46
+ /**
47
+ * Export the plugin as default.
48
+ */
49
+ export default plugin;
50
+
51
+ /**
52
+ * Activate the rendermine plugin.
53
+ */
54
+ function activate(
55
+ app: JupyterFrontEnd,
56
+ docManager: IDocumentManager | null,
57
+ latexTypesetter: ILatexTypesetter | null,
58
+ sanitizer: ISanitizer | null,
59
+ markdownParser: IMarkdownParser | null,
60
+ translator: ITranslator | null
61
+ ): RenderMimeRegistry {
62
+ const trans = (translator ?? nullTranslator).load('jupyterlab');
63
+ if (docManager) {
64
+ app.commands.addCommand(CommandIDs.handleLink, {
65
+ label: trans.__('Handle Local Link'),
66
+ execute: args => {
67
+ const path = args['path'] as string | undefined | null;
68
+ const id = args['id'] as string | undefined | null;
69
+ if (!path) {
70
+ return;
71
+ }
72
+ // First check if the path exists on the server.
73
+ return docManager.services.contents
74
+ .get(path, { content: false })
75
+ .then(() => {
76
+ // Open the link with the default rendered widget factory,
77
+ // if applicable.
78
+ const factory =
79
+ docManager.registry.defaultRenderedWidgetFactory(path);
80
+ const widget = docManager.openOrReveal(path, factory.name);
81
+
82
+ // Handle the hash if one has been provided.
83
+ if (widget && id) {
84
+ widget.setFragment(id);
85
+ }
86
+ });
87
+ }
88
+ });
89
+ }
90
+ return new RenderMimeRegistry({
91
+ initialFactories: standardRendererFactories,
92
+ linkHandler: !docManager
93
+ ? undefined
94
+ : {
95
+ handleLink: (node: HTMLElement, path: string, id?: string) => {
96
+ // If node has the download attribute explicitly set, use the
97
+ // default browser downloading behavior.
98
+ if (node.tagName === 'A' && node.hasAttribute('download')) {
99
+ return;
100
+ }
101
+ app.commandLinker.connectNode(node, CommandIDs.handleLink, {
102
+ path,
103
+ id
104
+ });
105
+ }
106
+ },
107
+ latexTypesetter: latexTypesetter ?? undefined,
108
+ markdownParser: markdownParser ?? undefined,
109
+ translator: translator ?? undefined,
110
+ sanitizer: sanitizer ?? undefined
111
+ });
112
+ }