浏览代码

Merge pull request #1898 from blink1073/about-plugin

Refactor pure content extensions
Afshin Darian 8 年之前
父节点
当前提交
6f407d08cf

+ 5 - 5
examples/lab/index.js

@@ -11,7 +11,7 @@ require('jupyterlab/lib/default-theme/index.css');
 
 
 var mods = [
-  require('jupyterlab/lib/about/plugin'),
+  require('jupyterlab/lib/about-extension'),
   require('jupyterlab/lib/application/plugin'),
   require('jupyterlab/lib/codemirror/plugin'),
   require('jupyterlab/lib/commandlinker/plugin'),
@@ -22,12 +22,12 @@ var mods = [
   require('jupyterlab/lib/docmanager/plugin'),
   require('jupyterlab/lib/docregistry/plugin'),
   require('jupyterlab/lib/editorwidget/plugin'),
-  require('jupyterlab/lib/faq/plugin'),
+  require('jupyterlab/lib/faq-extension'),
   require('jupyterlab/lib/filebrowser/plugin'),
-  require('jupyterlab/lib/help/plugin'),
+  require('jupyterlab/lib/help-extension'),
   require('jupyterlab/lib/imagewidget/plugin'),
   require('jupyterlab/lib/inspector/plugin'),
-  require('jupyterlab/lib/landing/plugin'),
+  require('jupyterlab/lib/landing-extension'),
   require('jupyterlab/lib/launcher/plugin'),
   require('jupyterlab/lib/instancerestorer/plugin'),
   require('jupyterlab/lib/mainmenu/plugin'),
@@ -36,7 +36,7 @@ var mods = [
   require('jupyterlab/lib/rendermime/plugin'),
   require('jupyterlab/lib/running/plugin'),
   require('jupyterlab/lib/services/plugin'),
-  require('jupyterlab/lib/shortcuts/plugin'),
+  require('jupyterlab/lib/shortcuts-extension'),
   require('jupyterlab/lib/statedb/plugin'),
   require('jupyterlab/lib/terminal/plugin'),
   require('jupyterlab/lib/tooltip/plugin')

+ 5 - 5
jupyterlab/src/main.ts

@@ -18,7 +18,7 @@ polyfill();
 
 /* tslint:disable */
 const mods: JupyterLab.IPluginModule[] = [
-  require('../../lib/about/plugin'),
+  require('../../lib/about-extension'),
   require('../../lib/application/plugin'),
   require('../../lib/codemirror/plugin'),
   require('../../lib/commandlinker/plugin'),
@@ -29,12 +29,12 @@ const mods: JupyterLab.IPluginModule[] = [
   require('../../lib/docmanager/plugin'),
   require('../../lib/docregistry/plugin'),
   require('../../lib/editorwidget/plugin'),
-  require('../../lib/faq/plugin'),
+  require('../../lib/faq-extension'),
   require('../../lib/filebrowser/plugin'),
-  require('../../lib/help/plugin'),
+  require('../../lib/help-extension'),
   require('../../lib/imagewidget/plugin'),
   require('../../lib/inspector/plugin'),
-  require('../../lib/landing/plugin'),
+  require('../../lib/landing-extension'),
   require('../../lib/launcher/plugin'),
   require('../../lib/instancerestorer/plugin'),
   require('../../lib/mainmenu/plugin'),
@@ -43,7 +43,7 @@ const mods: JupyterLab.IPluginModule[] = [
   require('../../lib/rendermime/plugin'),
   require('../../lib/running/plugin'),
   require('../../lib/services/plugin'),
-  require('../../lib/shortcuts/plugin'),
+  require('../../lib/shortcuts-extension'),
   require('../../lib/statedb/plugin'),
   require('../../lib/terminal/plugin'),
   require('../../lib/tooltip/plugin')

+ 0 - 0
src/about/images/command.svg → src/about-extension/images/command.svg


+ 0 - 0
src/about/images/file-browser.svg → src/about-extension/images/file-browser.svg


+ 0 - 0
src/about/images/jl-About-cp.gif → src/about-extension/images/jl-About-cp.gif


+ 0 - 0
src/about/images/jl-About-fb.gif → src/about-extension/images/jl-About-fb.gif


+ 0 - 0
src/about/images/jl-About-hero-nb.svg → src/about-extension/images/jl-About-hero-nb.svg


+ 0 - 0
src/about/images/jl-About-ma.gif → src/about-extension/images/jl-About-ma.gif


+ 0 - 0
src/about/images/jl-About-nb.svg → src/about-extension/images/jl-About-nb.svg


+ 0 - 0
src/about/images/logo.svg → src/about-extension/images/logo.svg


+ 0 - 0
src/about/images/main-area.svg → src/about-extension/images/main-area.svg


+ 0 - 0
src/about/images/next-arrow-sprite.svg → src/about-extension/images/next-arrow-sprite.svg


+ 0 - 0
src/about/images/next-arrow.svg → src/about-extension/images/next-arrow.svg


+ 0 - 0
src/about/index.css → src/about-extension/index.css


+ 12 - 2
src/about/plugin.ts → src/about-extension/index.ts

@@ -18,8 +18,18 @@ import {
 } from '../instancerestorer';
 
 import {
-  AboutModel, AboutWidget, CommandIDs
-} from './';
+  AboutModel, AboutWidget
+} from './widget';
+
+
+/**
+ * The command IDs used by the about plugin.
+ */
+namespace CommandIDs {
+  export
+  const open = 'about-jupyterlab:open';
+}
+
 
 /**
  * The about page extension.

+ 0 - 10
src/about/index.ts → src/about-extension/widget.ts

@@ -220,16 +220,6 @@ const NOTEBOOK_DESC = [
 ];
 
 
-/**
- * The command IDs used by the about plugin.
- */
-export
-namespace CommandIDs {
-  export
-  const open = 'about-jupyterlab:open';
-}
-
-
 /**
  * AboutModel holds data which the AboutWidgetwill render.
  */

+ 4 - 4
src/default-theme/index.css

@@ -18,7 +18,7 @@
 
 
 /* Individual plugins */
-@import '../about/index.css';
+@import '../about-extension/index.css';
 @import '../cells/index.css';
 @import '../codemirror/index.css';
 @import '../commandpalette/index.css';
@@ -26,12 +26,12 @@
 @import '../console/index.css';
 @import '../csvwidget/index.css';
 @import '../editorwidget/index.css';
-@import '../faq/index.css';
+@import '../faq-extension/index.css';
 @import '../filebrowser/index.css';
-@import '../help/index.css';
+@import '../help-extension/index.css';
 @import '../imagewidget/index.css';
 @import '../inspector/index.css';
-@import '../landing/index.css';
+@import '../landing-extension/index.css';
 @import '../launcher/index.css';
 @import '../markdownwidget/index.css';
 @import '../notebook/index.css';

+ 0 - 0
src/faq/index.css → src/faq-extension/index.css


+ 11 - 2
src/faq/plugin.ts → src/faq-extension/index.ts

@@ -18,8 +18,17 @@ import {
 } from '../instancerestorer';
 
 import {
-  FaqModel, FaqWidget, CommandIDs
-} from './';
+  FaqModel, FaqWidget
+} from './widget';
+
+
+/**
+ * The command IDs used by the FAQ plugin.
+ */
+namespace CommandIDs {
+  export
+  const open: string = 'faq-jupyterlab:open';
+};
 
 
 /**

+ 1 - 5
src/faq/widget.ts → src/faq-extension/widget.ts

@@ -9,10 +9,6 @@ import {
   h, VirtualNode
 } from '@phosphor/virtualdom';
 
-import {
-  CommandIDs as AboutCommandIDs
-} from '../about';
-
 import {
   ICommandLinker
 } from '../commandlinker';
@@ -268,7 +264,7 @@ class FaqWidget extends VDomWidget<FaqModel> {
           'Check out the JupyterLab tour ',
           h.a({
             className: ANCHOR_CLASS,
-            dataset: linker.populateVNodeDataset(AboutCommandIDs.open, null)
+            dataset: linker.populateVNodeDataset('about-jupyterlab:open', null)
           }, 'here')
         )
       ),

+ 0 - 14
src/faq/index.ts

@@ -1,14 +0,0 @@
-// Copyright (c) Jupyter Development Team.
-// Distributed under the terms of the Modified BSD License.
-
-export * from './widget';
-
-
-/**
- * The command IDs used by the FAQ plugin.
- */
-export
-namespace CommandIDs {
-  export
-  const open: string = 'faq-jupyterlab:open';
-};

+ 0 - 0
src/help/index.css → src/help-extension/index.css


+ 33 - 14
src/help/plugin.ts → src/help-extension/index.ts

@@ -13,10 +13,6 @@ import {
   Menu
 } from '@phosphor/widgets';
 
-import {
-  CommandIDs as AboutCommandIDs
-} from '../about';
-
 import {
   InstanceTracker, JupyterLab, JupyterLabPlugin
 } from '../application';
@@ -26,12 +22,12 @@ import {
 } from '../apputils';
 
 import {
-  ICommandPalette
-} from '../commandpalette';
+  URLExt
+} from '../coreutils';
 
 import {
-  CommandIDs as FAQCommandIDs
-} from '../faq';
+  ICommandPalette
+} from '../commandpalette';
 
 import {
   IInstanceRestorer
@@ -45,9 +41,32 @@ import {
   CommandIDs as StateDBCommandIDs
 } from '../statedb';
 
-import {
-  CommandIDs
-} from './';
+
+/**
+ * The command IDs used by the help plugin.
+ */
+namespace CommandIDs {
+  export
+  const open: string = 'help-jupyterlab:open';
+
+  export
+  const activate: string = 'help-jupyterlab:activate';
+
+  export
+  const close: string = 'help-jupyterlab:close';
+
+  export
+  const show: string = 'help-jupyterlab:show';
+
+  export
+  const hide: string = 'help-jupyterlab:hide';
+
+  export
+  const toggle: string = 'help-jupyterlab:toggle';
+
+  export
+  const launchClassic: string = 'classic-notebook:launchClassic';
+};
 
 
 /**
@@ -191,8 +210,8 @@ function activate(app: JupyterLab, mainMenu: IMainMenu, palette: ICommandPalette
     let menu = new Menu({ commands });
     menu.title.label = category;
 
-    menu.addItem({ command: AboutCommandIDs.open });
-    menu.addItem({ command: FAQCommandIDs.open });
+    menu.addItem({ command: 'about-jupyterlab:open' });
+    menu.addItem({ command: 'faq-jupyterlab:open' });
     menu.addItem({ command: CommandIDs.launchClassic });
     menu.addItem({ type: 'separator' });
     RESOURCES.forEach(args => { menu.addItem({ args, command }); });
@@ -209,7 +228,7 @@ function activate(app: JupyterLab, mainMenu: IMainMenu, palette: ICommandPalette
       const text = args['text'] as string;
 
       // If help resource will generate a mixed content error, load externally.
-      if (LAB_IS_SECURE && utils.urlParse(url).protocol !== 'https:') {
+      if (LAB_IS_SECURE && URLExt.parse(url).protocol !== 'https:') {
         window.open(url);
         return;
       }

+ 0 - 30
src/help/index.ts

@@ -1,30 +0,0 @@
-// Copyright (c) Jupyter Development Team.
-// Distributed under the terms of the Modified BSD License.
-
-
-/**
- * The command IDs used by the help plugin.
- */
-export
-namespace CommandIDs {
-  export
-  const open: string = 'help-jupyterlab:open';
-
-  export
-  const activate: string = 'help-jupyterlab:activate';
-
-  export
-  const close: string = 'help-jupyterlab:close';
-
-  export
-  const show: string = 'help-jupyterlab:show';
-
-  export
-  const hide: string = 'help-jupyterlab:hide';
-
-  export
-  const toggle: string = 'help-jupyterlab:toggle';
-
-  export
-  const launchClassic: string = 'classic-notebook:launchClassic';
-};

+ 0 - 0
src/landing/index.css → src/landing-extension/index.css


+ 12 - 2
src/landing/plugin.ts → src/landing-extension/index.ts

@@ -22,8 +22,18 @@ import {
 } from '../services';
 
 import {
-  CommandIDs, LandingModel, LandingWidget
-} from './';
+  LandingModel, LandingWidget
+} from './widget';
+
+
+/**
+ * The command IDs used by the landing plugin.
+ */
+namespace CommandIDs {
+  export
+  const open: string = 'landing-jupyterlab:open';
+};
+
 
 /**
  * The class name added to the landing plugin.

+ 1 - 5
src/landing/widget.ts → src/landing-extension/widget.ts

@@ -9,10 +9,6 @@ import {
   h, VirtualNode
 } from '@phosphor/virtualdom';
 
-import {
-  CommandIDs as AboutCommandIDs
-} from '../about';
-
 import {
   JupyterLab
 } from '../application';
@@ -239,7 +235,7 @@ class LandingWidget extends VDomWidget<LandingModel> {
     let tour =
     h.span({className: TOUR_ICON_CLASS,
       onclick: () => {
-        this._app.commands.execute(AboutCommandIDs.open, void 0);
+        this._app.commands.execute('about-jupyterlab:open', void 0);
       }}
     );
     let header = h.span({

+ 0 - 14
src/landing/index.ts

@@ -1,14 +0,0 @@
-// Copyright (c) Jupyter Development Team.
-// Distributed under the terms of the Modified BSD License.
-
-export * from './widget';
-
-
-/**
- * The command IDs used by the landing plugin.
- */
-export
-namespace CommandIDs {
-  export
-  const open: string = 'landing-jupyterlab:open';
-};

+ 1 - 5
src/shortcuts/plugin.ts → src/shortcuts-extension/index.ts

@@ -25,10 +25,6 @@ import {
   CommandIDs as FileBrowserCommandIDs
 } from '../filebrowser';
 
-import {
-  CommandIDs as HelpCommandIDs
-} from '../help';
-
 import {
   CommandIDs as ImageWidgetCommandIDs
 } from '../imagewidget';
@@ -146,7 +142,7 @@ const SHORTCUTS = [
     keys: ['Ctrl Shift Q']
   },
   {
-    command: HelpCommandIDs.toggle,
+    command: 'help-jupyterlab:toggle',
     selector: 'body',
     keys: ['Accel Shift H']
   },