-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
install requirements on page open #7
Comments
Hi @erohmensing! Not sure if you are still interested in this, but I agree a background load is a generally useful idea. I couldn't find any "built-in" parameters, but one (imperfect) solution could be to add a function like this to your HTML file. It's basically Juniper's function startKernel(juniperInstance) {
juniperInstance._event('requesting-kernel');
if (juniperInstance._kernel && juniperInstance.isolateCells) {
juniperInstance._kernel.restart();
}
new Promise((resolve, reject) =>
juniperInstance.getKernel().then(resolve).catch(reject))
.then(kernel => {
juniperInstance._kernel = kernel;
})
.catch(() => {
juniperInstance._event('failed');
juniperInstance._kernel = null;
if (juniperInstance.useStorage && typeof window !== 'undefined') {
juniperInstance._fromStorage = false;
window.localStorage.removeItem(juniperInstance.storageKey);
}
})
} Then you can initialize your Juniper and start its kernel whenever you want (e.g. on document.ready): $( document ).ready(function() {
const juniper = new Juniper({
your_juniper_settings
});
startKernel(juniper);
}); N.B. you might also wish to dispatch some messages to the console in order to convince yourself that anything is actually happening. In case you want to trigger something when your kernel is ready to go: document.addEventListener('juniper', event => {
if (event.detail.status == 'ready') {
// You're all set! Do whatever you want here.
}
}
}) Hope this helps! |
Much appreciated! Thanks! |
@ines thanks so much for this repo, it's really helpful for interactive documentation!
Is it possible to specify a parameter that will launch the container and download the requirements on page open, instead of when the runnable is first clicked? Our requirements take some time to install, so if we could do this in the background while they're reading content instead of making users wait ~a minute for everything to start up when they want to run the code, that would be ideal.
If its not possible, consider it a feature request 🙂
The text was updated successfully, but these errors were encountered: