1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-28 01:00:13 +02:00

support public creations

This commit is contained in:
Kushagra Gour
2024-02-28 09:48:46 +05:30
parent 7bf0266f12
commit 820bcd41cd
7 changed files with 56 additions and 56 deletions

View File

@@ -3,58 +3,59 @@
import CodeMirror from 'codemirror';
// Make CodeMirror available globally so the modes' can register themselves.
window.CodeMirror = CodeMirror
window.CodeMirror = CodeMirror;
if (!CodeMirror.modeURL) CodeMirror.modeURL = 'lib/codemirror/mode/%N/%N.js';
if (!CodeMirror.modeURL) CodeMirror.modeURL = '/lib/codemirror/mode/%N/%N.js';
var loading = {}
var loading = {};
function splitCallback(cont, n) {
var countDown = n
var countDown = n;
return function () {
if (--countDown === 0) cont()
}
if (--countDown === 0) cont();
};
}
function ensureDeps(mode, cont) {
var deps = CodeMirror.modes[mode].dependencies
if (!deps) return cont()
var missing = []
var deps = CodeMirror.modes[mode].dependencies;
if (!deps) return cont();
var missing = [];
for (var i = 0; i < deps.length; ++i) {
if (!CodeMirror.modes.hasOwnProperty(deps[i])) missing.push(deps[i])
if (!CodeMirror.modes.hasOwnProperty(deps[i])) missing.push(deps[i]);
}
if (!missing.length) return cont()
var split = splitCallback(cont, missing.length)
for (i = 0; i < missing.length; ++i) CodeMirror.requireMode(missing[i], split)
if (!missing.length) return cont();
var split = splitCallback(cont, missing.length);
for (i = 0; i < missing.length; ++i)
CodeMirror.requireMode(missing[i], split);
}
CodeMirror.requireMode = function (mode, cont) {
if (typeof mode !== 'string') mode = mode.name
if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont)
if (loading.hasOwnProperty(mode)) return loading[mode].push(cont)
if (typeof mode !== 'string') mode = mode.name;
if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont);
if (loading.hasOwnProperty(mode)) return loading[mode].push(cont);
var file = CodeMirror.modeURL.replace(/%N/g, mode)
var file = CodeMirror.modeURL.replace(/%N/g, mode);
var script = document.createElement('script')
script.src = file
var others = document.getElementsByTagName('script')[0]
var list = loading[mode] = [cont]
var script = document.createElement('script');
script.src = file;
var others = document.getElementsByTagName('script')[0];
var list = (loading[mode] = [cont]);
CodeMirror.on(script, 'load', function () {
ensureDeps(mode, function () {
for (var i = 0; i < list.length; ++i) list[i]()
})
})
for (var i = 0; i < list.length; ++i) list[i]();
});
});
others.parentNode.insertBefore(script, others)
}
others.parentNode.insertBefore(script, others);
};
CodeMirror.autoLoadMode = function (instance, mode) {
if (CodeMirror.modes.hasOwnProperty(mode)) return
if (CodeMirror.modes.hasOwnProperty(mode)) return;
CodeMirror.requireMode(mode, function () {
instance.setOption('mode', instance.getOption('mode'))
})
}
instance.setOption('mode', instance.getOption('mode'));
});
};
export default CodeMirror
export default CodeMirror;

View File

@@ -44,18 +44,18 @@ window.MonacoEnvironment = {
getWorkerUrl(moduleId, label) {
switch (label) {
case 'html':
return 'lib/monaco/workers/html.worker.bundle.js';
return '/lib/monaco/workers/html.worker.bundle.js';
case 'json':
return 'lib/monaco/workers/json.worker.bundle.js';
return '/lib/monaco/workers/json.worker.bundle.js';
case 'css':
case 'scss':
case 'less':
return 'lib/monaco/workers/css.worker.bundle.js';
return '/lib/monaco/workers/css.worker.bundle.js';
case 'typescript':
case 'javascript':
return 'lib/monaco/workers/ts.worker.bundle.js';
return '/lib/monaco/workers/ts.worker.bundle.js';
default:
return 'lib/monaco/workers/editor.worker.bundle.js';
return '/lib/monaco/workers/editor.worker.bundle.js';
}
}
};
@@ -235,9 +235,9 @@ export default class CodeEditor extends Component {
if (this.props.type === 'monaco') {
if (!monacoDepsDeferred) {
monacoDepsDeferred = deferred();
loadCss({ url: 'lib/monaco/monaco.css', id: 'monaco-css' });
loadCss({ url: '/lib/monaco/monaco.css', id: 'monaco-css' });
import(
/* webpackChunkName: "monaco" */ '../lib/monaco/monaco.bundle.js'
/* webpackChunkName: "monaco" */ '/lib/monaco/monaco.bundle.js'
).then(() => {
monacoDepsDeferred.resolve();
});

View File

@@ -341,7 +341,7 @@ export default class ContentWrap extends Component {
// Replace correct css file in LINK tags's href
if (prefs.editorTheme) {
window.editorThemeLinkTag.href = `lib/codemirror/theme/${prefs.editorTheme}.css`;
window.editorThemeLinkTag.href = `/lib/codemirror/theme/${prefs.editorTheme}.css`;
}
window.fontStyleTag.textContent =

View File

@@ -54,12 +54,10 @@ export default class ContentWrapFiles extends Component {
// `clearConsole` is on window because it gets called from inside iframe also.
window.clearConsole = this.clearConsole.bind(this);
this.consoleHeaderDblClickHandler = this.consoleHeaderDblClickHandler.bind(
this
);
this.clearConsoleBtnClickHandler = this.clearConsoleBtnClickHandler.bind(
this
);
this.consoleHeaderDblClickHandler =
this.consoleHeaderDblClickHandler.bind(this);
this.clearConsoleBtnClickHandler =
this.clearConsoleBtnClickHandler.bind(this);
this.toggleConsole = this.toggleConsole.bind(this);
this.evalConsoleExpr = this.evalConsoleExpr.bind(this);
}
@@ -259,7 +257,7 @@ export default class ContentWrapFiles extends Component {
obj[file.path] =
'<script src="' +
(chrome.extension
? chrome.extension.getURL('lib/screenlog.js')
? chrome.extension.getURL('/lib/screenlog.js')
: `${location.origin}${
window.DEBUG ? '' : BASE_PATH
}/lib/screenlog.js`) +
@@ -360,7 +358,8 @@ export default class ContentWrapFiles extends Component {
window.editorThemeLinkTag.href = `lib/codemirror/theme/${prefs.editorTheme}.css`;
}
window.fontStyleTag.textContent = window.fontStyleTemplate.textContent.replace(
window.fontStyleTag.textContent =
window.fontStyleTemplate.textContent.replace(
/fontname/g,
(prefs.editorFont === 'other'
? prefs.editorCustomFont

View File

@@ -235,7 +235,7 @@ export default function SavedItemPane({
</h2>
<img
style="max-width: 80%; opacity:0.4"
src="assets/empty.svg"
src="/assets/empty.svg"
/>
</div>
) : null}

View File

@@ -36,7 +36,7 @@
<link
rel="stylesheet"
id="editorThemeLinkTag"
href="lib/codemirror/theme/monokai.css"
href="/lib/codemirror/theme/monokai.css"
/>
<style id="fontStyleTemplate" type="template">

View File

@@ -512,7 +512,7 @@ export function prettify({ file, content, type }) {
* Loaded the code comiler based on the mode selected
*/
export function handleModeRequirements(mode) {
const baseTranspilerPath = 'lib/transpilers';
const baseTranspilerPath = '/lib/transpilers';
// Exit if already loaded
var d = deferred();
if (modes[mode].hasLoaded) {